Accept-Encoding编辑

HTTP Header中Accept-Encoding 是浏览器发给服务器,声明浏览器支持的编码类型[1]
常见的有
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值

2编码类型编辑

GZIP最早由Jean-loup Gailly和Mark Adler创建,用于UNIX系统的文件压缩。我们在Linux中经常会用到后缀为.gz的文件,它们就是GZIP格式的。现今已经成为Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式。 HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术。大流量的WEB站点常常使用GZIP压缩技术来让用户感受更快的速度。这一般是指WWW服务器中安装的一个功能,当有人来访问这个服务器中的网站时,服务器中的这个功能就将网页内容压缩后传输到来访的电脑浏览器中显示出来.一般对纯文本内容可压缩到原大小的40%.这样传输就快了,效果就是你点击网址后会很快的显示出来.当然这也会增加服务器的负载. 一般服务器中都安装有这个功能模块的.
COMPRESS[3]
compress是一个相当古老的 unix 档案压缩指令,压缩后的档案会加上一个 .Z 延伸档名以区别未压缩的档案,压缩后的档案可以以 uncompress 解压。若要将数个档案压成一个压缩档,必须先将档案 tar 起来再压缩。由于 gzip 可以产生更理想的压缩比例,一般人多已改用 gzip 为档案压缩工具。

Accept-Encoding相关推荐

  1. 蚂蚁金服 java电话面_蚂蚁金服前端电话面试(一面)

    1. 自我介绍 2. 介绍项目相关:如何技术选型,遇到最大的问题,如何解决问题,哪个项目让我学到最多,印象最深刻之类的. 3. 性能优化有哪些原则措施,减少http请求为什么能提高性能?有没具体实践过 ...

  2. http 错误 404.0 - not found_python3从零学习-5.10.8、http.client—HTTP 协议客户端

    源代码: Lib/http/client.py 这个模块定义了实现 HTTP 和 HTTPS 协议客户端的类. 它通常不直接使用 - 模块 urllib.request 用它来处理使用 HTTP 和 ...

  3. Spring Boot有四大神器

    序 Spring Boot有四大神器,分别是auto-configuration.starters.cli.actuator,本文主要讲actuator.actuator是spring boot提供的 ...

  4. 提高 Web 站点性能的最佳实践

    原文地址:http://developer.yahoo.com/performance/rules.html 本文在尊重原文基础上,尽量翻译得通俗易懂一些. 本文内容 提高 Web 站点性能的最佳实践 ...

  5. python selenium爬虫需要账号和密码登陆的网页_如何使用selenium和requests组合实现登录页面...

    这篇文章主要介绍了如何使用selenium和requests组合实现登录页面,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.在这里seleniu ...

  6. vb combox获取选定index_Python-新闻评论获取

    本文为「大型网红记录片」python 文科数据分析系列. 首发于我的博客 https://willisfusu.github.io/post/jin-ri-tou-tiao-1/ 为什么有这篇文章 因 ...

  7. WebsSocket

    本篇阅读目录 一.Websocket原理(握手.解密.加密) 二.基于Python实现简单示例 回到顶部 一.Websocket原理(握手.解密.加密) WebSocket协议是基于TCP的一种新的协 ...

  8. C++socket编程(七):7.4 正则表达式分析用户请求

    1.在实际的开发中用户访问一个姐买你可能有自己的具体操作.我们可以用C++自己的regex类包含的正则表达式的方式处理用户的请求. 如下代码: #include <stdlib.h> #i ...

  9. 那些前端应该知道的HTTP知识

    前言 这篇文章本来是我一年前看<图解HTTP>做的笔记,但记完后放在文件夹的某个角落一直没管.前段时间撸项目练手的时候,在状态码上碰到了问题,因此又拿了出来翻了翻,同时又在原有的基础上做了 ...

  10. python综合程序设计——做一个可视化大屏

    目录标题 预览 一.实验目的 二.设备与环境 三.实验内容 四.实验结果及分析 1.实验运行过程及分析 2.运行结果 3.心得体会 源码领取 预览 一.实验目的 通过该实验把Python语言中基本知识 ...

最新文章

  1. 用Java中的HashSet写一个学生管理系统(添加、删除、修改、查询学生信息)
  2. Spark集群启动时worker节点启不起来
  3. 006_CSS类选择器
  4. ​GPLinker:基于GlobalPointer的实体关系联合抽取
  5. python太阳花绘制
  6. python爬虫02
  7. MATLAB gui handles 未定义 及 理解
  8. C语言中忽略scanf的价值,c语言的scanf接收到底是忽略空格还是不忽略呢?
  9. java day36【XML概念 、语法 、解析】
  10. Wiki你长的为何与众不同--对Wiki独创写作语法原因的思考
  11. 蓝牙电话之HFP-连接
  12. Es 模糊查询 match,wildcard
  13. 用中文日淘:“日亚”的近85万件商品进驻亚马逊中国
  14. 如何访问原来Vue2官网?
  15. html实现选择头像,HTML5实现上传头像图片大小选择(简单实现)
  16. Python中字符串截取
  17. kindeditor文本编辑器使用
  18. 【python学习】——为exe软件创建快捷方式;实现软件自启动
  19. 盘点国内外十大免费CDN网站加速服务
  20. 笔记本计算机拆开视频,Designer笔记本电脑的视频电路拆解

热门文章

  1. 移动端vant时间选择器_vue移动端组件库(vant)
  2. 职业学校计算机主要学什么条件,职业学校计算机教学计划
  3. sql出现列名无效的原因_学会SQL并不难,小白学习记录之二(简单查询)
  4. linux中模拟延时与丢包的实现
  5. 【C语言重点难点精讲】C语言预处理
  6. .h 与 .hpp 文件
  7. wifi弱口令检查(2)
  8. 树:求二叉树的高度和叶子结点数量
  9. X-Frame-Options 响应头
  10. 个人博客 V0.0.3 版本 ...