zoukankan      html  css  js  c++  java
  • SSL 延迟与 Http、Https

    SSL延迟有多大?

    1. 基本概念

    ssl 协议由网景公司(Netscape)设计,由此网络链接从 http 逐步走向更为安全的 https 加密链接模式。

    HTTPs 链接和 HTTP 链接都建立在 TCP 协议之上,而三次握手是 TCP 协议实现的重要环节。

    • 三次握手(handshake)


      这里写图片描述

      • 客户端首先发送 SYN 数据包,
      • 然后服务器发送SYN+ACK数据包,
      • 最后客户端发送ACK数据包,

      接下来就可以发送内容(data)了。这三个数据包的发送过程,叫做 TCP 握手。

    2. HTTP vs HTTPs

    HTTPs 链接和 HTTP 链接都建立在 TCP 协议之上。HTTP 链接比较简单,使用三个握手数据包建立连接之后,就可以发送内容数据了。而 HTTPs 链接,它也采用 TCP 协议发送数据,所以它也需要上面的这三步握手过程。而且,在这三步结束以后,它还有一个 SSL 协议。

    • HTTP耗时 = TCP握手
    • HTTPs耗时 = TCP握手 + SSL握手

    也即,为实现 ssl 协议所需的 ssl 握手是 https 相较 http 连接更为耗时的原因所在。

    3. curl 验证

    使用 linux 下的命令行工具 curl 进行验证:

    $ curl -w "TCP handshake: %{time_connect}, SSL handshake: %{time_appconnect}
    " -so /dev/null https://www.alipay.com
    
    TCP handshake: 0.293, SSL handshake: 0.494
    • -so:s:silent,关闭标准输出
    • time_connect/time_appconnect:分别表示 TCP 握手的耗时,SSL 握手的耗时;
  • 相关阅读:
    TCGA下载神器--TCGAbiolinks
    perl模块终极解决方案--转载
    Web前端优化
    关于CDN
    手写RateLimiter
    互联网高并发之限流
    互联网高并发之Hystrix实现服务隔离和降级
    关于Hystrix
    Apollo原理
    SpringBoot2.0之整合Apollo
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9421378.html
Copyright © 2011-2022 走看看