Http
1. 什么是http
HTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上
- 文本:html、字符串…
- 超文本:图片、音乐、视频、定位、地图…
- 端口:80、https:443
2. 两个时代
http1.0
1
| 客户端/1.0:客户端可以与web服务器连接后,只能获得一个web资源,断开连接
|
http2.0
1
| 客户端/1.0:客户端可以与web服务器连接后,可以获得多个web资源
|
3.http请求
1.客户端—发请求—-服务器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| 百度 General
Request URL: https://www.baidu.com/ 请求地址 Request Method: GET 请求方法 Status Code: 200 OK 状态码 Remote Address: 36.152.44.95:443 远程地址 Referrer Policy: strict-origin-when-cross-origin 协议
Request Headers
Accept:text/html Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9,en;q=0.8 Cache-Control: max-age=0 Connection: keep-alive
|
2.请求行
请求方式:get(post)
1 2
| get:请求能够携带的参数比较少,大小有限制,会在浏览器URL地址栏显示,不安全,但高效 post:请求能够携带数据没有限制,大小没有限制,不会再浏览器显示,安全,但不高效
|
3.消息头
1 2 3 4 5 6
| Accept:text/html 告诉浏览器,它所支持的数据类型 Accept-Encoding: gzip, deflate, br 支持哪种编码格式 Accept-Language: zh-CN,zh;q=0.9,en;q=0.8 告诉浏览器,它的语言环境 Cache-Control: max-age=0 缓存控制 Connection: keep-alive 告诉浏览器,请求完成时断开还是保持连接 HOST: 主机
|
4.http响应
1 2 3 4 5 6 7
| 百度 Response Headers
Cache-Control: private 缓存控制 Connection: keep-alive 连接:保证连接 Content-Encoding: gzip 编码 Content-Type: text/html 类型
|
响应体
1 2 3 4 5 6 7 8
| Accept:text/html 告诉浏览器,它所支持的数据类型 Accept-Encoding: gzip, deflate, br 支持哪种编码格式 Accept-Language: zh-CN,zh;q=0.9,en;q=0.8 告诉浏览器,它的语言环境 Cache-Control: max-age=0 缓存控制 Connection: keep-alive 告诉浏览器,请求完成时断开还是保持连接 HOST: 主机 Refresh:告诉客户端多久刷新一次 Location:让网页重新定位
|
响应状态码
- 200:请求响应成功
- 3xx:请求重定向(你重新到我给你新的位置去)
- 404:找不到资源
- 5xx:服务器代码错误:500(502网关错误)