HTTP请求消息和响应消息的数据格式
概念
-
HTTP协议 Hyper Text Transfer Protocol 超文本传输协议 传输协议 传输协议定义了客户端和服务器端通信时,发送数据的格式。 特点 基于TCP/IP的高级协议 默认端口号:80 基于请求/响应模型 :一次请求对应一次响应 无状态的:每次请求之间相互独立,不能交互数据 历史版本 HTTP 1.0:每一次请求响应都会建立新的连接,浪费时间,消耗资源。 HTTP 1.1:复用连接。 请求消息数据格式
数据格式
-
请求消息数据格式 响应消息数据格式
请求消息数据格式
请求方式
-
HTTP协议有7中请求方式,常用的有2种 GET: 1. 请求参数在请求行中,在url后。 2. 请求的url长度有限制的 3. 不太安全 POST: 1. 请求参数在请求体中 2. 请求的url长度没有限制的 3. 相对安全
请求行
-
Request method :请求方式 Request URI :请求端的URI地址 Http version :HTTP协议的版本
GET方式:
POST方式:
请求头
-
Accept:指浏览器或其他客户可以接爱的MIME文件格式。 Accept-Encoding:指出浏览器可以接受的编码方式。 Accept-Langeuage:指出浏览器可以接受的语言种类,如en或en-us,指英语。 connection:用来告诉服务器是否可以维持固定的HTTP连接。 Cookie:浏览器用这个属性向服务器发送Cookie。 Host:对应网址URL中的Web名称和端口号。 User-Agent:客户浏览器名称。 兼容性问题 Referer:表明产生请求的网页URL。 防盗链 统计工作 Content-Type:用来表名request的内容类型。 Accept-Charset:指出浏览器可以接受的字符编码。英文浏览器的默认值是ISO-8859-1。
GET方式:
POST方式:
请求空行
-
空行,用于分割请求头和请求体。
请求体
-
封装POST请求消息的请求参数的
响应消息数据格式
响应行
-
协议/版本 响应状态码:服务器告诉客户端浏览器本次请求和响应的一个状态。 1xx 指示信息:表示请求已接收,但没有完成,需要继续处理。 2xx 成功:表示请求已被成功接收、理解、接受。 3xx 重定向:要完成请求必须进行更进一步的操作。 302:重定向 304:访问缓存 4xx 客户端错误:请求有语法错误或请求无法实现。 404:请求路径没有对应的资源 405:请求方式没有对应的doXxx方法 5xx 服务器端错误:服务器未能实现合法的请求。
响应头
-
Content-Type:响应体数据格式以及编码格式 text/html;charset=UTF-8 Content-disposition:打开响应体数据的格式 in-line:在当前页面内打开(默认值) attachment;filename=xxx:以附件形式打开响应体。文件下载
响应空行
响应体
-
传输的数据