1

我想知道并且非常好奇 Stack Overflow 站点如何执行非常非常快的 Ajax 之类的功能?

因为如果在投票系统中看到评论、答案、批准编辑、答案和问题中的编辑。

所有这些都运行得如此之快,我无法想象如何如此快速地执行这些事情。因为在我们的一般情况下,如果我们发出 Ajax 请求,响应需要几秒钟,但在 SO 的情况下则不需要。

这是怎么发生的?

编辑:对于那些投票关闭的人

在这里,我的意图仅适用于技术人员。而且我不是要求显示代码 SO 是如何编写的。我担心的是 SO 实施的机制。

4

1 回答 1

3

一般来说,SO 使用 Web 套接字来提供响应迅速的更新。如果您想了解更多信息,请查看例如socket.io(它是一个很好的 web sockets 包装器,为旧版浏览器提供后备)或websockets 上的MDN doc。您也可以全力以赴并阅读RFC

这是一个示例请求(来自 Chrome 开发者工具):

Request URL:ws://sockets.ny.stackexchange.com/
Request Method:GET
Request Headersview source
Cache-Control:no-cache
Connection:Upgrade
Host:sockets.ny.stackexchange.com
Sec-WebSocket-Extensions:x-webkit-deflate-frame
Sec-WebSocket-Key:PcP0d7X/j2DJkw2mx+116w==
Sec-WebSocket-Version:13
Upgrade:websocket

和回应:

Status Code:101 Switching Protocols
Connection:Upgrade
Sec-WebSocket-Accept: ...
Upgrade:websocket
于 2013-09-03T11:07:04.470 回答