1 简介
超文本传输协议(Hypertext Transfer Protocol,HTTP)
HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)
![](https://img-blog.csdnimg.cn/img_convert/b398db53171d1a50e76f4f636812746c.png)
2 http请求与响应
http默认使用80端口,https默认使用443端口.
序号 | 组成部分 | 描述 |
---|
1 | 请求行 | 描述客户端的请求方式(GET,POST…),请求资源名称(https://xxxx.xxx.xxx), http协议版本号 |
2 | 请求头 | 客户端请求的服务器主机名,客户端机器环境信息 |
3 | 空行 | 换行 |
4 | 请求数据 | 请求体中携带的参数(form-data,json数据) |
序号 | 组成部分 | 描述 |
---|
1 | 状态行 | 服务器响应状态 |
2 | 消息报头 | 服务器响应日期,响应数据类型,响应数据长度 |
3 | 空行 | 换行 |
4 | 响应正文 | 服务器返回的数据(html,css,json) |
- 特点
短连接.连接一次,发送一个数据包,然后断开连接,客户端连接数量承载能力强,节省服务器资源(长连接,每个客户端,消耗部分服务器资源).
无状态.服务器不感知客户端状态,数据传输结束后,客户端,断开与服务器连接.
2.1 客户端请求
GEThttps://bkssl.bdimg.com/static/wiki-lemma/pkg/wiki-lemma_c03dab6.css
[HTTP/2.0 200 OK 0ms]
请求网址:https://bkssl.bdimg.com/static/wiki-lemma/pkg/wiki-lemma_c03dab6.css
请求方法:GET
状态码:
200
版本:HTTP/2.0
Host: bkssl.bdimg.com
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0
Accept: text/css,*/*;q=0.1
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
2.2 服务器响应
HTTP/1.1 200 OK
Bdpagetype: 3
Bdqid: 0x8bc1f76f000818e3
Cache-Control: private
Ckpacknum: 2
Ckrndstr: f000818e3
Connection: Keep-Alive
Content-Encoding: gzip
Content-Type: text/html;charset=utf-8
Date: Sun, 13 Oct 2019 10:08:10 GMT
Server: BWS/1.1
Set-Cookie: delPer=0; path=/; domain=.baidu.com
Set-Cookie: BD_CK_SAM=1;path=/
Set-Cookie: PSINO=6; domain=.baidu.com; path=/
Set-Cookie: BDSVRTM=10; path=/
Set-Cookie: H_PS_PSSID=1445_21080_29720_29567_29221; path=/; domain=.baidu.com
Strict-Transport-Security: max-age=172800
Vary: Accept-Encoding
X-Ua-Compatible: IE=Edge,chrome=1
Transfer-Encoding: chunked
access-control-allow-origin: *
2.3 通信
http协议是明文通信,客户端传输的数据可以通过抓包的方式获取,由于明文通信,所以,所有客户端传输的数据均可被解析并劫持,数据安全性较低.
- 正常通信
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191014142625785.png#pic_center)
图2.1 http正常通信
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191014143759595.png#pic_center)
图2.2 http异常通信
3 https
3.1 https简介
http+SSL/TLS即http协议的加密通信.服务端和客户端的信息传输都会通过TLS进行加密,传输的数据都是加密后的数据.
3.2 https通信过程
![在这里插入图片描述](https://img-blog.csdnimg.cn/9eb9c3c78ba340dca1d03bc3727375a9.png#pic_center)
图3.1 https通信
3.3 公钥和私钥
4 状态码
4.1 消息状态码
4.2 请求成功状态码
序号 | 状态码 | 描述 |
---|
1 | 200 | |
2 | 201 | |
3 | 202 | |
4 | 203 | |
5 | 204 | |
6 | 205 | |
7 | 206 | |
8 | 207 | |
4.3 重定向状态码
序号 | 状态码 | 描述 |
---|
1 | 300 | |
2 | 301 | |
3 | 302 | |
4 | 303 | |
5 | 304 | |
6 | 305 | |
7 | 306 | |
8 | 307 | |
4.4 请求错误状态码
序号 | 状态码 | 描述 |
---|
1 | 400 | |
2 | 401 | |
3 | 402 | |
4 | 403 | |
5 | 404 | |
6 | 405 | |
7 | 406 | |
8 | 407 | |
9 | 408 | |
10 | 409 | |
11 | 410 | |
12 | 411 | |
13 | 412 | |
14 | 413 | |
15 | 414 | |
16 | 415 | |
17 | 416 | |
18 | 417 | |
19 | 418 | |
20 | 421 | |
21 | 422 | |
22 | 423 | |
23 | 424 | |
24 | 425 | |
25 | 426 | |
26 | 449 | |
27 | 451 | |
4.5 服务器状态码
序号 | 状态码 | 描述 |
---|
1 | 500 | |
2 | 501 | |
3 | 502 | |
4 | 503 | |
5 | 504 | |
6 | 505 | |
7 | 506 | |
8 | 507 | |
9 | 509 | |
10 | 510 | |
11 | 600 | |
5 小结
暂无
【参考文献】
[1]https://www.runoob.com/http/http-messages.html
[2]https://www.cnblogs.com/haiyan123/p/7777924.html
[3]https://www.runoob.com/w3cnote/http-vs-https.html
[4]https://blog.51cto.com/11883699/2160032
[5]https://www.jb51.net/article/99075.htm
[6]https://www.cnblogs.com/RoyalBlue/p/9835679.html
[7]https://blog.csdn.net/qq_37049781/article/details/84837342
[8]https://www.jianshu.com/p/79e341a5a81a
[9]https://blog.csdn.net/zhengzhaoyang122/article/details/82184072