• 图解Http阅读笔记(二)


    简单的HTTP协议

       HTTP是一种不保存状态,即无状态(stateless)协议。HTTP 协议自身不对请求和响应之间的通信状态进行保存。也就是说在 HTTP 这个级别,协议对于发送过的请求或响应都不做持久化处理。HTTP/1.1 虽然是无状态协议,但为了实现期望的保持状态功能,于是引入了Cookie 技术。有了Cookie 再用HTTP协议通信,就可以管理状态了。

       1.持久连接节省通信量

        使用浏览器浏览一个包含多张图片的HTML页面时,在发送请求访问 HTML 页面资源的同时,也会请求该HTML页面里包含的其他资源。因此,每次的请求都会造成无谓的 TCP 连接建立和断开,增加通信量的开销。

        第一种:为解决上述 TCP 连接的问题,HTTP/1.1 和一部分的 HTTP/1.0 想出了持久连接(HTTP Persi st en t Con n ect ion s,也称为 HTTP keep-alive 或HTTP connectionreuse)的方法。持久连接的特点是,只要任意一端没有明确提出断开连接,则保持 TCP 连接状态。

         持久连接的好处在于减少了 TCP 连接的重复建立和断开所造成的额外开销,减轻了服务器端的负载。另外,减少开销的那部分时间,使HTTP请求和响应能够更早地结束,这样Web页面的显示速度也就相应提高了。

      

        第二种:管线化

        持久连接使得多数请求以管线化(pipelining)方式发送成为可能。从前发送请求后需等待并收到响应,才能发送下一个请求。管线化技术

    出现后,不用等待响应亦可直接发送下一个请求。这样就能够做到同时并行发送多个请求,而不需要一个接一个地等待响应了。

      比如,当请求一个包含 10 张图片的 HTML W eb 页面,与挨个连接相比,用持久连接可以让请求更快结束。而管线化技术则比持久连接还

    要快。请求数越多,时间差就越明显

       

      

       2.Cookie的状态管理

         Cookie技术通过在请求和响应报文写入Cookie信息来控制客户端的状态

         Cook ie 会根据从服务器端发送的响应报文内的一个叫做 Set-Cookie 的首部字段信息,通知客户端保存 Cookie。当下次客户端再往该服务器发送请求时,客户端会自动在请求报文中加入Cookie值后发送出去。

        

  • 相关阅读:
    leetcode 390. 消除游戏
    C12Test5 record
    IELTS Writing Task 1: two-chart answer
    rails work
    java 依赖注入
    Java1.7已经舍弃substr了
    在存储过程创建临时表,插入字段,更新字段
    在存储过程里创建临时表,往表中直接插入数据
    存储过程里分页的例子
    验证方法、自己写一个日期控件、
  • 原文地址:https://www.cnblogs.com/wenbuzhu/p/10156414.html
Copyright © 2020-2023  润新知