0
点赞
收藏
分享

微信扫一扫

HTTP知识点

奋斗De奶爸 2021-10-09 阅读 77
随笔

1991年:HTTP1.0 时期:每次客户端与服务器进行一次收发操作socket就会断开连接,所以每次请求多要经历TCp的三次握手和四次挥手。比较消耗资源

1997年:HTTP1.1 时期:请求头放入keep-alive ,保证socket连接一直存在,引入持久连接,保证socket可以进行长久的使用,tcp默认不关闭,可以被多个请求复用。

2015年:HTTP2.0 时期:OKHTTP支持2.0的协议,采用二进制而非文本格式,解析更高效,数据更紧凑,错误更少,服务器可以将响应主动推到客户端。

socket又称套接字,是对于tcp/ip的封装,是一个抽象层。

HTTP协议的报文格式:

(1)请求行 ----写了请求方法    URL  协议版本 

(2)请求头----存放配置信息

(3)请求体----

Http响应报文格式:

(1)响应行---

(2)响应头---包含content-length  可用于客户端收到响应后按长度接收数据,

(3)响应体---

面试点:假如响应头中不包含content-length,那么客户端时如何知道响应体的数据长度呢?

如果响应体中不包含content-length,那么会有Transfer-Encoding:chunked标识,这个标识的意义就是采用chunked编码将内容分块输出,

分块输出的话,相应的就要进行特殊接收处理。(像OKHTTP网络请求框架一样,一般内部会做Transfer-Encoding:chunked的判断)。

除了Transfer-Encoding:chunked以外,一般情况都是可以获取到content-length的。

举报

相关推荐

http相关知识点

Http协议的知识点

ibaits知识点

Less知识点

jquery知识点

Hadoop知识点

0 条评论