HTTP报文介绍
来源:互联网 发布:人工智能技术发展趋势 编辑:程序博客网 时间:2024/06/05 02:31
HTTP/1.0是使用最为广泛的HTTP版本,他在HTTP/0.9的基础上添加了HTTP请求头,支持了更多的请求的方法,并能对多媒体对象进行处理。HTTP/1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次与服务器简历连接都要建立一个TCP连接,服务器完成请求处理后就会断开TCP连接。
HTTP/1.1修复了HTTP设计中的缺陷,是当前互联网主流的HTTP版本。在连接方面,HTTP/1.1支持持久连接,在一个TCP连接上可以传递多个HTTP请求和响应,减少了建立和关闭连接的消耗和时间延迟。HTTP/1.1在HTTP/1.0的请求头/响应头的基础上添加了更多的信息。Host主机头功能,可以让web浏览器根据主机头确定要访问的服务器的web站点。Keep-alive,用来实现HTTP/1.1的持久连接。
请求报文格式如下:
请求行
请求头
空行
请求数据
其中请求行包括:请求方法、请求URI、协议版本常见的请求方法:
HTTP请求方法
作用
GET
客户端请求指定资源信息,服务器返回指定的资源
HEAD
只请求响应报文中的HTTP首部
POST
将客户端的数据提交到服务器
PUT
用从客户端想服务器传送的数据取代指定的文档内容
DELETE
请求服务器删除Request-URI所标识的资源
MOVE
请求服务器将指定的页面移至另一个网络地址
其中POST、DELETE、PUT、GET是对资源的“增删改查操作”HEAD一般用于对于连通性的测试(如在七层负载均衡中的健康检查),MOVE的请求方法还没见过…..
请求头中的内容:
Header
作用
Accept
指定客户端能够接受的内容类型
Accept-Charset
浏览器可以接受的字符编码集
Accept-Enconding
指定浏览器可以支持的web服务器返回内容压缩编码类型
Accept-Language
浏览器可接受的语言
Accept-Ranges
可以请求网页实体的一个或者多个子范围字段
Authorization
HTTP授权的授权证书
Cache-Control
指定请求和响应遵循的缓存机制
Connection
表示是否需要持久连接(HTTP/1.1默认持久连接)
Cookie
HTTP请求发送时,会把保存在盖请求域名下的所有cookie值一起发送给web服务器
Content-Length
请求的内容长度
Content-Type
请求与实体对应的MIME信息
Date
请求发送的日期和时间
Expect
请求的特定的服务器行为
From
发出请求的用户的Email
Host
指定请求的服务器的域名、站定、端口号
If-Match
只有请求内容与实体相匹配才有效
If-None-Match
如果内容未改变发挥304,参数为服务器先前发送的Etag,与服务器回应的Etag比较判断是否改变
If-Range
如果实体未改变,服务器发送客户端丢失的部分,否则发送整个实体参数也为Etag
If-Unmodified-Since
只在实体在指定时间之后未被修改才请求成功的
Max-Forward
限制信息通过代理和网关传送的时间
Pragma
用来包含实现特定的指令
Proxy-Authorization
连接到代理的授权证书
Range
只请求实体的一部分,指定范围
Referer
先前网页的地址,当前请求网页紧随其后,即来路
TE
客户端愿意接受的传输编码,并通知服务器接受 接受尾加头信息
Upgrade
向服务器指定某种传输协议以便服务器进行转换
User-Agent
User-Agent的内容包含发出请求的用户信息
Via
通知中间网关活代理服务器地址,通信协议
Warning
关于消息实体的警告
空行:最后一个请求头之后是一个空行,发送回车符和换行符,通知服务器以下不再有请求头。
请求数据:请求数据不在GET方法中,应该与POST等方法进行使用时才包含。
GET方法的报文抓取如下:
可以在浏览器中查看请求信息:
响应报文格式如下:
状态行
响应头
响应正文
状态行:状态行通过提供一个状态吗来说明所请求的资源情况
不同范围的状态码及其对应的作用:
状态码范围
作用
100~199
用于指定客户端响应的某些动作
200~299
用于表示请求成功
300~399
用于已经移动的文件,并且常被包含在定位头信息中指定新的地址信息
400~499
用于指出客户端的错误
500~599
用于指出服务器的错误
常用的状态码:
状态码
详细描述说明
200-OK
服务器成功返回网页,这是成功的HTTP请求返回的标准状态码
301
永久跳转,所请求的网页将永久跳转到被设定的新位置
403
禁止访问,虽然这个请求是合法的,但是服务器端因为匹配了预先设置的规则而拒绝客户端的请求,此类问题一般为服务器或服务权限设置不但所致
404
服务器找不到客户端请求的指定页面,可能是客户端请求了服务器上不存在的资源所致
500
内部服务器错误,服务器遇到了意料不到的情况,不能完成客户的请求。这是一个较为笼统的报错,一般为服务器的设置或内部程勋问题导致。例如:Selinux开启,而有没有为HTTP设置规则许可,客户端访问就是500
502
坏的网关,一般是代理服务器请求后端服务器时,后端服务器不可用或没有完成相应网关服务器。这通常为返乡代理服务器下面的节点出问题所致
503
服务当前不可用,可能是服务器超载或停机维护导致的,或者是反向代理服务器后面没有可以提供的服务的节点
504
网关超时,一般是网关代理服务器请求后端服务器时,后端服务没有在特定的时间内完成处理请求。多数是服务器过载导致没有在指定的时间内返回数据给前端代理服务器
响应头:请求头类似,为响应头添加了一些附加信息
Header
作用
Accept-Ranges
表明服务器是否支持指定范围请求及哪种类型的分段请求
Age
从原始服务器到代理缓存形成的估算时间(以秒计,非负)
Allow
对某网络资源的有效的请求行为,不允许则返回405
Cache-Control
告诉所有的缓存机制是否可以缓存及哪种类型
Content-Encoding
web服务器支持的返回内容压缩编码类型。
Content-Language
响应体的语言
Content-Length
响应体的长度
Content-Location
请求资源可替代的备用的另一地址
Content-MD5
返回资源的MD5校验值
Content-Range
在整个返回体中本部分的字节位置
Content-Type
返回内容的MIME类型
Date
原始服务器消息发出的时间
ETag
请求变量的实体标签的当前值
Expires
响应过期的日期和时间
Last-Modified
请求资源的最后修改时间
Location
用来重定向接收方到非请求URL的位置来完成请求或标识新的资源
Pragma
包括实现特定的指令,它可应用到响应链上的任何接收方
Proxy-Authenticate
它指出认证方案和可应用到代理的该URL上的参数
refresh
应用于重定向或一个新的资源被创造,在5秒之后重定向(由网景提出,被大部分浏览器支持)
Retry-After
如果实体暂时不可取,通知客户端在指定时间之后再次尝试
Server
web服务器软件名称
Set-Cookie
设置Http Cookie
Trailer
指出头域在分块传输编码的尾部存在
Transfer-Encoding
文件传输编码
Vary
告诉下游代理是使用缓存响应还是从原始服务器请求
Via
告知代理客户端响应是通过哪里发送的
Warning
警告实体可能存在的问题
WWW-Authenticate
表明客户端请求实体应该使用的授权方案
响应数据:在请求网页是会返回HTML代码
抓取的报文:
浏览器中的报文:
————————————
【1】:http://blog.csdn.net/zhangliang_571/article/details/23508953
【2】:https://www.cnblogs.com/louis2008/p/baowen.html
【3】:http://blog.csdn.net/yipiankongbai/article/details/24176693
- http请求报文介绍
- HTTP 应答报文介绍
- http请求报文介绍
- http请求报文介绍
- HTTP 报文介绍
- HTTP报文介绍
- 《3》Http报文简单介绍
- HTTP报文
- HTTP报文
- HTTP报文
- Http报文
- HTTP报文
- HTTP报文
- HTTP报文
- HTTP报文
- Http 报文
- http报文
- HTTP报文
- Shell中判断语句if中-z至-d的意思
- 录屏并制作动图gif的方法
- Spark算子[11]:reduce、aggregate、fold 详解
- JavaScript对话框+事件处理器
- 2017年12月编程语言排行榜:Kotlin成最强黑马,C语言再次崛起
- HTTP报文介绍
- 图解openssl实现私有CA
- c++中的左值与右值
- 《数字技术》连载24: 第3章 逻辑设计初步 第4节 几种观点
- JVM GC垃圾回收器详解
- Kotlin简单网络请求及数据解析
- src/tcmalloc.cc:284] Attempt to free invalid pointer 0x7ff4821267d0 caffe VideoCapture Mac
- 正则表达式
- 内存溢出应对:把图片固定大小赋值给bitmap