1 简介
超文本传输协议(Hypertext Transfer Protocol,HTTP)
HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)
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协议是明文通信,客户端传输的数据可以通过抓包的方式获取,由于明文通信,所以,所有客户端传输的数据均可被解析并劫持,数据安全性较低.
- 正常通信

图2.1 http正常通信

图2.2 http异常通信
3 https
3.1 https简介
http+SSL/TLS即http协议的加密通信.服务端和客户端的信息传输都会通过TLS进行加密,传输的数据都是加密后的数据.
3.2 https通信过程

图3.1 https通信
3.3 公钥和私钥
4 状态码
4.1 消息状态码
序号 |
状态码 |
描述 |
1 |
100 |
|
2 |
101 |
|
3 |
102 |
|
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