HTTP协议

175 阅读3分钟

1.HTTP协议简介

1.1.什么是通信

通信:信息的传递和交换。

通信三要素:

  • 通信的主体
  • 通信的内容
  • 通信的方式

1.2.什么是通信协议

客户端和服务器之间要实现网页内容的传输,则通信的双方必须遵守网页内容的传输协议网页内容又叫做超文本,因此网页内容的传输协议又叫做超文本传输协议(HyperText Transfer Protocol),简称HTTP协议

1.3.什么是HTTP协议?

image.png

HTTP采用了请求/响应的交互模型

image.png

2.HTTP请求消息

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

3.HTTP响应消息

3.1.什么是HTTP响应消息

响应消息就是服务器响应给客户端的消息内容,也叫作响应报文。

3.2.响应消息的组成部分

HTTP响应消息由状态行、响应头部、空行、响应体4个部分组成。

image.png

3.2.1.状态行

状态行由HTTP协议版本、状态码和状态码的描述文本3个部分组成,他们之间使用空格隔开。

image.png

image.png

3.2.2.响应头部

响应头部用来描述服务器的基本信息。响应头部由多行键/值对组成,每行的键和值之间用英文的猫好分隔。

image.png image.png

image.png

3.2.3.空行

在最后一个响应头部字段结束后,会紧跟一个空行,用来通知客户端响应头部至此结束。

响应消息中的空行,用来分隔响应头部与响应体。

image.png

3.2.4.响应体

响应体中存放的是服务器响应给客户端的资源内容。

image.png

image.png

4.HTTP响应方法

4.1.什么是HTTP请求方法

image.png

4.2.HTTP的请求方法

image.png

5.HTTP响应状态代码

5.1.什么是HTTP响应状态码

image.png

image.png

5.2.HTTP响应状态码的组成及分类

HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字用来对状态码进行细分。HTTP状态码共分为五种类型:

状态码类型描述
1xx信息,服务器收到请求,需要请求者继续执行操作
2xx成功,操作被成功接收并处理
3xx重定向,需要进一步的操作已完成请求
4xx客户端错误,请求包含语法错误或无法完成请求
5xx服务器错误,服务器在处理请求的过程中发生了错误

常见状态码分析

200  ----  表示请求成功,一般用于GET请求和POST请求

201  ----  表示请求成功并创建了新的资源。如创建用户场景等

 

301  ----  表示永久性重定向,表示请求的资源被分配了新的URL,之后应使用更改的URL。一般是用于老域名不用了,但是需要将老域名指向新域名。

302  ----  表示临时性重定向,表示请求的资源被分配了行的URL,之后应使用更改的URL

304  ----  表示自从上次请求后,请求的网页未修改过,浏览器读取缓存内容。服务器返回此响应时,不会返回网页内容。

image.png  

400  ----  表示请求报文中存在 语法错误

401  ----  表示未经许可,需要通过HTTP认证

403  ----  表示服务器拒绝该次访问(一般是访问权限出现问题)

404  ----  表示服务器上找不到请求的资源

image.png  

500  ----  表示服务器在执行时发生了错误,也有可能是web应用存在的bug

503  ----  表示服务器暂时处于超负载或正在进行停机维护,无法处理请求

image.png