这是我参与8月更文挑战的第1天,活动详情查看:8月更文挑战html
方式 | 场景 |
---|---|
GET | 向Web服务器请求一个文件 |
POST | 向Web服务器发送数据让Web服务器进行处理 |
PUT | 向Web服务器发送数据并存储在Web服务器内部 |
HEAD | 检查一个对象是否存在 |
DELETE | 从Web服务器上删除一个文件 |
CONNECT | 对通道提供支持 |
TRACE | 跟踪到服务器的路径 |
OPTIONS | 查询Web服务器的性能 |
指明了请求将要发送到的服务器主机名和端口号web
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: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,/;q=0.5安全
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
复制代码
请求头用来告知(服务器)客户端能够处理的字符集类型。 借助内容协商机制,服务器能够从诸多备选项中选择一项进行应用, 并使用Content-Type
应答头通知客户端它的选择。浏览器一般不会设置此项值,由于每种内容类型的默认值一般都是正确的,可是发送它会更有利于识别。
实例:
Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7
用于指示资源的MIME类型 media type
在响应中,Content-Type标头告诉客户端实际返回的内容的内容类型。浏览器会在某些状况下进行MIME查找,并不必定遵循此标题的值;
通常只有post提交时才须要设置该属性
实例:
Content-Type: text/html; charset=utf-8
Content-Type: multipart/form-data; boundary=something
复制代码
常见的三种编码方式:
1.1: 最多见的POST提交数据方式。
1.2:原生form默认的提交方式(可使用enctype指定提交数据类型)。
1.3:在向服务器发送大量的文本、包含非ASCII字符的文本或二进制数据时这种编码方式效率很低
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中发送。
使用表单上传文件时,必须指定表单的 enctype属性值为 multipart/form-data. 请求体被分割成多部分,每部分使用 --boundary分割;
在http请求中,ContentType都是默认的值 application/x-www-form-urlencoded, 这种编码格式的特色是:name/value值对,
每组之间使用&链接,而name与value之间是使用 = 链接,好比 key=xxx&name=111&password=123456; 键值对通常的状况下是没有什么问题的,可是若是参数是复杂的对象,继续用这种编码形式就不太合适,这个时候,用application/json将数据经过json的形式发送给服务器就比较合适,json的形式的优势是它能够传递结构复杂的数据形式
表示是否须要持久链接,http1.1默认为持久链接
实例:
Connection: keep-alive
显示此HTTP链接的Keep-Alive时间。使客户端到服务器端的链接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了创建或者从新创建链接。
之前HTTP请求是一站式链接,从HTTP/1.1协议以后,就有了长链接,即在规定的Keep-Alive时间内,链接是不会断开的。
实例:
Keep-Alive: 300
HTTP请求发送时,会把保存在该请求域名下的全部cookie值一块儿发送给web服务器。
HTTP Referer是[header]的一部分,当[浏览器]向web[服务器]发送请求的时候,通常会带上Referer,告诉服务器该网页是从哪一个页面连接过来的,服务器所以能够得到一些信息用于处理
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报头一块儿使用,用于判断页面是否已经被修改,是否须要返回 |