动脑学院架构篇-HTTP请求、响应报文格式

2018-04-27  本文已影响689人  十年开发程序员

【HTTP】HTTP请求、响应报文格式

HTTP请求报文格式:

HTTP请求报文主要由请求行、请求头部、请求数据3部分组成

1,请求行

由3部分组成,分别为:请求方法、URL(见备注1)以及协议版本,之间由空格分隔

请求方法包括GET、HEAD、PUT、POST、TRACE、OPTIONS、DELETE以及CONNECT等扩展方法,当然并不是所有的服务器都实现了所有的方法,部分方法即便支持,处于安全性的考虑也是不可用的

协议版本的格式为:HTTP/主版本号.次版本号,常用的有HTTP/1.0和HTTP/1.1

2,请求头部

请求头部为请求报文添加了一些附加信息,由“名/值”对组成,每行一对,名和值之间使用冒号分隔

请求头部的最后会有一个空行,表示请求头部结束,接下来为请求正文,这一行非常重要,必不可少

3,请求数据

可选部分,比如GET请求就没有请求数据

GET请求示例:

get.png

POST请求示例:

post.png

HTTP响应报文格式:

HTTP响应报文主要由状态行、响应头部、响应正文3部分组成


1,状态行

由3部分组成,分别为:协议版本,状态码,状态码描述,之间由空格分隔
状态代码为3位数字,200299的状态码表示成功,300399的状态码指资源重定向,400499的状态码指客户端请求出错,500599的状态码指服务端出错(HTTP/1.1向协议中引入了信息性状态码,范围为100~199)

这里列举几个常见的:


2,响应头部

与请求头部类似,为响应报文添加了一些附加信息

常见响应头部如下:


常见响应头部示图

响应示例:

如上,在解析请求的时候,可能遇见的Transfer-Encoding响应头,而没有Content-Length。

表示编码方式:
Transfer-Encoding: chunked
Transfer-Encoding: compress
Transfer-Encoding: deflate
Transfer-Encoding: gzip
Transfer-Encoding: identity

指令

Android开发交流群 481302961


上一篇下一篇

猜你喜欢

热点阅读