通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可选的消息体组成。HTTP的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。域名是大小写无关的,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。

Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

通用头域 (通用首部)Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

通用头域包含请求和响应消息都支持的头域,提供了与报文相关的**基本的信息,通用头域包含:Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

Connection:允许客户端和服务器指定与请求/响应连接有关的选项。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

Date:提供日期和时间标志,说明报文是什么时间创建的。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

MIME-Version:给出发送端使用的MIME版本。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

Trailer:如果报文采用了分块传输编码(chunked transfer encoding) 方式,就可以用这个首部列出位于报文拖挂(trailer)部分的首部集合。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

Transfer-Encoding:告知接收端为了保证报文的可靠传输,对报文采用了什么编码方式。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

Upgrade:给出了发送端可能想要”升级”使用的新版本和协议。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

Via:显示了报文经过的中间节点。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

对通用头域的扩展要求通讯双方都支持此扩展,如果存在不支持的通用头域,一般将会作为实体头域处理。下面简单介绍几个在UPnP消息中使用的通用头域。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

Cache-Control头域Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

Cache -Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置 Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

请求时的缓存指令包括no-cache、no-store、max-age、 max-stale、min-fresh、only-if-cached。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

响应消息中的指令包括public、private、no-cache、no- store、no-transform、must-revalidate、proxy-revalidate、max-age。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

各个消息中的指令含义如下:Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

Public指示响应可被任何缓存区缓存。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

no-cache指示请求或响应消息不能缓存。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

no-store用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

max-stale指示客户机可以接收超出超时期间的响应消息。如果指定max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应消息。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

相关推荐:《python视频教程》Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

Date头域Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

Date头域表示消息发送的时间,时间的描述格式由rfc822定义。例如,Date:Mon,31Dec200104:25:57GMT。Date描述的时间表示世界标准时,换算成本地时间,需要知道用户所在的时区。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

Pragma头域Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

Pragma头域用来包含实现特定的指令,**常用的是Pragma:no-cache。在HTTP/1.1协议中,它的含义和Cache- Control:no-cache相同。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

请求消息Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

请求消息的第一行为下面的格式:Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

MethodSPRequest-URISPHTTP-VersionCRLFMethod 表示对于Request-URI完成的方法,这个字段是大小写敏感的,包括OPTIONS、GET、HEAD、POST、PUT、DELETE、 TRACE。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

方法GET和HEAD应该被所有的通用WEB服务器支持,其他所有方法的实现是可选的。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

GET方法取回由Request-URI标识的信息。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

HEAD方法也是取回由Request-URI标识的信息,只是可以在响应时,不返回消息体。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

POST方法可以请求服务器接收包含在请求中的实体信息,可 以用于提交表单,向新闻组、BBS、邮件群组和数据库发送消息。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

SP表示空格。Request-URI遵循URI格式,在此字段为星 号(*)时,说明请求并不用于某个特定的资源地址,而是用于服务器本身。HTTP- Version表示支持的HTTP版本,例如为HTTP/1.1。CRLF表示换行回车符。请求头域允许客户端向服务器传递关于请求或者关于客户机的附加信息。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

请求头域可能包含下列字段:Accept、Accept-Charset、Accept- Encoding、Accept-Language、Authorization、From、Host、If-Modified-Since、If- Match、If-None-Match、If-Range、If-Range、If-Unmodified-Since、Max-Forwards、 Proxy-Authorization、Range、Referer、User-Agent。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

对请求头域的扩展要求通讯双方都支持,如果存在不支持的请求头域,一般将会作为实体头域处理。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

典型的请求消息:Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

GET http://download.google.com/somedata.exe

Host: download.google.com

Accept:/

Pragma: no-cache

Cache-Control: no-cache

Referer: http://download.google.com/

User-Agent:Mozilla/4.04en

Range:bytes=554554-

上例第一行表示HTTP客户端(可能是浏览器、下载程序)通过GET方法获得指定URL下的文件。棕色的部分表示请求头域的信息,绿色的部分表示通用头部分。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

