HTTPS和TCP

  1. tcp的三次握手四次挥手机制
    1. TCP建立连接的过程:
      1. 第一次握手(客户端发送syn包到服务器):客户端发送syn包到服务器端,进入syn_send状态,等待服务器端确认
      2. 第二次握手(服务器返回syn+ack包给客户端):服务器端收到客户端的syn包,发送syn+ack包给客户端,进入syn_recv状态
      3. 第三次握手(客户端返回ack包给服务端):客户端收到服务器端的syn+ack包,发送个ack包到服务端,至此,客户端和服务端进入established状态
      4. 握手过程中传送的包不含任何数据,连接建立后才会开始传送数据,理想状态下,TCP连接一旦建立,在通信双方的任何一方主动关闭连接前,TCP连接都会一直保持下去
    2. TCP断开连接的过程:
      1. 第一次挥手:主动关闭方发送fin包到被动关闭方,告诉被动关闭方我不会再给你发送数据了
      2. 第二次挥手:被动关闭方收到syn包,发送ack给对方,确认序号为收到序号+1
      3. 第三次挥手:被动关闭方也发送fin包给主动关闭方,告诉对方我也不会给你发送数据了
      4. 第四次挥手:主动关闭方收到syn包,发送ack给对方,至此,完成四次挥手
  2. Https原理:
    1. HTTPS协议就是基于SSL的HTTP协议
    2. HTTPS使用与HTTP不同的端口(HTTP:80,HTTPS:443)
    3. 提供了身份验证与加密通信方法,被广泛用于互联网上安全敏感的通信
      1. 客户端发送请求https连接服务端
      2. 服务端返回证书(公钥)给客户端
      3. 客户端使用公钥对称密钥加密
      4. 客户端发送给服务端加密后的对称密钥
      5. 客户端发给服务端通过对称加密的密文通信
    4. 步骤详解:
      1. 客户端请求SSL连接,并将自己支持的加密规则发给网站
      2. 服务端将自己的身份信息以证书形式发回给客户端,证书里面包含了网站地址,加密公钥,以及证书的颁发机构
      3. 获得证书后,客户端要做一下工作:
        1. 验证证书合法性
        2. 如果证书受信任,客户端会生成一串随机数的密码,并用证书提供的公钥进行加密
        3. 将加密好的随机数发给服务端
      4. 获得到客户端发的加密了的随机数之后,服务端用自己的私钥进行解密,得到这个随机数,把这个随机数做为对称加密的密钥,(利用非对称加密传输对称加密的密钥)
      5. 之后服务端与客户端之间就可以用随机数对各自的信息进行加密,解密,
      6. 注意的是:证书是一个公钥,这个公钥是进行加密用的,而私钥是进行解密用的,公钥任何人都知道,私钥只有自己知道,这是非对称加密
      7. 而对称加密就是钥匙只有一把,我们都知道
      8. 之所以用到对称加密,是因为对称加密的速度更快,而非对称加密的可靠性更高
    5. 客户端请求->服务端发送证书(公钥)->客户端验证证书,并生成随机数,通过公钥加密后发送给服务端—>服务端用私钥解密出随机数–>对称加密传输数据

相关推荐

  1. HTTPSTCP

    2024-06-08 08:22:04       9 阅读
  2. HTTPtcp的区别

    2024-06-08 08:22:04       18 阅读
  3. TCP、IP、TCP/IP、HTTPHTTPS协议简介

    2024-06-08 08:22:04       41 阅读
  4. TCP Keepalive HTTP Keep-Aliv

    2024-06-08 08:22:04       37 阅读
  5. TCP、UDP HTTP 的区别

    2024-06-08 08:22:04       29 阅读
  6. http cookie,tcp syncookie tcp fastopen 杂谈

    2024-06-08 08:22:04       24 阅读
  7. HTTPS中的TLSTCP能同时握手吗

    2024-06-08 08:22:04       15 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-08 08:22:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-08 08:22:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-08 08:22:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-08 08:22:04       20 阅读

热门阅读

  1. 深入解析CSS中的块级元素

    2024-06-08 08:22:04       9 阅读
  2. opencv 并行加速

    2024-06-08 08:22:04       9 阅读
  3. 11、架构-从类库到服务之客户端负载均衡

    2024-06-08 08:22:04       6 阅读
  4. dart 基本语法

    2024-06-08 08:22:04       6 阅读
  5. Flutter 中的 ParentDataWidget 小部件:全面指南

    2024-06-08 08:22:04       9 阅读
  6. npm 源管理工具 nrm

    2024-06-08 08:22:04       6 阅读
  7. PyWhatKit ,一个全自动发送消息多功能的Pyhton库

    2024-06-08 08:22:04       8 阅读