四大特性
- 基于请求和响应
- 基于
TCP/IP
作用于应用层之上的协议 - 无状态,不保存用户的信息,但是又COOKIES、Session、Token保存用户信息
- 无链接/短链接
- 长连接--websocket
请求数据格式
- 请求首行--标识HTTP协议版本 当前请求方式
请求方式,常用的两种方式:get
,朝服务端要数据,而post
是朝服务端提交数据 - 请求头--由key,value键值对组成
- 请求体,get无请求体,而post有
- 每一行结束必须使用\r\n进行换行,发送的是二进制数据
b'GET / HTTP/1.1\r\n
Host: 192.168.101.103\r\n
Upgrade-Insecure-Requests: 1\r\n
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36\r\n
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\r\n
Accept-Encoding: gzip, deflate\r\n
Accept-Language: zh-CN,zh;q=0.9\r\n
Connection: close\r\n
\r\n
响应数据格式
响应首行--标识HTTP西医的版本 响应状态码
响应状态码:用一个简单的数据来表示复杂的状态和描述信息-
1XX
:服务端已经成功接收到你的数据正在处理,你可以继续提交额外的数据2XX
:服务端成功响应3XX
:重定向-
4XX
:请求错误- 404:请求资源不存在
- 403:当前请求不合法,或者不符合访问资源的条件
-
5XX
:服务器内部错误- 500:服务器宕机
响应头(由Key,Value键值对组成)'/r/n'
响应体(返回给浏览器的数据)
URL:统一资源定位符
- 对外开放的接口,用来获取服务器上指定的数据