HTTP请求头Headers

请求头的参数GET方式(Firefox浏览器为例)

Accept	:text/html,application/xhtml+xm…plication/xml;q=0.9,*/*;q=0.8

Accept-Encoding	:gzip, deflate, br

Accept-Language	:zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

Connection	:keep-alive

Cookie	:uid=38oGHFwvZ6lk8xgsEHzIAg==; …b062ef19107df5d2e4=1548381300

Host	:home.firefoxchina.cn

User-Agent	:Mozilla/5.0 (Windows NT 10.0; …) Gecko/20100101 Firefox/64.0
  • Accept :请求头用来告知客户端可以处理的内容类型,这种内容类型用MIME类型来表示
Accept: text/html

Accept: image/*

Accept: text/html, application/xhtml+xml, application/xml;q=0.9, */*;q=0.8

指令

/
    单一精确的 MIME 类型, 例如text/html.
/*
    一类 MIME 类型, 但是没有指明子类。 image/* 可以用来指代 image/png, image/svg, image/gif 以及任何其他的图片类型。
*/*
    任意类型的 MIME 类型
;q= (q因子权重)
    值代表优先顺序,用相对质量价值表示,又称作权重。 
  • Accept-Charset : 请求头用来告知(服务器)客户端可以处理的字符集类型。
Accept-Charset: iso-8859-1

Accept-Charset: utf-8, iso-8859-1;q=0.5

Accept-Charset: utf-8, iso-8859-1;q=0.5, *;q=0.1

指令


    诸如 utf-8 或 iso-8859-15的字符集。
*
    在这个消息头中未提及的任意其他字符集;'*' 用来表示通配符。
;q= (q-factor weighting)
    值代表优先顺序,用相对质量价值表示,又称为权重。 
  • Accept-Encoding 会将客户端能够理解的内容编码方式——通常是某种压缩算法——进行通知。
Accept-Encoding: gzip

Accept-Encoding: gzip, compress, br

Accept-Encoding: br;q=1.0, gzip;q=0.8, *;q=0.1

指令

gzip
    表示采用 Lempel-Ziv coding (LZ77) 压缩算法,以及32位CRC校验的编码方式。
compress
    采用 Lempel-Ziv-Welch (LZW) 压缩算法。
deflate
    采用 zlib 结构和 deflate 压缩算法。
br
    表示采用 Brotli 算法的编码方式。
identity
    用于指代自身(例如:未经过压缩和修改)。除非特别指明,这个标记始终可以被接受。
*
    匹配其他任意未在该首部字段中列出的编码方式。假如该首部字段不存在的话,这个值是默认值。它并不代表任意算法都支持,而仅仅表示算法之间无优先次序。
;q= (qvalues weighting)
    值代表优先顺序,用相对质量价值 表示,又称为权重。 

  • Accept-Language请求头允许客户端声明它可以理解的自然语言,以及优先选择的区域方言。
Accept-Language: de

Accept-Language: de-CH

Accept-Language: en-US,en;q=0.5

指令


    用含有两到三个字符的字符串表示的语言码。

    完整的语言标签。除了语言本身之外,还会包含其他方面的信息,显示在中划线("-")后面。
    最常见的额外信息是国家或地区变种(如"en-US")或者表示所用的字母系统(如"sr-Lat")。
    其他变种诸如拼字法("de-DE-1996")等通常不被应用在这种场合。
*
    任意语言;"*"表示通配符。
;q= (q-factor weighting)
    值代表优先顺序,用相对质量价值 表示,又称为权重。 
  • Connection 头(header) 决定当前的事务完成后,是否会关闭网络连接。如果该值是“keep-alive”,网络连接就是持久的,不会关闭,使得对同一个服务器的请求可以继续在该连接上完成。
Connection: keep-alive

Connection: close

指令

close
    表明客户端或服务器想要关闭该网络连接,这是HTTP/1.0请求的默认值
 
以逗号分隔的HTTP头 [通常仅有 keep-alive]
    表明客户端想要保持该网络连接打开,HTTP/1.1的请求默认使用一个持久连接。
    这个请求头列表由头部名组成,这些头将被第一个非透明的代理或者代理间的缓存所移除:
    这些头定义了发出者和第一个实体之间的连接,而不是和目的地节点间的连接。
  • Cookie 是一个请求首部,其中含有先前由服务器通过 Set-Cookie 首部投放并存储到客户端的 HTTP cookies。

这个首部可能会被完全移除,例如在浏览器的隐私设置里面设置为禁用cookie。

Cookie: PHPSESSID=298zf09hf012fh2; csrftoken=u32t4o3tb3gg43; _gat=1;

语法


Cookie: 
Cookie: name=value
Cookie: name=value; name2=value2; name3=value3


    一系列的名称/值对,形式为 =。名称/值对之间用分号和空格 ('; ')隔开。 

  • Host 请求头指明了服务器的域名(对于虚拟主机来说),以及(可选的)服务器监听的TCP端口号。

如果没有给定端口号,会自动使用被请求服务的默认端口(比如请求一个HTTP的URL会自动使用80端口)。

HTTP/1.1 的所有请求报文中必须包含一个Host头字段。如果一个 HTTP/1.1 请求缺少 Host 头字段或者设置了超过一个的 Host 头字段,一个400(Bad Request)状态码会被返回。

Host: developer.cdn.mozilla.net

指令



    服务器的域名(用于虚拟主机)。
 可选
    服务器监听的 TCP 端口号。 
  • User-Agent 首部包含了一个特征字符串,用来让网络协议的对端来识别发起请求的用户代理软件的应用类型、操作系统、软件开发商以及版本号。
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0

Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:42.0) Gecko/20100101 Firefox/42.0

语法


User-Agent:  /  

Common format for web browsers:

User-Agent: Mozilla/ ()  () 

指令



    产品识别码。

    产品版本号。

    0个或多个关于组成产品信息的注释。 

参考:https://developer.mozilla.org/zh-CN/docs/Web/HTTP

你可能感兴趣的:(HTTP)