HTTP协议
HTTP(全称Hyper Text Transfer Protocol) 超文本传输协议,定义了客户端和服务器端通信时,数据交互的格式。
1. 基于TCP/IP的高级协议
2. 默认端口号:80
3. 基于请求/响应模型的: 一次请求对应一次响应
- HTTP协议规定了客户端向服务器发送数据的格式,叫做HTTP请求
- HTTP协议规定了服务器向客户端返回数据的格式,叫做HTTP响应
HTTP请求格式
HTTP协议规定了客户端发给服务器的数据格式,包含4个部分,分别是【请求行】【请求头】【请求空行】【请求体】
【请求行】: 描述请求方式、请求URL、以及HTTP版本
请求方式一共有8种,这里只了解常用的只有两种GET和POST(不区分大小写)
GET请求:请求参数拼接在请求行上,在浏览器地址栏看见。
POST请求:请求参数会被封装在请求体重,在浏览器地址栏看不见。
【请求头】: 描述客户端浏览器告诉服务器若干配置信息
【空行】: 用于分割请求头与请求体
【请求体】:用于封装POST请求消息的请求参数;GET请求没有请求体数据
GET请求格式
POST请求格式
HTTP响应格式
HTTP协议规定服务器发给客户端的数据格式,包含4个部分,分别是【响应行】【响应头】【空行】【响应体】
【响应行】:由HTTP协议版本、响应状态吗、状态码描述组成
【响应头】:若干个键-值对组成,是服务器用来告诉客户端浏览器一些配置信息。
【空行】:用于分隔响应头和响应体
【响应体】:其实就一个HTML页面中的内容包括标签、CSS样式、JS等等
响应状态码
服务器给客户端响应数据时,会携带着告诉浏览器当前数据的一个状态码,通过状态码告诉客户端请求成功、请求失败、找不到资源、请求重定向等等。客户端可以通过判断状态码,做出针对性的数据处理。
状态码 | 状态 |
---|---|
100 | 只有请求的一部分已经被服务器接收,但只要它没有被拒绝,客户端应继续该请求 |
200 | 请求成功 |
302 | 重定向,所请求的页面已经临时转移到一个新的 URL |
304 | 访问缓存,所请求的页面已经临时转移到一个新的 URL |
404 | 客户端错误,请求路径服务器没有对应的资源 |
405 | 客户端错误,请求方式找不到对应的方法 |
500 | 服务端错误,可能服务器内部有异常 |
常见响应头
响应头是由一系列的键值对组成,是服务器用来告诉客户端浏览器一些配置信息。
Content-Type | 服务器告诉浏览器本次响应体文档格式以及编码格式 |
---|---|
Content-Encoding | 在传输过程中,这个头信息指定页面的编码方式 |
Content-disposition | 服务器告诉客户端以什么格式打开响应体数据 |
Refresh | 指定浏览器刷新页面的秒数 |
Content-Length | 指示响应中的字节数。只有当浏览器使用持久(keep-alive)HTTP 连接时才需要这些信息 |