HTTP 协议基础入门篇总结

HTTP 协议是互联网的基础协议,也是网页开发的必备知识,为了在前端性能优化方面有所深入,对 HTTP 协议有一定的概念和了解势在必行。本文通过对参考原文的仔细阅读之后,总结如下,如需进一步理解,请跳转至参考原文

什么是HTTP协议?

HTTP 协议是基于 TCP/IP 协议的应用层协议,它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使用80端口。

HTTP 1.1版本的特性

  • 持久连接:即TCP连接默认不关闭,可以被多个请求复用,不用声明Connection: keep-alive,目前,对于同一个域名,大多数浏览器允许同时建立6个持久连接。
  • 管道机制:即在同一个TCP连接里面,客户端可以同时发送多个请求。
  • Content-Length 字段:声明本次回应的数据长度,区分数据包是属于哪一个回应的。
  • 分块传输编码:产生一块数据,就发送一块,采用"流模式"(stream)取代"缓存模式"(buffer)。
  • 缺点:队头堵塞(Head-of-line blocking)

HTTP 2版本的特性

  • 二进制协议
  • 多工:双向的、实时的通信,避免了"队头堵塞"
  • 数据流:HTTP/2 将每个请求或回应的所有数据包,称为一个数据流(stream)。每个数据流都有一个独一无二的编号。
  • 头信息压缩
  • 服务器推送

参考原文作者:阮一峰 日期:2016年8月19日
参考原文链接:http://www.ruanyifeng.com/blog/2016/08/http.html

猜你喜欢

转载自www.cnblogs.com/chaoyueqi/p/9182723.html