网页HTTP header头信息详解(2)

时间:2010-03-31 14:42:00 



典型的请求消息:

GET http://download.microtool.de:80/somedata.exe
Host: download.microtool.de
Accept:*/*
Pragma: no-cache
Cache-Control: no-cache
Referer: http://download.microtool.de/
User-Agent:Mozilla/4.04[en](Win95;I;Nav)
Range:bytes=554554-

上例第一行表示HTTP客户端(可能是浏览器、下载程序)通过GET方法获得指定URL下的文件。棕色的部分表示请求头域的信息,绿色的部分表示通用头部分。
Host头域

Host头域指定请求资源的Intenet主机和端口号,必须表示请求url的原始服务器或网关的位置。HTTP/1.1请求必须包含主机头域,否则系统会以400状态码返回。


Referer头域

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


Range头域

Range头域可以请求实体的一个或者多个子范围。例如,

表示头500个字节:bytes=0-499

表示第二个500字节:bytes=500-999

表示最后500个字节:bytes=-500

表示500字节以后的范围:bytes=500-

第一个和最后一个字节:bytes=0-0,-1

同时指定几个范围:bytes=500-600,601-999

但是服务器可以忽略此请求头,如果无条件GET包含Range请求头,响应会以状态码206(PartialContent)返回而不是以200 (OK)。
User-Agent头域

User-Agent头域的内容包含发出请求的用户信息。

响应消息

响应消息的第一行为下面的格式:

HTTP-VersionSPStatus-CodeSPReason-PhraseCRLF

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

1xx:信息响应类,表示接收到请求并且继续处理

2xx:处理成功响应类,表示动作被成功接收、理解和接受

3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理

4xx:客户端错误,客户请求包含语法错误或者是不能正确执行

5xx:服务端错误,服务器不能正确执行一个正确的请求

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

标签:HTTP头,header
0
投稿

猜你喜欢

  • Pandas时间序列重采样(resample)方法中closed、label的作用详解

    2023-01-31 17:46:36
  • python 发送和接收ActiveMQ消息的实例

    2022-08-23 18:45:20
  • Go语言k8s kubernetes使用leader election实现选举

    2024-04-26 17:20:53
  • 解决Python pandas plot输出图形中显示中文乱码问题

    2023-03-14 21:39:59
  • 浅析python中的迭代与迭代对象

    2023-11-19 09:21:35
  • 适合前端Vue开发童鞋的跨平台Weex的使用详解

    2024-05-22 10:42:20
  • 想用户所想(感受亚马逊的设计)

    2007-08-26 17:09:00
  • python自动截取需要区域,进行图像识别的方法

    2021-05-14 11:04:42
  • C#操作本地文件及保存文件到数据库的基本方法总结

    2024-01-17 10:27:55
  • JavaScript下利用fso判断文件是否存在的代码

    2024-05-02 17:25:30
  • 报错No module named numpy问题的解决办法

    2023-09-20 12:02:07
  • mySQL中replace的用法

    2024-01-27 13:42:07
  • Python中ROS和OpenCV结合处理图像问题

    2023-04-27 00:33:02
  • python获取文件后缀名及批量更新目录下文件后缀名的方法

    2021-02-19 20:51:14
  • 在python中将字符串转为json对象并取值的方法

    2022-12-19 02:22:37
  • python网络爬虫学习笔记(1)

    2023-12-24 04:08:16
  • pycharm部署django项目到云服务器的详细流程

    2021-05-27 23:32:19
  • Python Matplotlib简易教程(小白教程)

    2023-12-29 05:31:57
  • Python实现求解最大公约数的五种方法总结

    2023-07-02 20:34:46
  • mac 安装python网络请求包requests方法

    2023-08-05 09:01:41
  • asp之家 网络编程 m.aspxhome.com