zoukankan      html  css  js  c++  java
  • 深入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,他们的作用是一样的,但是后者的优先级较高

  • 相关阅读:
    Extjs常用的控件
    JasperReport导出
    spring配置连接池
    extjs中xtype类型

    凭什么!
    用心去做,多动脑思考
    闲着无事弄一下荒废已久的博客。。。

    视频下载工具 3.0
  • 原文地址:https://www.cnblogs.com/QianYue111/p/12952934.html
Copyright © 2011-2022 走看看