PHP 应用程序 - 快速连接到 HTTPS 服务器

标签 php ssl curl openssl fsockopen

问题是,我想开发一个应用程序(可能是 PHP?),能够快速连接到 SSL 安全服务器并从中发送/获取数据。我的目标是让它尽快发送查询并读取结果。我正在尝试各种解决方案并对它们进行基准测试。我已经尝试过 fsockopen() 和 CURL,但是,想知道是否有任何解决方案可以改进它们?

结果如下: fsockopen():

  • 发送的 header :0.26755499839783;
  • 收到的页面:0.48934602737427;

CURL 结果:

  • [总时间] => 0.484
  • [传输前时间] => 0.281
  • [开始传输时间] => 0.437

问题是: 1)当查询开始在我连接的服务器上执行时 - 在发送标题之后或在我获取页面并关闭连接之后? 2) 我应该将 fsockopen() 结果与哪个 CURL 的执行时间进行比较? starttransfer_time 是否甚至在 header 发送到服务器之前?这意味着 fsockopen() 更快,不是吗? 3) 任何解决方案如何在执行代码的服务器上调整 SSL 连接?是否可以对 PHP 的 OpenSSL 模块进行任何调整(任何可能的加密降级?)以使其更快? 4) 没有 SSL 到 SSL 安全服务器的任何解决方案? 5) 在这种情况下,C++ 或其他解决方案会更快吗?

欢迎提出任何想法 :) 我对这个“ms”竞赛很着迷 :)

谢谢, 乔纳斯

最佳答案

您的问题没有封闭形式的解决方案。

关于C++,确实PHP是解释型的,C++是编译+优化的,但是PHP中的所有加密库都是纯C的,所以是编译+优化的。

根据服务器硬件,制作一个较短的服务器 key 可以稍微缩短握手阶段。此外,最重要的是,所有依赖 TCP 的网络协议(protocol)在处理事务时都会受到网络延迟的影响,这在行为上与数据传输(如 FTP)不同,因为它们是同步的。

无论如何...

1.你必须手动关闭连接

4.除非您想自己编写完整的 SSL 协议(protocol),否则最好使用可用的最高性能库 openSSL

5.是和否,至少您可能会获得性能提升,但可能并不显着。总的来说,我会推荐它

关于PHP 应用程序 - 快速连接到 HTTPS 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4064831/

相关文章:

php - 类似mysql的查询排除数字

java - Android:通过 sslsocket 连接发送多条消息

php - 在我的核心 PHP 站点或 CodeIgniter 站点上显示 Woocommerce 产品和 Magento 产品

PHP Curl+连接被拒绝

php - cloud9,无法安装 php cURL

php - 无法编辑与 CakePHP 的 HABTM 关联中的属性

php - 修改分页排序方法以更改每页的行数

php - 在网站上不间断地播放 mp3?

apache - open ssl需要提供完整的证书链

ssl - Cloudflare SSL 页面规则