请求头中的referer host

请求头中的referer host

 

referer:(知识源头MDN)Referer 请求头包含了当前请求页面的来源页面的地址,即表示当前页面是通过此来源页面里的链接进入的。服务端一般使用 Referer 请求头识别访问来源,可能会以此进行统计分析、日志记录以及缓存优化等。

较为常见的应用:主要是:1.服务端用来校验XSRF攻击,适合一般情况校验,因为referer校验是可以使用特殊的方式被伪装(请自行了解);2.防盗链,用于保护自己网站的资源不被其他服务器非法访问(做了防盗链的网站资源仍然可以被files协议访问,也可以直接用URL打开,只是不能通过其他服务器跳转链接的方式去访问,因为此时资源服务器会校验referer是不通过的)

 

Host:(知识源头MDN)请求头指明了请求将要发送到的服务器主机名和端口号。如果没有包含端口号,会自动使用被请求服务的默认端口(比如HTTPS URL使用443端口,HTTP URL使用80端口)。所有HTTP/1.1 请求报文中必须包含一个Host头字段。对于缺少Host头或者含有超过一个Host头的HTTP/1.1 请求,可能会收到400(Bad Request)状态码。

(笔者了解到,在node服务器中 Host地址可以配合referer 做防盗链)