• HTTP之首部


        http报文包括起始行、首部和主体。

        HTTP请求/响应起始行

               请求组成: 方法 + 请求URL + HTTP版本

               响应组成: HTTP版本 + 数字状态码 + 描述状态的原因短语

       HTTP首部

               首部内容为客户端和服务器分别处理请求和响应提供所需要的信息。首部和方法配合工作,共同决定了客户端和服务器能做什么。

    通用首部

        客户端和服务器都可以使用的首部

    首部

    描述

    Connection

    是否需要持久连接

    Keep-alive

    Cache-

    Control

    缓存控制

    private:内容只缓存到私有缓存中(仅客户端);

    public:所有内容都将被缓存(客户端和代理服务器都可缓存);

    max-age= 25 :缓存将在25s后失效,需要重新访问服务器;

    no-cache:必须先与服务器确认返回的响应是否被更改,然后才能使用该响应来满足后续对同一个网址的请求,验证ETag;

    no-store:响应不被缓存;

    must-revalidation/proxy-revalidation:如果缓存的内容失效,请求必须发送到服务器/代理以进行重新验证

    Data

    首部字段data表明创建HTTP报文和日期。

    Via

    追踪客户端与服务器之间的请求响应和响应报文的传输途径。还可以避免请求回环的发生。

    Warning

    告知用户一些与缓存相关问题的警告

    Transfer-

    Encoding:

    规定了传输报文主体时采用的编码方式

        请求首部中常用字段详解

    首部

    描述

    Accept

    客户端支持的媒体类型

    "text/html,iamge/*"

    Accept-Encoding

    客户端支持的编码方式

    "gzip, compress"

    Accept-Charset

    客户端支持的/字符集

    "iso8859-5"

    Accept-Language

    客户端支持的语言

    "en, fr"

    Except

    If - Modified - Since

    浏览器缓存页面的最后修改时间,服务器会将该时间与服务器时间对比,如果超出该时间则返回新内容,否则返回304

    Time

    Range

    如果服务器支持请求的范围,则返回资源的指定范围

    Range

    Content - Length

    请求消息正文的长度

    Referer

    包含一个URL,用户从该URL代表的页面出发访问当前请求的页面

    url

    User - Agent

    浏览器类型

    Trailer

    首部字段Trailer会事先说明在报文主体后记录了哪些首部字段,可以应用在HTTP1.1版本分块传输编码时使用。

        响应首部中常用字段详解

    首部

    描述

    Accecpt-Ranges      "none"

    服务器可接受的范围和类型

    Age

    从原始服务器到代理缓存形成的估算时间(以秒记, 非负)

    ETag   

    设置文件是否被修改

    Last-Modified  

    请求资源的最后修改时间

    Serve

    服务器应用程序的名称

    Set-cookie

    设置cookie

    Proxy-Authenticate 

    代理对客户端的质询列表

    Basic

        实体首部中常用字段详解

    首部

    描述

    Content-encoding

    主体编码方式

    Content-Language

    主体语言

    Content-Length

    主体长度

    Content-MD5

    主体MD5校验和

    Content-Range

    在整个资源中,实体表示的字节范围

    Content-type

    主体对象类型

        MD5:一种散列函数,用以提供消息的完整性保护。MD5即Message-Digest Algorithm 5(信息摘要算法5),是计算机广泛使用的散列算法之一(又译摘要算法、哈希算法)。对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。用于确保信息传输完整一致。

  • 相关阅读:
    浅析区间问题
    关于参加信息竞赛
    路爷爷语录
    CentOS-7安装python虚拟环境
    开发笔记(不定时更新)
    Redis有序集合的权重值选择
    数据缓存(Redis)流程设计--思路
    Flask框架之配置日志信息
    Flask框架之一对多关系模型定义
    Flask框架之多对多关系模型类的定义
  • 原文地址:https://www.cnblogs.com/microcosm/p/6858115.html
Copyright © 2020-2023  润新知