Host头域Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

Host头域指定请求资源的Intenet主机和端口号,必须表示请求url的原始服务器或网关的位置。HTTP/1.1请求必须包含主机头域,否则系统会以400状态码返回。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

Referer头域Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

Referer头域允许客户端指定请求uri的源资源地址,这可以允许服务器生成回退链表,可用来登陆、优化cache等。他也允许废除的或错误的连接由于维护的目的被追踪。如果请求的url没有自己的url地址,Referer不能被发送。如果指定的是部分url地址,则此地址应该是一个相对地址。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

Range头域Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

Range头域可以请求实体的一个或者多个子范围。例如,Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

表示头500个字节:bytes=0-499Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

表示第二个500字节:bytes=500-999Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

表示**后500个字节:bytes=-500Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

表示500字节以后的范围:bytes=500-Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

第一个和**后一个字节:bytes=0-0,-1Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

同时指定几个范围:bytes=500-600,601-999Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

但是服务器可以忽略此请求头,如果无条件GET包含Range请求头,响应会以状态码206(PartialContent)返回而不是以200 (OK)。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

User-Agent头域Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

User-Agent头域的内容包含发出请求的用户信息。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

响应消息Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

响应消息的第一行为下面的格式:Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

HTTP-VersionSPStatus-CodeSPReason-PhraseCRLFBp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

HTTP -Version表示支持的HTTP版本,例如为HTTP/1.1。Status- Code是一个三个数字的结果代码。Reason-Phrase给Status-Code提供一个简单的文本描述。Status-Code主要用于机器自 动识别,Reason-Phrase主要用于帮助用户理解。Status-Code的第一个数字定义响应的类别,后两个数字没有分类的作用。第一个数字可 能取5个不同的值:Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

1xx:信息响应类,表示接收到请求并且继续处理Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

2xx:处理成功响应类,表示动作被成功接收、理解和接受Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

4xx:客户端错误,客户请求包含语法错误或者是不能正确执行Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

5xx:服务端错误,服务器不能正确执行一个正确的请求Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

响应头域允许服务器传递不能放在状态行的附加信息,这些域主要描述服务器的信息和 Request-URI进一步的信息。响应头域包含Age、Location、Proxy-Authenticate、Public、Retry- After、Server、Vary、Warning、WWW-Authenticate。对响应头域的扩展要求通讯双方都支持,如果存在不支持的响应头 域,一般将会作为实体头域处理。Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

典型的响应消息:Bp0少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

HTTP/1.0200OK

Date:Mon,31Dec200104:25:57GMT

Server:Apache/1.3.14(Unix)

Content-type:text/html

Last-modified:Tue,17Apr200106:46:28GMT

Etag:”a030f020ac7c01:1e9f”

Content-length:39725426

Content-range:bytes554554-40279979/40279980

