22

我读到了“ HTTP 持久连接”,但不知何故,我似乎不明白在这种情况下持久是什么意思。
你能详细说明一下吗?

4

3 回答 3

30

这意味着服务器在完成推送响应后不会关闭套接字(因此必须通过标头或分块来指示响应的长度),因此客户端可以在同一个套接字上发出其他请求。一个网页经常在与页面本身相同的服务器上请求其他几个部分(图像、CSS、脚本......),因此与关闭页面相比,将套接字重用于对同一服务器的一些进一步请求可以减少整体延迟原始套接字并为所有后续请求打开新套接字。

于 2009-09-26T03:15:54.363 回答
20

到目前为止,所有讨论都来自浏览器方面。浏览器首先请求实际页面,然后解析页面并找出它需要的所有其他资源,然后才能呈现该页面。浏览器一一请求这些资源和其他依赖资源。因此,在这里维护持久连接非常有效,因为避免了创建和销毁连接的开销。

现在从 Web 服务器端来看,持久连接将是一个允许它将内容“推送”到 Web 浏览器的连接。现在 HTTP 不支持这个。因此,使用 javascript 的解决方法很少,页面基本上会在一段时间后刷新。

您可以看到许多基于 Web 的电子邮件提供商正在使用这种技巧,它们不断地在后台检查新邮件。这给人一种感觉,当有新邮件到达时,服务器会将新邮件通知“推送”到 Web 浏览器。但事实上,它实际上是一个不断检查服务器是否有新邮件的网络浏览器。

我还要说明的另一点是,我们实际上看不到任何页面刷新,这是因为另一个技巧只允许请求刷新页面的特定部分。(提示:阿贾克斯)

于 2009-09-26T03:47:46.923 回答
0

我认为这是对网站浏览器的 http 或 https 的切换。如果您有旧的 https:// 并且您现在正在使用 http 浏览器 .htaccess 文件,那么这个问题应该通过 yoast 插件一页抓取页面创建。不要担心它不是重要的错误。对于黑客来说,如果您的 ssl 连接为空,他们应该将页面或域附加到您的 ssl 连接 eb http://www.example.com并且当您浏览https://www.example.com时,这是入侵您网站的一种方式在浏览器中还有一些其他链接可以打开您的站点域。

解决方案始终使用您的网站完整地址:为了保护黑客免受您网站的攻击,请使用 ssl 和 https:/ 您网站的页面。

那么这个问题从来没有在任何测试站点或页面中出现过。

于 2016-02-28T17:58:13.083 回答