[转]Accept-Encoding
原文地址:https://blog.csdn.net/sqzhao/article/details/49499471
HTTP Header中Accept-Encoding 是浏览器发给服务器,声明浏览器支持的编码类型的。
常见的有
Accept-Encoding: compress, gzip //支持compress 和gzip类型
Accept-Encoding: //默认是identity
Accept-Encoding: * //支持所有类型
Accept-Encoding: compress;q=0.5, gzip;q=1.0 //按顺序支持 gzip , compress
Accept-Encoding: gzip;q=1.0, identity; q=0.5, *;q=0 // 按顺序支持 gzip , identity
服务器返回的对应的类型编码header是 content-encoding
服务器处理accept-encoding的规则如下所示
1. 如果服务器可以返回定义在Accept-Encoding 中的任何一种Encoding类型, 那么处理成功(除非q的值等于0, 等于0代表不可接受)
2. * 代表任意一种Encoding类型 (除了在Accept-Encoding中显示定义的类型)
3.如果有多个Encoding同时匹配, 按照q值顺序排列
4. identity总是可被接受的encoding类型(除非显示的标记这个类型q=0) , 如果Accept-Encoding的值是空 那么只有identity是会被接受的类型
如果Accept-Encoding中的所有类型服务器都没发返回, 那么应该返回406错误给客户端
如果request中没有Accept-Encoding 那么服务器会假设所有的Encoding都是可以被接受的,
如果Accept-Encoding中有identity 那么应该优先返回identity (除非有q值的定义,或者你认为另外一种类型是更有意义的)
注意:
如果服务器不支持identity 并且浏览器没有发送Accept-Encoding,那么服务器应该倾向于使用HTTP1.0中的 "gzip" and "compress" , 服务器可能按照客户端类型 发送更适合的encoding类型
大部分HTTP1.0的客户端无法处理q值.并且有的服务器无论是否传递了Accept-Encoding,都会返回压缩数据,所以还是要对response的Content-Encoding进行
最新文章
- Excel中添加下拉框
- C语言中内存对齐
- mongoDB研究笔记:写关注
- Linux: vi 编辑器中文乱码
- T-SQL备忘(5):查看执行计划
- Android中Universal Image Loader开源框架的简单使用
- hdu1869六度分离(dijkstra)
- 解决全站ie6下PNG图片不透明问题只要几行代码
- MVC — 第 6 天
- [转]Jailbreak Detection Methods
- 简易控制中心,angular的简单使用
- seo从业者发展方向
- 关于shiro权限管理的一些总结
- js常见算法(一)
- php发送http put/patch/delete请求Demo
- C++版 - LeetCode 144. Binary Tree Preorder Traversal (二叉树先根序遍历,非递归)
- SQLSERVER查询数据库死锁的存储过程
- C# 填充Excel
- 牛客练习赛17 C 操作数(组合数+逆元)
- Algorithm——整数反转
热门文章
- [Poi] Build a Vue App with Poi
- 使用Hadoop ACL 控制訪问权限
- ALTERA器件中复位电路实现之-异步复位同步化
- lightoj--1008--Fibsieve`s Fantabulous Birthday(水题)
- Centos7 zabbix3.4.6的安装部署 (二)
- quartz-misfire 错失、补偿执行
- 超级硬件代理解决企业Web提速上网问题
- jython awt demo
- Huawei配置两台交换机堆叠示例
- Vue官方文档中的camelCased (驼峰式) 命名与 kebab-case