一.Request Header(HTTP请求头)
①Accept:指定用户端能接受的内容
示例:Accept: text/plain,text/html,*/*(意思是接受任意类型的资源)
②Cache-control:控制缓存的开关,用于标识请求或访问中是否开启了缓存,使用了哪种缓存方式。
在请求头中,其值可为下图(参考浅谈http中的Cache-Control)
再加:private:表明响应只能作为私有的缓存,不能在用户间共享。(在默认情况下,响应会自动设置为private)
public:表明响应会被缓存,并且在多用户间共享。
③Connection:表示HTTP是否需要进行持久连接,HTTP1.1默认进行持久连接
connection:close 表示不需要长连接,于是在每一次请求都需要进行TCP连接
connection:keep-alive 表示建立长连接。
在长连接关闭的情况下,所有的connection ID 都是不一样的。
④Content-Type:用来表示具体请求中的媒体类型信息
常见的媒体格式类型如下:
text/html : HTML格式
text/plain :纯文本格式
text/xml : XML格式
image/gif :gif图片格式
image/jpeg :jpg图片格式
image/png:png图片格式
application/xhtml+xml :XHTML格式
application/xml : XML数据格式
application/atom+xml :Atom XML聚合格式
application/json : JSON数据格式
application/pdf :pdf格式
application/msword : Word文档格式
application/octet-stream : 二进制流数据(如常见的文件下载)
application/x-www-form-urlencoded : <form encType=””>中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)
multipart/form-data : 需要在表单中进行文件上传时,就需要使用该格式
⑤Access-Control-Allow-Origin:表示跨域请求资源,用来解决资源跨域请求申请。
以下三种情况需要跨域:
1.协议不同(http/https)
2.域名不同
3.端口号不同
跨域可参考
没错,就是Access-Control-Allow-Origin,跨域
⑥X-cache:代表你的http请求是proxy server回复的,
X-cache:MISS 表示代理没有资料,代理动作
X-cache:HIT 表示是代理直接回应的。
⑦Host:这是HTTP1.1中新增的一个技术,主要用来实现虚拟主机技术。
【注:虚拟主机就是利用虚拟技术把一台完整的服务器分成若干个主机,因此可以在一台主机上运行多个网站或服务】
Http1.1中如果没指定Host,则返回404。
⑧User-agent:是用户代理,它是可以使用户识别客户使用的操作系统及版本,CPU类型,浏览器及版本等。
⑨Accept-encoding:是为了表明自己接受编码的方法,通常指定压缩方法或可否压缩。可以解压的数据的格式与HTTP response中的content-encoding相对应。服务端会根据客户端的Accept-encoding来决定用什么格式(content-encoding)传给你。
⑩pragma:请求头中如果包含pragma头的时候,服务器端会将该请求转发给源服务器。
只有一个属性就是no-cache
⑪range:是HTTP1.1里面新增的一个区块,表示请求实体所在的范围。
示例:Range:bytes=0-4194303 就是请求实体是前4194304字节。
在request header中content-range与其对应。
具体说明用法详见http range 用法与说明
⑫Cookie:Cookie中经常存一些用户信息来让服务器辨认用户的身份。
⑬Transfer-encoding:
⑭boundary:是随机生成的字符串,用来分隔文本的开始和结束
HTTP request header 中的 Host / Origin / Refer 的区别:
Host:域名 + 端口号
Origin:协议 + 域名(只存在CORS的跨域请求中)
Refer:协议 + 域名 + 查询参数
GET和POST的区别。。老问题了。。看链接→GET 和 POST 到底有什么区别?