1.HTTP协议简介
1.1.什么是通信
通信:信息的传递和交换。
通信三要素:
- 通信的主体
- 通信的内容
- 通信的方式
1.2.什么是通信协议
客户端和服务器之间要实现网页内容的传输,则通信的双方必须遵守网页内容的传输协议。 网页内容又叫做超文本,因此网页内容的传输协议又叫做超文本传输协议(HyperText Transfer Protocol),简称HTTP协议。
1.3.什么是HTTP协议?
HTTP采用了请求/响应的交互模型
2.HTTP请求消息
3.HTTP响应消息
3.1.什么是HTTP响应消息
响应消息就是服务器响应给客户端的消息内容,也叫作响应报文。
3.2.响应消息的组成部分
HTTP响应消息由状态行、响应头部、空行、响应体4个部分组成。
3.2.1.状态行
状态行由HTTP协议版本、状态码和状态码的描述文本3个部分组成,他们之间使用空格隔开。
3.2.2.响应头部
响应头部用来描述服务器的基本信息。响应头部由多行键/值对组成,每行的键和值之间用英文的猫好分隔。
3.2.3.空行
在最后一个响应头部字段结束后,会紧跟一个空行,用来通知客户端响应头部至此结束。
响应消息中的空行,用来分隔响应头部与响应体。
3.2.4.响应体
响应体中存放的是服务器响应给客户端的资源内容。
4.HTTP响应方法
4.1.什么是HTTP请求方法
4.2.HTTP的请求方法
5.HTTP响应状态代码
5.1.什么是HTTP响应状态码
5.2.HTTP响应状态码的组成及分类
HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字用来对状态码进行细分。HTTP状态码共分为五种类型:
| 状态码类型 | 描述 |
|---|---|
| 1xx | 信息,服务器收到请求,需要请求者继续执行操作 |
| 2xx | 成功,操作被成功接收并处理 |
| 3xx | 重定向,需要进一步的操作已完成请求 |
| 4xx | 客户端错误,请求包含语法错误或无法完成请求 |
| 5xx | 服务器错误,服务器在处理请求的过程中发生了错误 |
常见状态码分析
200 ---- 表示请求成功,一般用于GET请求和POST请求
201 ---- 表示请求成功并创建了新的资源。如创建用户场景等
301 ---- 表示永久性重定向,表示请求的资源被分配了新的URL,之后应使用更改的URL。一般是用于老域名不用了,但是需要将老域名指向新域名。
302 ---- 表示临时性重定向,表示请求的资源被分配了行的URL,之后应使用更改的URL
304 ---- 表示自从上次请求后,请求的网页未修改过,浏览器读取缓存内容。服务器返回此响应时,不会返回网页内容。
400 ---- 表示请求报文中存在 语法错误
401 ---- 表示未经许可,需要通过HTTP认证
403 ---- 表示服务器拒绝该次访问(一般是访问权限出现问题)
404 ---- 表示服务器上找不到请求的资源
500 ---- 表示服务器在执行时发生了错误,也有可能是web应用存在的bug
503 ---- 表示服务器暂时处于超负载或正在进行停机维护,无法处理请求