python中的header_python中header是什么意思相关推荐

  1. python提取数据包中的文件_Python-对Pcap文件进行处理,获取指定TCP流

    通过对TCP/IP协议的学习,本人写了一个可以实现对PCAP文件中的IPV4下的TCP流提取,以及提取指定的TCP流,鉴于为了学习,没有采用第三方包解析pcap,而是对bytes流进行解析,其核心思想 ...

  2. gnuradio上怎么使用python文件_使用Python从PDF文件中提取数据

    前言 数据是数据科学中任何分析的关键,大多数分析中最常用的数据集类型是存储在逗号分隔值(csv)表中的干净数据.然而,由于可移植文档格式(pdf)文件是最常用的文件格式之一,因此每个数据科学家都应该了 ...

  3. 使用Python从PDF文件中提取数据

    前言 数据是数据科学中任何分析的关键,大多数分析中最常用的数据集类型是存储在逗号分隔值(csv)表中的干净数据.然而,由于可移植文档格式(pdf)文件是最常用的文件格式之一,因此每个数据科学家都应该了 ...

  4. 如何利用python将excel表格中筛选出来的每一份数据各自另存为新的excel文件?

    如何利用python将excel表格中筛选出来的每一份数据各自另存为新的excel文件? 1.问题描述 2.解决过程 2.1 问题分析: 2.2 解决思路 3.运行结果 1.问题描述 最近在处理一堆工 ...

  5. Python网络爬虫过程中,构建网络请求的时候,参数`stream=True`的使用

    点击上方"Python共享之家",进行关注 回复"资源"即可获赠Python学习资料 今 日 鸡 汤 海内存知己,天涯若比邻. 大家好,我是皮皮. 一.前言 前 ...

  6. 使用Python,EoN模拟网络中的疾病扩散模型,并结合matplotlib绘图

    使用Python,EoN模拟网络中的疾病扩散模型,并结合matplotlib绘图 1. EoN是什么 2. 安装 3. 效果图 4. 源代码 4.1 源码 4.2 源码 参考 写这篇博客源于博友的提问 ...

  7. 使用Python,OpenCV在视频中进行实时条形码检测

    使用Python,OpenCV在视频中进行实时条形码检测 1. 步骤 2. 适用场景及优化 3. 总结 4. 源码 参考 上一篇博客介绍了如何检测和查找图像中的条形码.这篇博客将进行一些优化以检测实时 ...

  8. 趣谈HTTP协议中的那些MIME header

    HTTP协议是我们最常使用到的协议,我们通过浏览器上网,下载文件,上传数据很多都是使用的它,但是我以前对它还是懵懵懂懂的,逐渐地,我有些感悟了,所以就记载到这里.本文将尽量使用诙谐的笔法介绍HTTP中 ...

  9. 关于python缩进的描述中_关于Python程序中与“缩进”有关的说法中,以下选项中正确的是()...

    关于Python程序中与"缩进"有关的说法中,以下选项中正确的是() 答:缩进在程序中长度统一且强制使用 同文学或同音乐主题的民歌,<_______>是其中之一.此曲经 ...

最新文章

  1. jupyterlab debugger+显示图片
  2. Tensorflow_yolov3 Intel Realsense D435奇怪的现象,多摄像头连接时一旦能检测到深度马上就会卡(卡住)
  3. U盘上的笔记全弄丢了,痛苦啊痛苦!
  4. 8位可控加减法器_自主可控:QTouch在军工道系统上的应用
  5. python读取Excel实例详细教程
  6. Moto One Pro渲染图曝光:潮流“浴霸”四摄加持
  7. 【Linux】linux系统很卡排除
  8. 蓝桥杯 AGLO-152 算法训练 8-2求完数
  9. Windows mobile 下读取手机SIM卡信息
  10. python爬虫百度翻译997_python爬取百度翻译返回:{'error': 997, 'from': 'zh', 'to': 'en', ......
  11. “System.Exception: System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本” 的解决方案...
  12. sprintf函数的使用方法
  13. 2023中南大学计算机考研信息汇总
  14. Julia:Plots 包的属性汇总
  15. singleSpa记录
  16. 实验7 Oracle数据库安全管理
  17. 我的择业思考:在AI最火的时候来到工业界!
  18. WiFi基础学习到实战(二:WiFi网络“数据链路层”)
  19. 老毛桃PE修改IE主页
  20. JAVA验证字段正则表达式相关

热门文章

  1. 佳音图php,PHP5实例教程 简简单单生成条形码
  2. PIC 1508 TIM1的定时器中断使用
  3. 云服务器对网站用户的优势
  4. String Utils 工具类介绍大全 isAnyEmpty isAnyBlank stripToNull 等,一篇文章找全所有答案!
  5. 【BP靶场portswigger-服务端5】业务逻辑漏洞-11个实验(全)
  6. 1-C语言 8皇后问题 (For循环解法)
  7. python pandas数据清洗:sample()函数
  8. Podometer计步器
  9. 如何简单计算patch代码变化量?
  10. c语言动态规划算法数塔问题,动态规划之数塔问题...