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 握手的耗时;
  • 相关阅读:
    判断DataSet为空
    msxml3.dll 错误 '800c0008'
    google Map api地理位置坐标转换
    C# .net中cookie值为中文时的乱码解决方法
    windows pear 安装
    smarty2 设置、变量、函数
    简单模板类
    mysql 1366 插入错误
    Oracle修改账户口令
    C# Winform验证码
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9421378.html
Copyright © 2011-2022 走看看