HTTP headers

这是我参与8月更文挑战的第1天,活动详情查看:8月更文挑战html

请求方式

方式 场景
GET 向Web服务器请求一个文件
POST 向Web服务器发送数据让Web服务器进行处理
PUT 向Web服务器发送数据并存储在Web服务器内部
HEAD 检查一个对象是否存在
DELETE 从Web服务器上删除一个文件
CONNECT 对通道提供支持
TRACE 跟踪到服务器的路径
OPTIONS 查询Web服务器的性能

Host

指明了请求将要发送到的服务器主机名和端口号web

User-Agent

User-Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器可以识别客户使用的操做系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。一些网站经常经过判断 UA 来给不一样的操做系统、不一样的浏览器发送不一样的页面,所以可能形成某些页面没法在某个浏览器中正常显示,但经过假装 UA 能够绕过检测。chrome

操做系统标识: FreeBSD  json

X11; FreeBSD (version no.) i386  X11; FreeBSD (version no.) AMD64  


Linux  


X11; Linux ppc  X11; Linux ppc64  X11; Linux i686  X11; Linux x86_64  


Mac


Macintosh; PPC Mac OS X  Macintosh; Intel Mac OS X  


Solaris  


X11; SunOS i86pc  X11; SunOS sun4u  


Windows:  


Windows NT 6.1 对应操做系统 windows 7  Windows NT 6.0 对应操做系统 windows vista  Windows NT 5.2 对应操做系统 windows 2003  Windows NT 5.1 对应操做系统 windows xp  Windows NT 5.0 对应操做系统 windows 2000  Windows ME   Windows 98


加密等级标识


N: 表示无安全加密  I: 表示弱安全加密  U: 表示强安全加密
复制代码

实例: User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11windows

Accept

指定客户端可以接收的内容类型,内容类型中的前后次序表示客户端接收的前后次序。浏览器

例如:缓存

Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,/;q=0.5安全

Accept-Language

Accept-Language 请求头容许客户端声明它能够理解的天然语言,以及优先选择的区域方言。借助内容协商机制,服务器能够从诸多备选项中选择一项进行应用, 并使用 Content-Language 应答头通知客户端它的选择。服务器

*:任意语言;"*" 表示通配符(wildcard)markdown

;q= (q-factor weighting): 此值表明优先顺序,用相对质量价值表示,又称为权重

示例:

Accept-Language: de


Accept-Language: de-CH


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


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
复制代码

Accept-Charset

请求头用来告知(服务器)客户端能够处理的字符集类型。 借助内容协商机制,服务器能够从诸多备选项中选择一项进行应用, 并使用Content-Type 应答头通知客户端它的选择。浏览器一般不会设置此项值,由于每种内容类型的默认值一般都是正确的,可是发送它会更有利于识别。

实例:

Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7

Content-Type

用于指示资源的MIME类型 media type

在响应中,Content-Type标头告诉客户端实际返回的内容的内容类型。浏览器会在某些状况下进行MIME查找,并不必定遵循此标题的值;

通常只有post提交时才须要设置该属性

实例:

Content-Type: text/html; charset=utf-8
Content-Type: multipart/form-data; boundary=something
复制代码

常见的三种编码方式:

1.application/x-www-form-urlencoded

1.1: 最多见的POST提交数据方式。
1.2:原生form默认的提交方式(可使用enctype指定提交数据类型)。
1.3:在向服务器发送大量的文本、包含非ASCII字符的文本或二进制数据时这种编码方式效率很低

image.png

application/x-www-form-urlencoded 是最经常使用的一种请求编码方式,支持GET/POST等方法,全部数据变成键值对的形式 key1=value1&key2=value2的形式,而且特殊字符须要转义成utf-8编号,如空格会变成 %20;

默认的提交方式是 application/x-www-form-urlencoded 编码提交数据的,在chrome的network面板下,默认的请求体是被解析的。展现成formData的形式;

如上默认提交的 contentType为 application/x-www-form-urlencoded,此时提交的数据将会格式化成:
fname=kongzhi&age=30;

若是请求类型type是GET的话,那么格式化的字符串将直接拼接在url后发送到服务端; 若是请求类型是POST, 那么格式化的字符串将放在http body的Form Data中发送。

2.multipart/form-data

使用表单上传文件时,必须指定表单的 enctype属性值为 multipart/form-data. 请求体被分割成多部分,每部分使用 --boundary分割;

image.png

3.application/json

在http请求中,ContentType都是默认的值 application/x-www-form-urlencoded, 这种编码格式的特色是:name/value值对,
每组之间使用&链接,而name与value之间是使用 = 链接,好比 key=xxx&name=111&password=123456; 键值对通常的状况下是没有什么问题的,可是若是参数是复杂的对象,继续用这种编码形式就不太合适,这个时候,用application/json将数据经过json的形式发送给服务器就比较合适,json的形式的优势是它能够传递结构复杂的数据形式

image.png

Connection

表示是否须要持久链接,http1.1默认为持久链接

实例:

Connection: keep-alive

Keep-Alive

显示此HTTP链接的Keep-Alive时间。使客户端到服务器端的链接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了创建或者从新创建链接。

之前HTTP请求是一站式链接,从HTTP/1.1协议以后,就有了长链接,即在规定的Keep-Alive时间内,链接是不会断开的。

实例:

Keep-Alive: 300

cookie

HTTP请求发送时,会把保存在该请求域名下的全部cookie值一块儿发送给web服务器。

Referer

HTTP Referer是[header]的一部分,当[浏览器]向web[服务器]发送请求的时候,通常会带上Referer,告诉服务器该网页是从哪一个页面连接过来的,服务器所以能够得到一些信息用于处理

Responses 部分

Header 解释 示例
Accept-Ranges 代表服务器是否支持指定范围请求及哪一种类型的分段请求 Accept-Ranges: bytes
Age 从原始服务器到代理缓存造成的估算时间(以秒计,非负) Age: 12
Allow 对某网络资源的有效的请求行为,不容许则返回405 Allow: GET, HEAD
Cache-Control 告诉全部的缓存机制是否能够缓存及哪一种类型 Cache-Control: no-cache(不缓存)
Content-Encoding web服务器支持的返回内容压缩编码类型 Content-Encoding: gzip
Content-Language 响应体的语言 Content-Language: en,zh
Content-Length 响应体的长度 Content-Length: 348
Content-Location 请求资源可替代的备用的另外一地址 Content-Location: /index.htm
Content-MD5 返回资源的MD5校验值 Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==
Content-Range 在整个返回体中本部分的字节位置 Content-Range: bytes 21010-47021/47022
Content-Type 返回内容的MIME类型 Content-Type: text/html; charset=utf-8
Date 原始服务器消息发出的时间 Date: Tue, 15 Nov 2010 08:12:31 GMT
ETag 请求变量的实体标签的当前值 (Last-Modified和ETags请求的http报头一块儿使用,用于判断页面是否已经被修改,是否须要返回
相关文章
相关标签/搜索