https到服务器做了什么

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    当我们通过浏览器访问一个网站时,常常会在URL前面看到https,这代表着网站采用了HTTPS协议来进行通信。那么,https到服务器做了什么呢?

    首先,HTTPS是基于HTTP协议的一种安全版本,通过使用SSL(Secure Sockets Layer)或TLS(Transport Layer Security)协议来加密通信内容,确保传输过程的安全性。

    当我们访问一个使用HTTPS的网站时,首先会发送一个HTTPS请求给服务器。服务器收到请求后,会返回一个数字证书(Digital Certificate)。数字证书是由可信CA机构(Certificate Authority)签发的,用于验证网站身份的一种电子证明。浏览器会验证证书的合法性,包括验证签发机构的可信性以及证书的有效期等。

    验证通过后,浏览器会从证书中获取网站的公钥。公钥是用于加密数据的密钥,只有对应的私钥可以解密。浏览器利用公钥对随后的通信内容进行加密,并发送给服务器。

    服务器收到加密的数据后,利用自己的私钥解密,并对内容进行处理。处理完成后,服务器使用公钥加密响应内容,并发送给浏览器。

    浏览器收到加密的响应后,利用之前获取到的私钥进行解密。解密完成后,浏览器将内容显示在浏览器窗口中。

    通过使用HTTPS,可以保证通信过程中的数据传输是加密的,不易被窃取或篡改。这对于涉及敏感信息(如用户名、密码、银行卡号等)的网站来说至关重要。

    总结起来,当我们使用HTTPS访问服务器时,首先进行数字证书验证,然后进行密钥交换,接着进行加密通信,最后解密并显示响应内容。这一系列步骤确保了通信的安全性。

    1年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    当客户端通过https连接到服务器时,以下是服务器所做的一些主要操作:

    1. 握手过程:在https连接建立之前,服务器和客户端进行一系列的握手操作。在握手过程中,服务器会发送自己的数字证书给客户端,并且进行密钥交换,以确保连接的安全性。

    2. 数字证书验证:客户端收到服务器发送的数字证书后,会对其进行验证。这包括验证证书的合法性、证书是否过期、是否由受信任的证书颁发机构签发等。如果证书验证通过,则说明连接是安全的,客户端将继续与服务器进行通信。

    3. 密钥交换:在握手过程中,服务器和客户端会协商出一个用于加密和解密数据的共享密钥。这个密钥将在后续的通信中使用,以确保数据的机密性和完整性。

    4. 数据传输:一旦握手过程完成,服务器和客户端之间的数据传输将开始。在https连接中,数据会被加密,以防止第三方对数据的窃听和篡改。服务器的主要任务是根据客户端的请求,处理并返回所需的数据。

    5. 数据完整性校验:服务器在发送数据给客户端之前,会使用一个散列函数对数据进行校验,以确保数据在传输过程中没有被篡改。客户端在接收到数据后,会使用相同的散列函数对数据进行校验,以验证数据的完整性。

    总的来说,https连接到服务器后,服务器会通过握手过程建立安全连接,验证数字证书的合法性,进行密钥交换,对数据进行加密和解密,并确保数据在传输过程中的完整性。这些步骤都是为了保证https连接的安全性和可靠性。

    1年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    当客户端通过HTTPS与服务器建立连接时,以下是HTTPS到服务器的主要步骤和操作流程:

    1. 建立握手(Handshake)过程:
      a. 客户端向服务器发送一个“Client Hello”消息,其中包含支持的加密算法、协议版本等信息。
      b. 服务器收到“Client Hello”消息后,选择一个加密算法和协议版本,并向客户端发送一个“Server Hello”消息,其中包含服务器选择的加密算法、协议版本等信息。
      c. 客户端和服务器之间的握手过程还包括验证服务器的身份,服务器可以使用数字证书来证明自己的身份。服务器向客户端发送证书,客户端使用预先安装的证书颁发机构(CA)的公钥来验证证书的有效性。如果验证成功,客户端就可以确信该服务器的身份。
      d. 如果服务器要求客户端进行客户端身份验证,服务器会向客户端发送一个“Certificate Request”,要求客户端发送证书。客户端可以发送自己的证书,证明自己的身份。
      e. 在握手过程的最后,服务器会向客户端发送一个“Server Done”消息,表示握手过程已完成。

    2. 密钥交换(Key Exchange)过程:
      a. 客户端生成一个随机数,称为“Pre-Master Secret”,并使用服务器的公钥进行加密。
      b. 服务器接收到加密的“Pre-Master Secret”后,使用自己的私钥进行解密,得到“Pre-Master Secret”。
      c. 客户端和服务器使用各自的“Pre-Master Secret”以及之前协商好的加密算法和协议版本等信息,生成共享的“Master Secret”。
      d. 通过“Master Secret”生成会话密钥,该密钥用于对称加密和解密通信数据。

    3. 数据传输阶段:
      a. 在建立握手和密钥交换之后,客户端和服务器之间的通信数据将使用对称密钥进行加密和解密。
      b. 客户端和服务器之间的通信将使用称为“Record Layer Protocol”的协议进行处理。这个协议通过将数据分成更小的块(称为记录)来提供可靠的传输和加密。
      c. 在发送数据之前,数据会被拆分成记录,并使用对称密钥进行加密。服务器接收到记录后,使用相同的对称密钥进行解密。

    总结:HTTPS到服务器的过程主要涉及握手、密钥交换和数据传输阶段。在握手过程中,证书的验证和身份的确认是重要的步骤。密钥交换过程中,使用公钥和私钥来确保安全的密钥交换。在数据传输阶段,使用对称密钥对通信数据进行加密和解密,确保数据的机密性和完整性。整个过程通过SSL/TLS协议实现。

    1年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部