概念:
Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。
特点:
基于TCP协议:面向连接,安全
基于请求-响应模型的:一次请求对应一次响应
HTTP协议是无状态的协议:对于事务处理没有记忆能力。每次请求-响应都是独立的。
•缺点:多次请求间不能共享数据。
•优点:速度快
作用:网页的工作原理就是,浏览器不断的向服务器发送请求数据包,服务器收到请求数据包之后向浏览器返回响应数据包。浏览器和服务器收到数据包之后都需要先对数据包进行解析,然后才能获取其中的数据。http协议规定了数据的格式,使得浏览器和服务器之间可以进行通信。
查看方式:
可以使用浏览器的开发者工具中的Network检查浏览器和服务器之间通信过程中所有的数据包。
HTTP请求协议
HTTP-请求数据格式
请求行:请求数据第一行
(请求方式、资源路径、协议)
请求头:第二行开始,格式key:value
请求体:用于POST请求,存放请求参数
请求头含义:
Host | 请求的主机名 |
User-Agent | 浏览器版本,例如Chrome浏览器的标识类似Mozilla/5.0 ... Chrome/79,IE浏览器的标识类似Mozilla/5.0 (Windows NT ...) like Gecko |
Accept | 表示浏览器能接收的资源类型,如text/*,image/*或者*/*表示所有; |
Accept-Language | 表示浏览器偏好的语言,服务器可以据此返回不同语言的网页; |
Accept-Encoding | 表示浏览器可以支持的压缩类型,例如gzip, deflate等。 |
Content-Type | 请求主体的数据类型。 |
Content-Length | 请求主体的大小(单位:字节)。 |
请求体使用:
请求方式-GET: 请求参数在请求行中,没有请求体,如:/brand/findAll?name=OPPO&status=1。GET请求大小是有限制的。
请求方式-POST: 请求参数在请求体中,POST请求大小是没有限制的。
HTTP响应协议
相应协议格式:
响应行:响应数据第一行(协议、状态码、描述)
响应头:第二行开始,格式key:value
响应体:最后一部分,存放响应数据
常见的状态码格式和响应头格式:
其中一下三个状态码需要记住:
HTTP协议解析
概念:Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。
Web服务器
Web服务器是一个软件程序,对HTTP协议的操作进行封装,使得程序员不必直接对协议进行操作,让Web开发更加便捷。主要功能是 "提供网上信息浏览服务" 。