4.HTTP详解
4.1什么是HTTP
超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。
-
文本:html,字符串...
-
超文本:图片,音乐,视频,定位,地图...
-
80
HTTPS:安全的
- 443
4.2两个时代
-
http1.0
-
- HTTP/1.0:客户端可以与web服务器连接后,只能获得一个web资源,断开连接
-
https:
-
- HTTP/1.1:客户端可以与web服务器连接后,可以获得多个web资源。
4.3Http请求
- 客户端—发送请求(Request)—服务器
百度:
Request URL: https://www.baidu.com/ 请求地址
Request Method: GET get方法/post方法
Status Code: 200 OK 状态码:200
Remote Address: 220.181.38.149:443
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
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cache-Control: max-age=0
Connection: keep-alive
Cookie: BIDUPSID=7A03A1B4C022B6CC4B0F3D64E32ABF00; PSTM=1650443070; BD_UPN=12314753; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; BAIDUID=7A03A1B4C022B6CC5C297F694750246C:SL=0:NR=10:FG=1; sug=3; sugstore=0; ORIGIN=0; bdime=0;
Host: www.baidu.com
1.请求行
-
请求行中的请求方式:GET
-
请求方式:GET、POST、HEAD、DELETE、PUT、TRACT...
-
-
get:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,不安全,但是高效
-
post:请求能够携带的参数没有限制,不会在浏览器的URL地址栏显示数据内容,安全,但不高效。
-
2.消息头
Accept-Encoding
设置在请求头当中,会告诉服务器,我可以接受哪种编码压缩。
Accept: 告诉浏览器,它所支持的类型
Accept-Encoding: 支持哪种编码方法,GBK,UTF-8,GB2312,ISO08859-1
Accept-Language: 告诉浏览器,它的语言环境
Cache-Control: 缓存控制
Connection: 告诉浏览器,请求完成是断开还是保持连接
Host:主机
4.4Http响应
- 服务器—响应—客户端
百度:
Content-Encoding
设置在响应头中,会告诉客户端,我用的是哪种编码压缩。
Content-Type:一般是指网页中存在的Content-Type,用于定义网络文件的类型和网页的编码,决定文件接收方将以什么形式、什么编码读取这个文件。
Cache-Control: private 缓存控制
Connection: keep-alive 连接保持
Content-Encoding: gzip 编码
Content-Type: text/html;charset=utf-8 类型
1.响应体
Accept: 告诉浏览器,它所支持的类型
Accept-Encoding: 支持哪种编码方法,GBK,UTF-8,GB2312,ISO08859-1
Accept-Language: 告诉浏览器,它的语言环境
Cache-Control: 缓存控制
Connection: 告诉浏览器,请求完成是断开还是保持连接
Host:主机
Reflesh:告诉客户端,多久刷新一次
Location:让网页重新定位
2.响应状态码
200:请求响应成功
3xx:请求重定向
- 重定向:你重新到给我你的新位置去
4xx:找不到资源 404
- 资源不存在
5xx:服务器代码错误 500 502(网关错误)
常见面试题:
当你的浏览器中地址栏输入地址并回车的一瞬间到页面展示回来,经历了什么?