网站首页 > 知识剖析 正文
1. Host
描述请求将被发送的目的地,包括且仅仅包括域名和端口号。 HTTP/1.1 的所有请求报文中必须包含一个Host头字段,且只能设置一个。
2. Origin
请求头origin表明了请求来自于哪个站点。包括且仅仅包括协议、域名和端口,并不包含任何路径信息。经常用于CORS请求或者POST请求,可以看到response有对应的header:Access-Control-Allow-Origin。
@CrossOrigin(origins="http://wx.xxxx.com:80")
@RequestMapping(value = "list", method = RequestMethod.POST)
public String list(HttpServletRequest request, HttpServletResponse response) {
}
3. Referer
告知服务器请求的原始资源的URI,其用于所有类型的请求,并且包括协议、域名、路径和查询参数。
在以下几种情况Referer不会被发送:
1)来源页面采用的协议为表示本地文件的 "file" 或者 "data" URI;
2)当前请求页面采用的是非安全协议,而来源页面采用的是安全协议(HTTPS);
3)直接输入网址或通过浏览器书签访问;
4)使用 JavaScript 的 Location.href 或者是 Location.replace();
5)使用html5中noreferrer;
6)使用iframe的hack写法去除referer。
请求头中referer与origin功能相似,但有如下几点不同:
1、只有跨域请求,或者同域时发送post请求,才会携带origin请求头,而referer不论何种情况下,只要浏览器能获取到请求源都会携带,除了上面提到的几种情况。
2、如果浏览器不能获取请求源,那么origin满足上面情况也会携带,不过其值为null。referer则不同,浏览器如果不能获取请求源,那么请求头中不会携带referer。
3、origin的值只包括协议、域名和端口,而erferer不但包括协议、域名、端口,还包括路径和参数。
猜你喜欢
- 2024-11-24 浏览器跨域问题以及常用解决方案
- 2024-11-24 14个前端小知识,我猜你每天都会遇到
- 2024-11-24 跨域问题的4种解决方案
- 2024-11-24 什么是跨域?跨域解决方法
- 2024-11-24 构建rancher自定义ui的前端镜像
- 2024-11-24 你应该知道的前端小知识,初学者,确定不点进来看看吗?
- 2024-11-24 15个前端小知识
- 2024-11-24 记一场纯JS赛——DiceCTF2021 Web题解
- 2024-11-24 如何基于 Elasticsearch 实现排序沉底或前置
- 2024-11-24 如何查找网站源IP地址
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)