学习http1.1

来源:互联网 发布:新网域名赎回期 编辑:程序博客网 时间:2024/04/29 03:03

   这两天学习http协议,写下自己学到的东西

---关于message的长度

Http1.0
 当实体主体被包括在消息中,主体长度可以有两种方式确定。如果内容长度
(Content-Length)标题域存在,其字节值就是实体主体长度;否则,其主体长度由服务端
关闭连接时确定。

http1.1

 1.对response,如果不包含消息体(如1xx,204,304消息以及对HEAD请求的response),由第一个空行结束
 2.如果有Transfer-Encoding请求头域且值不是"identity",除非连接被关闭,则传输的长度由"chunked编码定义.
 3.如果有Content-Length域,它的值表示实体和传输长度.如果消息头中同时有
 Transfer-Encoding和Content-Length,则应该忽略Content-Length字段.
 4.如果消息使用"multipart/byteranges"媒体类型,而且长度不能由其它方式决定,那么由这种自定义边界的媒体类型
 确定传输的长度.但是除非直到接收方能够解析这种媒体类型,否则发送方不能使用这种方式.
 5.服务器断开连接.
  为和http1.0的应用兼容,htpp1.1的包含消息体的请求必须在请求头中有合法的content-length字段.
  如果有content-length字段,这个字段的值必须和消息体的八进制字符数相同.(这句好像翻译的不对)

---关于connection:keep-alive

从 http1.0开始支持保持浏览器和服务器的persistent连接.在http1.1中为默认的连接方式.是为了减少浏览器和服务器建立连接的消耗.

浏览器可以不等服务器返回其请求而连续发送请求.服务器的response与浏览器的reques顺序对应

 

原创粉丝点击