第15章 实体和编码
来源:互联网 发布:2016怎么做好淘宝 编辑:程序博客网 时间:2024/06/05 05:35
1 报文实体:
1 实体首部+实体主体,两部分之间采用CRLF分隔
2 基本实体首部字段:
- Content-Type
- Content-Length
- Content-Language
- Content-Encoding
- Content-Location
- Content-Range 范围请求时用
- Content-MD5
- Last-Modified
- Expires
- Allow
- ETag
- Cache-Control
2 检测截尾
1 Content-Length来检测报文截尾;UA在接收且检测到无效长度时通知用户
2 关闭连接的办法对于持久连接并不适用:分块编码 -> 零字节块结尾
3 规则:
- 如果报文不允许带主体,则忽略Content-Length,如HEAD相应
- 如果报文有Transfer-Encoding首部,则由“零字节块”结尾
- 如果有Content-Length而没有Transfer-Encoding,以Content-Length为准;如果有Content-Length且有Transfer-Encoding,以Transfer-Encoding为准
- 如果使用了multipart/byteranges,且无Content-Length,则报文每个部分单独说明自己长度
- 如果以上规则都不匹配,则已关闭连接表示
3 编码
Content-MD5,是在对内容进行了内容编码之后,传输编码之前计算的:
内容编码-> MD5计算 ->
3.1 内容编码:作用于实体
- gzip 通常效率最高
- compress
- deflate
- identity
3.2 传输编码:作用于整个报文
只有一种类型:分开编码 chunk
拖挂:将报文开始传输时不缺定的首部,放在最后一个分块(零字节块)之后传输
非HTTP1.1的服务器收到经传输编码的报文,返回201 Unimplemented状态码
4 过期
4.1 Expires首部
标识过期时间,使用相对时间:文档离开Server之后算起的总计时间
4.2 条件请求
验证码分类:
- 弱验证码:比如大小/最后修改时间(1s内可能修改多次)
- 强验证码:ETag/MD5
5 范围请求:断点续传!
Range:bytes=4000-
表示已经收到4000字节,从此后开始传输
6 差异编码
If-Not-Match ETag
差异生成器
- 第15章 实体和编码
- 第15章 实体和编码
- HTTP实体和编码
- 29. 实体和编码
- 30. 实体和编码(2)
- 前端学HTTP之实体和编码
- 前端学HTTP之实体和编码
- hibernate 6 映射集合和实体关联 | hibernate 实战(第二版) 第6章映射集合和实体关联 | 笔记
- 【HTTP权威指南】笔记之四,实体、编码和国际化
- Http协议(3)—HTTP实体和编码
- 《HTTP权威指南》读书笔记(6)-实体和编码
- HTTP系列(六):报文实体和编码
- 第2章 实体图书馆、数字图书馆
- HTML实体编码
- HTML实体字符编码
- HTML实体字符编码
- Java持久性API(JPA)第8讲——实体管理器和实体管理器工厂
- Base64 编码和性能,第 1 部分
- 利用sshfs实现Linux远程硬盘挂载
- 利用 Heritrix 构建特定站点爬虫
- HDU 1506 动态规划(DP) Largest Rectangle in a Histogram
- hdu 2159 FATE (dp)
- Android开发第1-3课:建立一个简单的用户交互界面
- 第15章 实体和编码
- Socket bind failed: [730048] 解决方法
- Android开发第1-4课:启动另一个Activity
- HDU 2544
- 程序员技术练级攻略
- 第16章 国际化
- 程序员发展应该尽早明白13个道理
- $(document).ready()方法和window.onload有什么区别?
- 小记第十届浙江省程序设计竞赛