HTTP协议

一、HTTP协议

状态码

用于响应中的  (表示响应的结果如何)

HTTP中的状态码都是标准约定好的

几个常见的状态码:

1. 200        OK

表示OK,一切顺利

2. 404   Not Found

访问资源没找到

3. 403        Forbidden

请求资源没有权限访问.

4. 405   Method Not Allowed

你的服务器只支持GET请求,但是你发了个POST请求

5. 500        Internal Server Error

服务器内部错误(服务器挂了)

6. 504        Gateway Timeout

访问服务器超时了

可能是服务器挂了,也可能是网挂了

7. 302 Move temporarily        重定向

访问网页A,结果跳转到网页B

301 永久重定向

302 临时重定向

如果是永久重定向,浏览器就会把结果记录下来,下次访问就直接访问目标地址,不用多转跳一次.

在这种重定向的报文的响应中,会有一个特殊的header叫做location,就描述了要重定向到的目标地址,是在哪里.

状态码中还有一个特殊的418,无含义,彩蛋.

如何构造出HTTP请求

1. 通过代码构造

2. 通过第三方工具构造

PostMan   经典的广泛使用的工具

二、HTTPS协议

HTTPS是在HTTP的基础上,引入了一个加密层(SSL)

HTTP是明文传输(不安全),解决安全问题,最核心的要点就是 " 加密 "

明文=>密文   加密

密文=>明文  解密

加密的过程,需要一个关键的道具,称为密钥.

对称加密:加密和解密使用的是同一个密钥

非对称加密:加密和解密使用的是两个密钥,一个用来加密,另一个就用来解密.

两个密钥,就可以一个公示出去,称为 " 公钥 ",另一个自己保存好,称为 " 私钥 ".

HTTPS工作过程

只要针对HTTPS的数据进行解密了,就能够得到HTTP格式的数据.

需要引入加密,对上述传输的数据进行保护.主要就是针对header和body进行加密.

1.引入对称加密

通过对称加密的方式,针对传输的数据进行加密操作.

       (1) 对称加密的时候,客户端和服务器需要使用同一个密钥.

       (2) 不同的客户端,需要使用不同的密钥(如果所有的客户端密钥都相同,加密就形同虚设)

也就意味着,每个客户端连接到服务器的时候,都需要自己生成一个随机的密钥,并且把这个密钥告知服务器,(服务器生成的也行,需要告知给服务器)

但是,密钥传输给了对方,要是被黑客窃取了,就意味着加密操作没有用了.

2. 引入非对称加密

使用非对称加密.主要的目的就是为了对对称密钥进行加密,确保对称密钥的安全性.

   不能使用非对称加密,针对后续传输的各种 header body 等进行加密,而是只能使用非对称加密去加密对称密钥.非对称加密的加密解密成本要远远高于对称加密. 

非对称加密的过程:

服务器生成一对非对称密钥,私钥服务器自己持有,公钥可以告知任何的客户端.

客户端在连上服务器之后,就需要先从服务器这边拿到公钥,客户端生成对称密钥,拿着公钥针对对称密钥进行加密.

此时就可以把加密之后的密文进行传输了.由于想要解密,必须通过私钥,而私钥只有服务器自己知道,此时这样的加密的数据就可以比较安全的到达服务器了.

服务器通过私钥解密之后得到了对称密钥,接下来和客户端之间的通信就通过对称加密来完成了.

证书

但是这样子,还是有风险的,黑客可以创建出自己的私钥和公钥,冒充自己是服务器.

要解决这个问题,就需要用到 " 证书 "

证书是一个结构化的数据,证书会包含一系列的信息.

证书是搭建服务器的人.要从第三方公证机构申请的.

客户端拿到数据之后,会对证书验证真伪.

客户端拿到证书之后,主要做两件事:

1. 按照同样的校验和算法,把证书的其他字段都重新计算一遍,得到 校验和1

2. 使用系统中内置的公证机构公钥,对证书中的签名进行解密,得到 校验和2

此时就可以对比两个校验和是否一致,从而得知证书是否被修改过,即数据是否有问题.

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值