zoukankan      html  css  js  c++  java
  • HTTP Header 分析

    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值
    
    
    
    
  • 相关阅读:
    changing a pointer rather than erasing memory cells
    验证码识别 edge enhancement 轮廓增强 region finding 区域查找
    Manipulating Data Structures
    passing parameters by value is inefficient when the parameters represent large blocks of data
    Aliasing 走样
    Artificial Intelligence Research Methodologies 人工智能研究方法
    Thread safety
    include pointers as a primitive data type
    flat file
    functional cohesion
  • 原文地址:https://www.cnblogs.com/rollrock/p/2422852.html
Copyright © 2011-2022 走看看