http加密、状态码、百度

1.怎么实现非对称加密传输对称加密:

概念

https相当于在http和tcp之间加上了一层ssl加密,但是要注意的是:
https协议的内容传输的加密上使用的是对称加密非对称加密之作用在证书验证阶段
因为非对称加密的加解密效率是非常低的,而https的应用场景中通常端与端之间存在大量的交互,非对称加密的效率是无法接受的。

对于对称加密,比如说常见的移位替换等方法,只要知道了加密过程,就一定知道解密过程,因为加密算法比较简单,那么根据加密算法就能反推出解密算法,也就是双方的秘钥是一样的,这就是对称加密。

非对称加密:你的手上有两个密钥(一对密钥),它们有一定的关联,但没有办法通过其中一个算出另外一个。你把一个密钥紧紧地攥在手里,永远不向别人公布**(私钥);把另外一个发送给我,当然,发送给我的途中,所有的设备都知道了这个密钥(公钥)。之后我用公钥加密了数据**,并发送给你,你却可以奇迹般地用私钥解密它。但是对于只有公钥的人,却不能用公钥对其进行解密

过程

https建立连接的过程
在这里插入图片描述
1、客户端发起握手请求,注意这里请求是明文的,客户端没有使用任何秘钥。直接达到请求url的443端口即可。
2、服务器将数字证书发送给客户端,这个数字证书是为了防止中间人攻击的,里面包括了公钥。请注意,这里服务器接收到请求之后,会在服务器本地生成这个一对公钥和私钥,它的公钥会发送给客户端,私钥留在自己本地。而数字证书,是保证了客户端收到这个私钥所在的数字证书之后,信任真正是由这个网站发送过来的**(数字证书表示对服务器的认可)而不是别的中间人。
3、客户端
验证证书的合法性**。因为数字证书包括过期时间,域名以及最重要的公钥,所以数字证书能验证是不是真正由网站发过来的。
4、确定证书合法之后,客户端随机生成一个长整数,这个长整数用公钥加密,加密之后就发送至服务器。
5、服务器用私钥解密,拿到了之后进行数据交换时用于对称加密的秘钥。这个秘钥就是以后进行真正数据交换的秘钥了。
6、服务端通过客户端传入的随机数构造对称加密算法,对返回结果内容进行加密后传输给客户端,这样子这个对称加密的算法双方都知道了,https加密连接也就完成了。

那究竟怎么避免加密失败了呢?
首先,第二步的数字证书保证了服务器和公钥的可信任性,这样之后客户端就可以大胆利用这个公钥进行加密。

第二,服务器用公钥发送,私钥一直留在本地,这样就没可能让客户端发送的东西被其他人截取之后破解,因为没有私钥。也就是说第五步用私钥解密之后,保证了这个客户端随机生成的整数只有客户端和服务器知道,其他的人都不知道。

之后利用这个别人都不知道的整数去生成对称加密的算法,这样其他人就就算是拦截了数据,因为对称加密算法不知道,也就无法破解了。因此保证了https协议的安全性

web状态码

1XX:信息提示

这类状态代码表示临时的响应。客户端在收到常规相应之前,应准备接受一个或多个1xx相应。

HTTP状态码说明
100继续
101切换协议

2XX:成功

这类状态代码表示服务器成功的接受了客户的请求。

HTTP状态码说明
200确定。客户端请求已经成功
201已经创建
202已接受
203非权威性信息
204无内容
205重置内容
206部分内容。表明已经部分下载了一个文件。可以继续损坏的下载,或者将下载拆分为多个并发的流
207多状态(webDAV)。此消息之前应该还有一条XML消息,其中可能包含几个单独的响应代码,具体取决于发出了多少个子请求。

3XX:重定向

客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同页面,或通过代理服务器重复该请求。

HTTP状态码说明
301已永久移动。此请求和之后所有的请求都应该转到指定的URL
302对象已移动。对于基于表单的身份验证,此消息通常表示“对象已经移动”。请求的资源临时驻留在不同的URL。由于重定向有时可能对改变,客户端将来在请求时应该继续使用RequestURL。只有在CacheControl 或 Expires 标题字段中指示,此响应才能够缓存。
304未修改。客户端请求的文档已经在缓存中,文档缓存以来尚未被修改过。客户端使用的缓存副本。而从不服务器下载文档
307临时从定向

4XX:客户端错误

发生错误,客户端似乎有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份验证信息。

在这里插入图片描述

401状态码:

在这里插入图片描述

403状态码

在这里插入图片描述
在这里插入图片描述

404状态码

在这里插入图片描述

5XX:服务器错误

服务器由于遭遇错误而不能完成该请求
在这里插入图片描述

500状态码

在这里插入图片描述

502状态码

在这里插入图片描述

如何与百度建立连接

1、检查本地dns缓存,看缓存中是否有解析数据。
2、查看本地的hosts文件
3、本机固定的dns服务器(路由器)找到13台根域服务器
4、根域找到com域,com找到baidu域名
给你返回结果
返回给你主机
5、和百度服务器建立TCP可靠连接,三次握手
keep-alive
request
response
最终通过浏览器实现解析页面

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值