http报文
http报文中有很多行,这些行的字段都是由一些ASCII码串组成,但各个字段的长度是不同的。HTTP报文可以分为两种,一种是从web客户端发往web服务端的HTTP报文,称为请求报文,另一种是从web服务端发往客户端的报文,称为响应报文。两种报文的格式的基本相同。
请求报文
- 请求行
作用:用来说明客户端想要做什么
内容:包括方法字段GET和URL字段以及HTTP协议版本
- 请求头
作用:通过客户端把请求的相关信息发给服务器
内容:包括媒体类型、语言类型、支持压缩、客户端类型、主机等信息。
- 空行
作用:告诉服务器空行以下内容不属于请求头部信息。
- 请求报文主体
作用:用来说明客户端具体想要做的事情。
内容:查看信息、应用post方法。
响应报文
请求报文的内容与格式有如下:
- 状态行
作用:用来说明服务端响应客户端的状态。
内容:包括洗衣及版本号、数字状态码、状态情况
- 响应头
作用:通过服务端把响应的相关信息给客户端
内容:包括Location、server、connect、vary等
- 空行
作用:告诉客户端空行以下内容不属于响应头部信息。
- 响应报文主体
作用:用来装载着要返回给客户端的数据
内容:包括文本、html、视频或者是图片。
Http方法
命令 | 说明 |
---|---|
GET | 获取指定URL的数据 |
PUT | 提交数据 |
HEAD | 仅获取文档首部 |
DELETE | 删除指定页面 |
http状态码
1xx 处理信息,服务器收到请求,需要请求者继续执行操作;
2xx 请求成功,操作被成功接收并处理;
3xx 重定向,需要进一步的操作以完成请求;
4xx 客户端错误,请求包含语法错误或无法完成请求;
5xx 服务器错误,服务器在处理请求的过程中发生了错误;
Content-Type
ContentType是表明请求报文和响应报文的类型,一般get请求中不会传contentType,返回结果中往往会有content-type:
json格式:application/json;charset=utf-8
提交的post请求数据,一般有两种方式
- application/x-www-form-urlencoded
- multipart/form-data
一次完整的http请求
get和post的区别
get和post是http请求的两种方式,这两个方法的功能如同我们在字面意思中理解到的,get用于查询数据,post用于提交并更新数据。它们的区别主要体现在两点:1)get请求的参数在url后边,post的请求参数在请求体中;get请求的参数会保存在浏览器当中,post请求的参数不会保存在浏览器当中。
参考文献
[1]https://www.cnblogs.com/sharesdk/p/9310004.html http状态码
[2]https://blog.51cto.com/baishuchao/1927189 http请求流程