4.1、什么是http
http(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。
文本:无链接
超文本:利用超链接将普通文本的信息组织在一起的超级文本
4.2、http两个时代的区别
- 1.0时代:客户端与web服务器连接后,只能请求一个资源,然后断开连接
- 1.1时代:客户端向web服务器连接后,可以请求多个资源
4.3、http请求(以百度为例)
客户端--请求--服务器
常规
请求 URL: https://www.baidu.com/?tn=44048691_1_oem_dg
请求方法: GET
状态代码: 200 OK
远程地址: 36.152.44.96:443
引用站点策略: no-referrer-when-downgrade
请求
Accept: text/html 请求的数据类型
Accept-Encoding: gzip, deflate, br 阶码
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6 语言
Cache-Control: max-age=0 缓存控制
Connection: keep-alive 是否保持连接
Host: www.baidu.com 主机
-
请求行:请求的域名端口号+请求方式
- get:少量参数,大小有限制,传输速度快(在3G时代下),数据会在URL地址栏中显示,安全性低
- post:多个参数,大小无限制,传输速度慢(在3G时代下,现在基本可以忽略),数据不会在URL地址栏中显示,安全性高
消息头
Accept 告诉浏览器,支持的数据类型 Accept-Encoding 支持的编码格式 Accept-Language 语言环境 Cache-Control 缓存控制 Conneciton 请求完成时断开还是保持连接
4.4、http响应
服务器--响应--客户端
常规
请求 URL: https://www.baidu.com/?tn=44048691_1_oem_dg
请求方法: GET
状态代码: 200 OK
远程地址: 36.152.44.96:443
引用站点策略: no-referrer-when-downgrade
响应
Bdpagetype: 2
Bdqid: 0xe274578b0000447d
Cache-Control: private 缓存控制
Connection: keep-alive
Content-Encoding: gzip
Content-Type: text/html;charset=utf-8
-
响应体
Accept 告诉浏览器,支持的数据类型 Accept-Encoding 支持的编码格式 Accept-Language 语言环境 Cache-Control 缓存控制 Conneciton 请求完成时断开还是保持连接 Refresh 刷新间隔 Location 让网页重新定位
-
响应状态码:
- 200:请求响应成功
- 3xx:请求重定向
- 4xx(404):找不到资源
- 5xx(500):服务器代码错误