11得票3回答
HTTP 1.1 GET方法中强制要求包含“Host”子句的原因

上周我在我的《计算机网络》课上引起了一场轩然大波,争论的焦点是关于在 HTTP 1.1 GET 消息头中需要强制使用 Host 子句的必要性。 不管是从网站上看到的还是同学们对我喊出的原因,总是一样的:支持虚拟主机所需。然而,我会尽力清晰地表达,这似乎没有意义。 我理解为了允许两个域名在同...

11得票5回答
浏览器如何知道哪个响应对应哪个请求?

假设当我们通过HTTP请求资源时,我们会获得以下响应:GET / HTTP/1.1 Host: www.google.co.in HTTP/1.1 200 OK Date: Thu, 20 Apr 2017 10:03:16 GMT ... 但是当浏览器一次请求多个资源时,它如何识别哪个请求...

41得票4回答
在单个DNS查询中请求A和AAAA记录

我正在使用C语言实现DNS查询,希望在一个单独的查询数据包中请求A记录和AAAA记录(IPv4和IPv6),但是当我将这两个查询放在一个数据包中时,未能从名称服务器获得任何响应。我已尝试将查询发送到几个不同的名称服务器(本地和8.8.8.8),但没有成功。这是否意味着它不起作用,还是我的查询数...

21得票2回答
TCP拥塞控制-图中的快速恢复

我一直在阅读《计算机网络:自顶向下方法》这本书,遇到了一个问题我似乎不太理解。阅读时,TCP拥塞控制有三种状态:慢启动、拥塞避免和快速恢复。我很好地理解了慢启动和拥塞避免,但快速恢复状态却很模糊。该书声称TCP的行为如下: (cwnd = 拥塞窗口大小) 让我们来看下面的图表: 正如我...

11得票7回答
无状态协议是否比有状态协议更好用?

我可以看到有状态协议可以减少类似于cookie的拼接“模拟状态”的情况,但是测试变得更加困难以确保你的实现是正确的并且重新连接和会话继续可能非常难处理。 是否总是使用无状态协议被认为是更好的做法?还是这确实与领域有关?我认为处理有状态协议时身份验证会变得更容易,但是否有其他原因应该使用有状态协议?

15得票3回答
我该在哪里找到比特流DHT引导节点列表?

通过我的谷歌技巧,我只找到了几个节点: router.bitcomet.com, router.utorrent.com, router.bittorrent.com 是否有所有引导节点的列表,我不知道吗? Torrent客户端开发人员从哪里获取引导节点的地址?(我查看了Deluge源代码并...

34得票4回答
ZeroMQ与Protocol Buffers

ZeroMQ FAQ页面建议使用Google的protobuf作为序列化消息内容的方法。 有人看到过一个好的使用示例吗? 我还需要回答“序列化消息的最大优势是什么?” - 是否可能是我可以放弃的东西,从而利用更轻便的管道的优势。 我非常喜欢.proto文件和protoc编译器的想法。 ...

22得票3回答
在网络中是大端序还是小端序?

网络数据传输的字节顺序是什么?是小端序还是大端序?一旦数据到达主机,如何将其转换为相应的字节顺序? (注:该段内容已为中文,无需翻译)

24得票6回答
蓝牙网状网络?

我有一个想法,不知道是否可行。我已经搜索过了,但似乎没有现成的解决方案。我在考虑建立一个蓝牙网状网络。我希望实现的布局是拥有一个中央站点(带有蓝牙适配器的电脑),然后有一堆蓝牙模块(最好是这些),它们都会与周围的模块形成网状网络。它们不一定都在“中央站点”的范围内,但需要通过其他节点与其通信。...

14得票1回答
使用单个HTTP/2连接进行双向(对称)通信

HTTP/2引入了一些很有趣的功能,如流水线处理、多路复用和服务器推送承诺,它们本身非常棒。 然而,我们放弃了WebSockets。 理论上,HTTP/2允许服务器和客户端之间以推送承诺的形式进行双向通信。服务器可以在被请求之前向客户端发送响应。同样,这也很棒。 然而,这些请求与客户端的请求...