常见的Http Header

1. Request Header

1. Origin

用于说明请求来自哪个站点,使用时对应服务端Access-Control-Allow-Origin

// 格式如下:协议+域名+[端口]
Origin: <scheme> "://" <host> [ ":" <port> ]
// scheme 是请求协议
// host 发起请求的服务器的域名/IP地址
// port端口号,默认80

示例:

http://localhost:3000
2. host

指明目标服务器的域名和端口。必须存在,否则会出现400错误。

//格式如下: 域名+端口
Host: <host>:<port>

示例:

Host: localhost:8080
3. referer
// 格式是一个完整的url, 包含查询字符串,但是不包含Fragments(#), 也不包含用户名密码
Referer: <url>

示例:

Referer: http://locahost:3000?a=1&b=2

多数情况下,它是当前页面的路由地址。(Origin的完整版)

当从一个网站访问另一个网站时,跳转到的html页面对应的是跳转前的地址;

应用:

服务器端根据该字段确定访问来源,用于进行统计分析,日志记录,缓存优化等。

缺点:

暴露用户浏览历史,泄漏用户隐私

有两种情况不发送该字段:

1.来源页面采用的协议为表示本地文件的 "file" 或者 "data" URI;
2.当前请求页面采用的是非安全协议,而来源页面采用的是安全协议(HTTPS)
4. Cache-Control
5.Pragma
6.If-Modified-Since
7.If-None-Match

4-7是缓存相关请求头字段,详情查看

8. Access-Control-Request-Headers
9. Access-Control-Request-Method

8-9是跨域相关请求头字段,详情查看

2. Response Header

1. Access-Control-Allow-Orgin
2. Access-Control-Allow-Credentials
3. Access-Control-Allow-Headers
4. Access-Control-Allow-Methods
5. Access-Control-Expose-Headers
6. Access-Control-Max-Age

以上都是服务器端跨域相关的字段,查看详情

7.Cache-Control
8.Expires
9.Last-Modified
10. Etag

7-10是缓存相关响应头字段,查看详情

猜你喜欢

转载自www.cnblogs.com/lyraLee/p/12014810.html