HTTP协议
简介
HTTP协议(超文本传输协议HyperText Transfer Protocol),它是基于TCP协议的应用层传输协议,是客户端和服务端进行数据传输的一种规则。
HTTP 是一种无状态 (stateless) 协议, HTTP协议本身不会对发送过的请求和相应的通信状态进行持久化处理。这样做的目的是为了保持HTTP协议的简单性,从而能够快速处理大量的事务, 提高效率。
但是,很多应用场景中,我们需要保持各种状态,如:登录状态等。我们就必须引入一些技术来记录管理状态,例如Cookie。
详情
上图很好的表现了http请求和响应的组成部分
HTTP请求
在HTTP请求中,包含了请求行,请求头,请求体三个部。
请求行:由请求Method、URL、HTTP Version三部分构成,
总的来说请求行就是定义了本次请求的请求方式, 请求的地址, 以及所遵循的HTTP协议版本
请求头:由一系列的键值对组成,允许客户端向服务器端发送一些附加信息或者客户端自身的信息
请求体:在发送POST请求时才会有请求正文,GET方法并没有请求正文。
HTTP响应
HTTP响应也由三部分组成,包括状态行,消息报头,响应正文。详情如上图所示。
常见的响应状态码如下:
状态码 | 语义 | 描述 |
---|---|---|
200 | Ok | 请求成功 |
301 | Moved Permanently | 永久重定向 |
302 | Found | 临时重定向 |
404 | Not Found | 页面不存在 |
405 | Method Not Allowed | 客户端的请求方法被禁止 |
500 | Internal Server Error | 服务器内部错误 |