• HTTP头部信息


      通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。
    

    登录到CSDN后,随便点了一个资源,看看HTTP头部信息: 
    这里写图片描述 
    从上图可以看到,头部信息包括三部分:

    1、通用头部
    2、请求头部
    3、响应头部
    4、查询字符串参数

    分别介绍:

    1、通用头部

    通用头域包含请求和响应消息都支持的头域。

    Request URL:请求的URL地址
    Request Method: 请求方法,get/post/put/……
    Status Code:状态码,200 为请求成功
    Remote Address:路由地址
    

    2、请求头部

         1) Accept:  告诉WEB服务器自己接受什么介质类型,*/* 表示任何类型,type/* 表示该类型下的所有子类型;
         2)Accept-Charset:  浏览器申明自己接收的字符集
         Accept-Encoding:浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法  (gzip,deflate)
         3)Accept-Language:  浏览器申明自己接收的语言。语言跟字符集的区别:中文是语言,中文有多种字符集,比如big5,gb2312,gbk等等。
         4)Authorization:  当客户端接收到来自WEB服务器的 WWW-Authenticate 响应时,该头部来回应自己的身份验证信息给WEB服务器。
         5)Connection:表示是否需要持久连接。close(告诉WEB服务器或者代理服务器,在完成本次请求的响应后,断开连接,
         不要等待本次连接的后续请求了)。keep-alive(告诉WEB服务器或者代理服务器,在完成本次请求的响应后,保持连接,等待本次连接的后续请求)。
         6)Referer:发送请求页面URL。浏览器向 WEB 服务器表明自己是从哪个 网页/URL 获得/点击 当前请求中的网址/URL。
         7)User-Agent: 浏览器表明自己的身份(是哪种浏览器)。
         8)Host: 发送请求页面所在域。
         9)Cache-Control:浏览器应遵循的缓存机制。
                no-cache(不要缓存的实体,要求现在从WEB服务器去取)
                max-age:(只接受 Age 值小于 max-age 值,并且没有过期的对象) 
                max-stale:(可以接受过去的对象,但是过期时间必须小于 max-stale 值)  
                min-fresh:(接受其新鲜生命期大于其当前 Age 跟 min-fresh 值之和的缓存对象)
         10)Pramga:主要使用 Pramga: no-cache,相当于 Cache-Control: no-cache。
         11)Range:浏览器(比如 Flashget 多线程下载时)告诉 WEB 服务器自己想取对象的哪部分。
         12)Form:一种请求头标,给定控制用户代理的人工用户的电子邮件地址。
         13)Cookie:这是最重要的请求头信息之一
    

    以上仅列出了我见过的请求头部,欢迎指正和补充!

    3、响应头部

          1)Age:当代理服务器用自己缓存的实体去响应请求时,用该头部表明该实体从产生到现在经过多长时间了。
          2)Accept-Ranges:WEB服务器表明自己是否接受获取其某个实体的一部分(比如文件的一部分)的请求。bytes:表示接受,none:表示不接受。
          3) Cache-Control:服务器应遵循的缓存机制。
                  public(可以用 Cached 内容回应任何用户)
                  private(只能用缓存内容回应先前请求该内容的那个用户)
                  no-cache(可以缓存,但是只有在跟WEB服务器验证了其有效后,才能返回给客户端) 
                  max-age:(本响应包含的对象的过期时间)  
                  ALL:  no-store(不允许缓存)  
          4) Connection: 是否需要持久连接
                  close(连接已经关闭)。
                  keepalive(连接保持着,在等待本次连接的后续请求)。
                  Keep-Alive:如果浏览器请求保持连接,则该头部表明希望 WEB 服务器保持连接多长时间(秒)。例如:Keep-Alive:300
          5)Content-Encoding:WEB服务器表明自己使用了什么压缩方法(gzip,deflate)压缩响应中的对象。 例如:Content-Encoding:gzip 
          6)Content-Language:WEB 服务器告诉浏览器自己响应的对象的语言。
          7)Content-Length:WEB 服务器告诉浏览器自己响应的对象的长度。例如:Content-Length: 26012
          8)Content-Range:WEB 服务器表明该响应包含的部分对象为整个对象的哪个部分。例如:Content-Range: bytes 21010-47021/47022
          9)Content-Type:WEB 服务器告诉浏览器自己响应的对象的类型。例如:Content-Type:application/xml
         10)Expired:WEB服务器表明该实体将在什么时候过期,对于过期了的对象,只有在跟WEB服务器验证了其有效性后,才能用来响应客户请求。
         11) Last-Modified:WEB 服务器认为对象的最后修改时间,比如文件的最后修改时间,动态页面的最后产生时间等等。
         12) Location:WEB 服务器告诉浏览器,试图访问的对象已经被移到别的位置了,到该头部指定的位置去取。
         13)Proxy-Authenticate: 代理服务器响应浏览器,要求其提供代理身份验证信息。
         14)Server: WEB 服务器表明自己是什么软件及版本等信息。
         15)Refresh:表示浏览器应该在多少时间之后刷新文档,以秒计。
  • 相关阅读:
    Redis设计与实现第一部分:第5章:Redis 跳跃表
    根据临时表修改主表的某字段数据根据主表的主键
    Redis设计与实现第一部分:第2章:简单动态字符串SDS
    Redis
    MySQL的访问控制与用户管理
    MySQL字符集和语言的基础知识
    生成日志文件
    Python进阶09 动态类型
    Python进阶08 异常处理
    Python进阶07 函数对象
  • 原文地址:https://www.cnblogs.com/zhaowy/p/8435789.html
Copyright © 2020-2023  润新知