HTTP协议的概念和介绍
概念:
超文本传输协议
作用:
规范浏览器和服务器的规范
HTTP的交互流程
- 客户端和服务端建立连接
- 客户端通过HTTP协议发送请求到服务端
- 服务端接收请求后,进行处理,然后将处理结果通过HTTP协议返回(响应)给客户端
- 关闭客户端和服务端的连接(HTTP)
HTTP的请求格式
-
请求头: 请求方式,请求地址,HTTP协议的版本
-
请求行: 消息报头,一般用来说明客户端要使用的一些附加信息
-
空行: 位于请求行和请求数据之间,空行是必须的
-
请求数据(非必须,有的也叫请求主体,GET方式没有)
HTTP的请求方式
- GET:
- 通过地址栏传输数据
- 虽然HTTP协议没有规定每次传输数据的限制,但是浏览器的地址栏有限制,所以GET请求方式只不适合传输过多的数据
- 用户传输的数据直接显示在地址栏,不安全
- 效率相对于POST较高
- POST
- 通过数据流传输数据
- 没有传输数据的限制,适合大量数据的传输
- 传输的数据不会显示在地址栏,相对安全
- 效率相对于GET较低
HTTP的响应格式
- 响应行(状态行): HTTP版本,状态吗,状态消息
- 响应头: 消息报头,客户端使用的附加信息
- 空行: 响应头和相应数据之间,必须有
- 响应数据: 正文,服务器返回给浏览器的信息
HTTP的状态码
消息分类 | 描述 |
---|---|
1** | 信息,服务器收到请求,需要请求者继续执行操作 |
2** | 成功,操作被成功接收并处理 |
3** | 重定向,需要进一步操作以完成请求 |
4** | 客户端错误,请求包含语法错误无法完成请求 |
5** | 服务器错误,服务器在处理请求时发生了错误 |
- 常见的状态码
常见状态码 | 描述 |
---|---|
200 OK | 客户端请求成功 |
400 Bad Request | 客户端请求有语法错误,不能被服务器所理解 |
401 Unauthorized | 请求未经授权,这个状态码必须和www-Authenticate报头域一起使用 |
403 Forbidden | 服务器收到请求,但是拒绝提供服务 |
404 Not Found | 请求资源不存在,如:输入了错误的URL |
500 Internal Server Error | 服务器发生不可预期的错误 |
503 Server Unavailable | 服务器当前不能处理客户端的请求,一段时间后可能恢复正常 |