http请求头中Origin的作用及危害
目錄
概念
字段內(nèi)容
語法
應(yīng)用
CORS
概念
HTTP 協(xié)議中的 Origin Header 存在于請(qǐng)求中,用于指明當(dāng)前請(qǐng)求來自于哪個(gè)站點(diǎn)。
字段內(nèi)容
Origin 僅僅包含站點(diǎn)信息,不包含任何路徑信息。
語法
Origin: "" Origin: "<schema>://<host>[:port]" // 例如 Origin: "https://baidu.com" // 錯(cuò)誤示范,包含了路徑信息 Origin: "https://baidu.com/"應(yīng)用
CORS
當(dāng)我們的瀏覽器發(fā)出跨站請(qǐng)求時(shí),行為正確的服務(wù)器會(huì)校驗(yàn)當(dāng)前請(qǐng)求是不是來自被允許的站點(diǎn)。服務(wù)器就是通過 Origin 字段的值來進(jìn)行的判斷。
當(dāng)服務(wù)器的配置出錯(cuò)時(shí),比如配置成了 https://baidu.com/,則可能造成一些難以理解的問題。
比如有的瀏覽器(IE)能夠請(qǐng)求成功,而有的瀏覽器卻請(qǐng)求失敗(Chrome)。這不是因?yàn)榍耙粋€(gè)瀏覽器行為正確,而是因?yàn)榍耙粋€(gè)瀏覽器發(fā)出請(qǐng)求時(shí)沒有帶上 Origin 而后一個(gè)瀏覽器帶上了正確的 Origin。而在服務(wù)器端,因?yàn)闆]有 Origin Header,所以認(rèn)為這不是一次 CORS 請(qǐng)求,所以沒有進(jìn)行 CORS 校驗(yàn)。這也反過來要求服務(wù)端強(qiáng)制請(qǐng)求帶上 Origin Header,才能進(jìn)一步保證服務(wù)器的安全性。
總結(jié)
以上是生活随笔為你收集整理的http请求头中Origin的作用及危害的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何使用ROS查找rgbdslam代码包
- 下一篇: CentOS7执行yum命令出错