`
85977328
  • 浏览: 1870966 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

猫头哥的HTTP协议教程(二)报文

    博客分类:
  • http
 
阅读更多
HTTP报文结构
报文首部
空行(CR+LF)
报文主体

报文传输
压缩传输的内容
gzip:GUN zip
compress:unix系统的标准压缩
deflate:zlib
identity:不进行编码

分割发送的分块传输编码
在传输大容量数据是,通过把数据分割成多块,能够让浏览器逐步显示页面。通过把实体主体分块的功能成为分块传输编码(Chunked Transfer Coding)

多种数据的多部分对象集合
发送的一份报文主体内可含有多类型实体。
1)multipart/form-data:在WEB表单文件上传时使用。
使用boundary字符串来划分多部分对象集合指明的各类实体。在boundary字符串指定的各个实体的起始行之前插入“--”标记(例如 --ZADSFA,--aBdEDDENG ),而在多部分对象集合对应的字符串最后插入“--”标记(例如:--adfaA--)作为结束。
2)multipart/byteranges:状态码206,(Partial Content,部分内容)相应报文包含了多个范围的内容时使用。

获取部分内容的范围请求
首部中使用Range
例如 Range: bytes=5001-10000
响应如果支持:则返回首部包含
Content-Range:bytes 5001-10000/10000
也可以支持多重范围
Range:bytes=-3000,5000-7000
相应返回的状态码为:206 Partial Content

内容协商
对同一URL返回不同的语言内容,例如www.google.com可以返回中文页面,也可以返回英文页面。
对于www.baidu.com可以返回PC版,也可以返回移动版。
利用请求报文中的首部字段:包括
Accept
Accept-Charset
Accept-Encoding
Content-Language
User-Agent
来作为判断基准。
1)服务器驱动协商:参考首部字段
2)客户端驱动协商:javascript处理
3)通明协商
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics