网页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