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
  • 相关阅读:
    api1
    录像时调用MediaRecorder的start()时发生start failed: -19错误
    继承AppCompatActivity的Activity隐藏标题栏
    Android 6.0 运行时权限处理完全解析
    Android开发用过的十大框架
    Lite Your Android English
    2015最流行的Android组件、工具、框架大全
    C#调用C++函数入口点的问题 z
    C#调用C++的DLL函数另一则(delegate) z
    C#调用C++编写的DLL函数, 以及各种类型的参数传递 z
  • 原文地址:https://www.cnblogs.com/fengxiaoyuan/p/10964086.html
Copyright © 2011-2022 走看看