• 深入web请求过程


    B/S概述:

    带来了两方面的好处:客户端使用统一的浏览器;服务端基于统一的HTTP,采用无状态,短链接的通信方式;

    当输入一个网址时,首先通过DNS将其解析成一个IP地址,然后根据这个IP地址找到对应的服务器,并且向这个服务器发一个get请求,然后由这个服务器决定返回默认的数据资源给访问的用户。

    然而其中还有很多复杂的业务逻辑:

    服务器可能有多台,到底选择那一台来处理请求,这需要一个负载均衡设备来平均分配所有用户的请求

    还有存储的数据是存储在分布式缓存系统中还是一个静态文件中,或者是数据库中

    当数据返回到浏览器时,浏览器解析资源还会发现一些静态资源,这又会引发另外的HTTP请求

    但是不管网络架构如何变化,都必须遵守一些原则:所有资源统一用一个URL表示,必须基于http,数据展示必须在浏览器总进行

    如何不通过浏览器发起一个请求:httpclient还有Linux中的curl命令

    HTTP解析:

    header:请求头和响应头和状态码,查看header·可以使用谷歌,火狐自带的调试工具,或者HTTPWatch工具

     浏览器缓存机制:当我们浏览一个页面发现有异常时,我们通常考虑的是,是不是浏览器做了缓存。所以一般做法是Ctrl+F5重新请求一下这个页面。这是会在http header中增加一些新的header,告诉我们需要获取最新的数据而不是缓存。比如请求头:Pragma:no-cache和Cache-Control:no-cache,他们的作用是一样的,但是后者的优先级较高

  • 相关阅读:
    Ubuntu 上 hi3531 交叉编译环境 arm-hisiv100nptl-linux 建设过程
    计算机系统巡回赛的深入理解(三)机器级表示计划
    iOS设备定位
    NDK/JNI学习--进口hello-jniproject
    IP Camera 和 Web Camera 差分
    ORA-00020的思考
    SSL&TLS传输层加密协议实现图解--(重要)
    iOS 中可用的受信任根证书列表
    iOS 9 中可用的受信任根证书列表
    图解SSL/TLS协议
  • 原文地址:https://www.cnblogs.com/QianYue111/p/12952934.html
Copyright © 2020-2023  润新知