http和https

http和https网上很全了,但是SSHTLS网上说法不好理解

 

http1.0

  • http基础特性(骨头版)

    • http,超文本传输协议,在于TCP之上,属于应用层明文传输

     

  • http三次握手

    • http-clent发送请求同步包到服务器,请求连接

      • 带SYN、seq的TCP报文

      • seq = x,SYN = 1

    • http-server收到请求,告知http-client已准备好连接,您确认收到后就可以发送了

      • 返回SYN、seq和ACK

      • ACK=x+1,seq = y,SYN = 1

    • http-client受到回复,告知http-server自己确认收到

      • 返回ACK

      • ACK=y+1

    • 名词解释:SYN-同步,ACK-确认,seq-序列号

     

     

     

     

     

  • http四次挥手

    • http-client告知http-server已经搞定了,准备关闭连接了

      • 带FIN、seq的tcp报文

      • FIN = 1,seq = x

    • http-server回复收到,我处理完回复您

      • 返回FIN、ACK

      • FIN = 1,ACK = x+1

    • http-server处理完成后,告知http-client我现在处理好了,可以关闭了

      • 返回FIN、seq

      • FIN = 1,seq = y

    • http-client收到后,告知http-server好的,请关闭

      • 返回FIN、ACK

      • FIN = 1,ACK = y+1

 

从http1.0到http1.1

  • http1.0默认短连接,http1.1支持长连接(client和server的connention要改为keep-alive)

  • 待补充

 

从http1.1到http2.0

  • http2.0使用二进制传输,解析效率高,http1.1使用文本传输,解析效率低

  • http2.0支持多路复用,http1.1的长连接虽然支持发送多请求,但是是阻塞的

  • http2.0头部对比http1.1,抽离了数据封装,只发送不同的数据,减少开销加快速度

  • http2.0允许服务器直接推送客户端资源

  • 待补充

 

从http到https

https是http经过SSL/TLS加密的安全协议,默认端口443

  • https首先进行tcp三次握手,才会进行TLS四次握手。

TLS四次握手如下:

  • 客户端请求域名

    • 发送自己的TLS版本,支持的加密方式,支持的压缩方法。一个随机数。

      • 就是发一下个人信息,问一下服务器能不能进来的,然后给了一个用来生成带锁头宝箱的玩意。

  • 服务器收到

    • 验证自己是否有符合的方案(如版本等)

      • 验证一下你是不是可以进来的

    • 根据随机数生成公钥私钥,返回加密的公钥。

      • 生成你要的带锁头宝箱和钥匙,钥匙我自己保管,带锁头宝箱给你放东西用

  • 客户端收到后

    • 验证证书合法性。

      • 就看看服务器现在安不安全

    • 如成功或者用户授权,则生成随机数的密码

      • 我也有一把钥匙

    • 使用约定好的加密方式计算握手包

      • 把东西藏在这把钥匙对应的带锁头小箱子里边

    • 再使用刚刚的随机数密码加密握手包

      • 锁上

    • 最后再使用公钥加密握手包+随机数密码

      • 把钥匙和锁放在服务器给的带锁头宝箱的里边

    • 发送到服务器

      • 扔回去,看你能不能解开,能解开就ok了

  • 服务器收到后

    • 使用私钥解密数据包,得到随机数密码和握手包

      • 就是用我的钥匙开锁,得到你的箱子和你的钥匙

    • 使用随机数密码解密握手包,验证信息

      • 用你的钥匙打开你的箱子,看看锁的东西是不是约定好的东西(就是验货)

    • 然后使用密码加密握手消息,返回客户端。

      • 验货ok,用你的钥匙把我的确认信息按照约定的方式锁在小箱子发给你,告诉你这次通信安全可靠

 

 

 后续会补充

posted @ 2022-08-18 13:32  umbrella~  阅读(19)  评论(0编辑  收藏  举报