zoukankan      html  css  js  c++  java
  • 请求与响应的上下文

    HTTP请求与响应都有一些表示上下文的常用的头部,所谓上下文就是请求从哪里来,请求或者响应对后续的请求与响应产生哪些影响。

    请求的上下文:User-Agent

    指明客户端的类型信息,服务器可以据此对资源的表述做抉择

    User-Agent = product *( RWS ( product / comment ))

    • product = token [ "/" product-version ]
    • RWS = 1*( SP / HTAB)

    例如:有对Mozilla的支持信息、客户端电脑系统版本、浏览器的渲染引擎信息、浏览器版本等信息

    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
    请求的上下文:Referer
    浏览器对来自某一个页面的请求会自动添加头部,如果非浏览器不一定添加头部。例如,在我的博客中添加的链接,点击这个链接抓取到的请求报文中就会有Referer 。
    • Referer = absolute-URI / partial-URI
    • 例如:Referer: https://www.cnblogs.com/
    Referer 不会被添加的场景
    • 来源页面采用的协议为表示本地的文件的 "file" 或 "data" URI
    • 当前请求页面采用的时 http 协议,而来源页面采用的时 https 协议

    服务器端常用于统计分析、缓存分析、防盗链等功能

    请求的上下文:From

    • 主要用于网络爬虫,告诉服务器如何通过邮件联系到爬虫的负责人
    • From = mailbox
    • 例如:From:webmaster@example.org

    响应中的上下文:Server

    • 指明服务器端上所使用的软件信息,用于帮助客户端定位问题或者统计数据
    • Server = product *( product / comment )
    • product = token [ "/" product-version ]

    例如:

    • Server: nginx
    • Server: openresty/ 1.13.6.2

    响应中的上下文:Allow 与 Accept-Ranges

    Allow:告诉客户端,服务器告诉客户端该 URI 对应的资源允许哪些方法的执行

    • Allow = #method
    • 例如:Allow: GET,HEAD,PUT 

    Accept-Ranges:告诉客户端服务器上的资源是否允许 range 请求

    • Accept-Ranges = acceptable-ranges

    例如:

    • Accept-Ranges:bytes     
    • Accept-Ranges:none
  • 相关阅读:
    数据库unsigned char*类型图片存进
    int main(int argc, char *argv[])中的argc和argv
    数据库任务进度记录
    数据库存入数据后id保持不变,或者直接报错
    数据库图片存入并显示成功,但查询时不能全显示
    数据库存入图片成功但显示不出来
    JWT(Json web token)认证详解
    重启eclips后启动项目出现监听文件找不到
    解决服务器连接错误Host ‘XXX’ is not allowed to connect to this MySQL server
    Linux系统常用命令
  • 原文地址:https://www.cnblogs.com/fengxiaoyuan/p/10964086.html
Copyright © 2011-2022 走看看