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),以防止被篡改。用于确保信息传输完整一致。

HTTP之首部的更多相关文章

  1. 前端学HTTP之报文首部

    前面的话 首部和方法配合工作,共同决定了客户端和服务器能做什么事情.在请求和响应报文中都可以用首部来提供信息,有些首部是某种报文专用的,有些首部则更通用一些.本文将详细介绍HTTP报文中的首部 结构 ...

  2. TCP服务和首部知识点小结

    服务 应用程序会被TCP分割成数据段,而UDP不分割. TCP有超时重传和确认 如果检验和出错将丢弃 IP数据包可能会失序或者重复,所以TCP会处理 滑动窗口来进行流量控制 对字节流的内容不做任何解释 ...

  3. HTTP首部

    前面有几篇博文介绍了HTTP协议.HTTP请求方法详解.Javascript中Cookie的那些事儿.HTTPS,今天我们来聊一聊关于HTTP首部的那些事儿 HTTP协议的请求和响应报文中肯定包含HT ...

  4. TCP首部解析

    TCP首部: TCP数据被封装在一个IP数据报中,如下: TCP首部数据格式: 16位源都口号,16为目的端口号用于寻找发送端和接收端的应用进程,加上IP首部的源端IP及终端IP,唯一的确认一个TCP ...

  5. IP数据报首部解析

    IP数据报首部的格式,普通20字节. 4位版本号:当前4--IPv4. 4首部长度:首部长度 8位服务类型TOS: 3bits(优先权)+ 4bits(类型--最小延迟+最大吞吐量+最高可靠性+最小费 ...

  6. http协议进阶(三)补充:报文首部

    之前写的关于报文首部的传送门: 报文首部:http://www.cnblogs.com/imyalost/p/5708445.html 通用首部字段:http://www.cnblogs.com/im ...

  7. TCP协议学习笔记(一)首部以及TCP的三次握手连接四次挥手断开

    TCP协议是一种面向连接的.可靠的流协议. 流即不间断的数据结构.这样能够保证接收到数据顺序与发送相同.但是犹如数据间没有间隔,因此在TCP通信中,发送端应用可以在自己所要发送的消息中设置一个标示长度 ...

  8. IP首部校验和的计算

    ip抓包结果:0000: 00 e0 0f 7d 1e ba 00 13 8f 54 3b 70 08 00 45 00 0010: 00 2e be 55 00 00 7a 11 51 ac de ...

  9. 计算机网络(8)-----TCP报文段的首部格式

    TCP报文段的首部格式 概述 TCP报文段首部的前20个字节是固定的,因此TCP首部的最小长度是20字节. 源端口和目标端口 各占2个字节,分别写入源端口号和目的端口号. 序列号 占4个字节,表示本报 ...

  10. IP首部校验和计算

    根据RFC1071文档的计算方法,编写代码实现IP首部校验和的计算 计算步骤: 1.首先将IP首部中校验和字段置0 2.将IP首部每16bit进行相加,如果有进位产生,则将进位加到最低位. 3.将计算 ...

随机推荐

  1. LyX中文配置

    环境:OS X 10.9; MacTeX-2014; LyX Version 2.1.0 LyX是一个“WYSIWYM”(What You See Is What You Mean)的文字排版系统.其 ...

  2. Flex中容器的完全隐藏

    在html中,但我们设置某个dom元素的display属性为none时,dom元素不可见且其占用空间从dom树上隐藏,而在Flex中,但我们把某个组件的visible属性visible设为false的 ...

  3. Linux平台下贪吃蛇游戏的运行

    1.参考资料说明: 这是一个在Linux系统下实现的简单的贪吃蛇游戏,同学找帮忙,我就直接在Red Hat中调试了一下,参考的是百度文库中"maosuhan"仁兄的文章,结合自己的 ...

  4. 一个例子看懂所有nodejs的官方网络demo

    今天看群里有人用AI技术写了个五子棋,正好用的socket.io,本身我自己很久没看nodejs了,再加上Tcp/IP的知识一直很弱,我就去官网看了下net.socket 发现之前以为懂的一个官方例子 ...

  5. Ogre的Singleton实现-模版实现,便于重用-(详细分析)以及笔者的改进

    转自:http://www.cppblog.com/sandy/archive/2005/11/30/1436.html ;Root g_root;//must declare once only / ...

  6. 消息队列(Message Queue)基本概念

    背景 之前做日志收集模块时,用到flume.另外也有的方案,集成kafaka来提升系统可扩展性,其中涉及到消息队列当时自己并不清楚为什么要使用消息队列.而在我自己提出的原始日志采集方案中不适用消息队列 ...

  7. Linux课程---11、Linux中软件安装和调试

    Linux课程---11.Linux中软件安装和调试 一.总结 一句话总结: 启动过程:1.安装软件,2.修改配置文件,3.启动服务 查看过程:4.查看进程,5.查看端口 关闭过程:6.关闭软件,7. ...

  8. Jquery 取值,赋值学习总结

    <h2>获取和设置文本框值:</h2> <input type="button" value="赋值文件框" id="v ...

  9. 理解VMware虚拟网络

    简述:VMware虚拟网络概述.实现虚拟网络上网 Part0 子网掩码.DHCP.NAT,这些点请自行百度,百度百科讲的很清晰. Part1 转载:本文出自 "王春海的博客" 博客 ...

  10. 分布式系统的Raft算法——在失联阶段这个老Leader的任何更新都不能算commit,都回滚,接受新的Leader的新的更新 意味着还是可能丢数据!!!

    过去, Paxos一直是分布式协议的标准,但是Paxos难于理解,更难以实现,Google的分布式锁系统Chubby作为Paxos实现曾经遭遇到很多坑. 来自Stanford的新的分布式协议研究称为R ...