http,https协议解析及状态码

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 消息状态码

序号状态码描述
1100
2101
3102

4.2 请求成功状态码

序号状态码描述
1200
2201
3202
4203
5204
6205
7206
8207

4.3 重定向状态码

序号状态码描述
1300
2301
3302
4303
5304
6305
7306
8307

4.4 请求错误状态码

序号状态码描述
1400
2401
3402
4403
5404
6405
7406
8407
9408
10409
11410
12411
13412
14413
15414
16415
17416
18417
19418
20421
21422
22423
23424
24425
25426
26449
27451

4.5 服务器状态码

序号状态码描述
1500
2501
3502
4503
5504
6505
7506
8507
9509
10510
11600

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天然玩家

坚持才能做到极致

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值