HTTP协议
一、简介
Hyper Text Transfer Protocol(超文本传输协议),用于万维网服务器与本地浏览器之间传输超文本的传送协议。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。
二、特性
- 基于TCP/IP协议之上的应用层协议:包裹其他请求信息。
- 基于 请求-响应 模式:请求必定先由客户端发出,服务端才会发送响应。
- 无状态保存:自身不对请求和响应之间的通信状态进行保存。
- 无连接:每次连接只处理一个请求
三、请求格式
- 请求行:方法(get/post) URL 协议版本
- 请求头:多个Key:Value
- /r/n
- 请求数据
3.1 get请求和post请求
get请求:主要用于从服务器获取数据;也可提交数据,提交的数据会显式放在URL之后(不安全),以?分割URL和传输数据,参数之间以&相连;提交的数据大小有限制。
post请求:主要用于向服务器传送数据;提交的数据放在HTTP包的请求体中;提交的数据大小没有限制。
四、响应格式
- 响应行:协议版本 状态码 状态码描述
- 响应头:多个Key:Value
- /r/n
- 响应正文
4.1 响应状态码
1XX | Informational(信息性状态码) | 接收的请求正在处理 |
2XX | Succes(成功状态码) | 请求正常处理完毕 |
3XX | Redirection(重定向状态码) | 需要进行附加操作以完成请求 |
4XX | Client Error(客户端错误状态码) | 服务器无法处理请求 |
5XX | Server Error(服务器错误状态码) | 服务器处理请求出错 |
五、URL
5.1 简介
统一资源标识符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
5.2 格式
协议://主机名或IP[:端口]/路径/[;参数][?查询]#信息片段