[HTTP趣談]origin,referer和host區別

發起一個ajax請求時,request header裏面有三個屬性會涉及請求源信息。前端可能用不到這些值,可是,後臺業務系統會比較關心它們,場景可能有:

    處理跨域請求時,必須判斷來源請求方是否合法;
    後臺作重定向時,須要原地址信息;

做爲前端,瞭解三者的區別和使用場景,仍是有很意義的。

先看圖:

img

host.png
1. Host

描述請求將被髮送的目的地,包括,且僅僅包括域名和端口號。
在任何類型請求中,request都會包含此header信息。
2. Origin

用來講明請求從哪裏發起的,包括,且僅僅包括協議和域名。
這個參數通常只存在於CORS跨域請求中,能夠看到response有對應的header:Access-Control-Allow-Origin。
3. Referer

告知服務器請求的原始資源的URI,其用於全部類型的請求,而且包括:協議+域名+查詢參數(注意,不包含錨點信息)。

由於原始的URI中的查詢參數可能包含ID或密碼等敏感信息,若是寫入referer,則可能致使信息泄露。
---------------------
做者:皮皮灬蝦
來源:CSDN
原文:https://blog.csdn.net/weixin_41791345/article/details/79546540
版權聲明:本文爲博主原創文章,轉載請附上博文連接!前端

相關文章
相關標籤/搜索