四.Http
4.1、什么是HTTP
超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使开发和部署非常地直截了当。-----来自百度百科。
- 文本:html,字符串,……
- 超文本:图片,音乐,视频,包括定位,地图……
- 默认端口:80
Https:安全的
- 端口:443
4.2、两个时代
- http1.0
- HTTP/1.0:客户端可以与web服务器连接后,只能获得一个web资源。断开连接。
- http2.0
- HTTP/1.1:客户端可以与web服务器连接后,可以获得多个web资源。
4.3、Http请求
- 客户端—发请求(Request)—服务器
百度:
Request URL: https://www.baidu.com/ 请求地址
Request Method: GET get方法/post方法
Status Code: 200 OK 状态码:200
Remote(远程) Address: 14.215.177.39:443
Referrer Policy: no-referrer-when-downgrade
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ed7ZY9c9-1639278378106)(D:\笔记\javaweb的images\屏幕截图 2021-12-07 154654.png)]
1.请求行
- 请求行中的方式:GET
- 请求方式:**GET,Post,**HEAD,DELETE,PUT,TRACT……
- get:请求能够携带的参数比较少,大小有限制,会在浏览器中的URL地址栏显示数据内容,不安全,但高效。
- post:请求能够携带的参数没有限制,大小没有限制,不会在浏览器中的URL地址栏显示数据内容,安全,但但不高效。
2.消息头
Accept 告诉浏览器,他所支持的数据类型
Accept-Encoding 支持的编码格式 GBK UTF-8 GB2312 ISo8859-1
Accept-Language 告诉浏览器,它的语言环境
Cache-Control 缓存控制
Connection 告诉浏览器,请求完成是断开还是保持链接
HOST:主机……
4.4、Http响应
- 服务器—响应–客户端
百度:
Cache-Conttrol:private 缓存控制
Connection:Keep-Alive 连接:保持连接
Content-Encoding:gzip 编码类型
Content-Type:text/html
Cxy_all:baidu+5cbe5aeb8e9b28594439b6f69e226837
Date:Sat,07 Sep 2019 07:02:15 GMT 当前时间
Set-Cookie:BDSVRTM=0;path=/ Cookie的地址
Set-Cookie:BD_HOME=0;path=/
Set-Cookie:H_PS_PSSID=1433_21089_29522_29519_29720_29568_29221_26350_29460;path=/;
domain=.baidu.com
Set-Cookie:delper=0;path=/;domain=.baidu.com
Strict-Transport-Security:max-age=172800 脚本
Transfer-Encoding:chunked
Vary:Accept_Encoding
X-Ua-Compatible:IE=Edge,chrom=1
1.响应体
Accept 告诉浏览器,他所支持的数据类型
Accept-Encoding 支持的编码格式 GBK UTF-8 GB2312 ISo8859-1
Accept-Language 告诉浏览器,它的语言环境
Cache-Control 缓存控制
Connection 告诉浏览器,请求完成是断开还是保持链接
HOST:主机……
Refrush:告诉客户端,多久刷新一次
Location:让网页重新定位
2.响应状态码(重点)
- 200 :请求响应成功 200
- 3xx:请求重定位
- 重定向:你重新去我给你的新位置。
- 4xx:找不到资源:404
- 资源不存在。
- 5xx:服务器代码错误 500 ,
- 502: 网关错误