【发布时间】:2013-12-13 21:11:20
【问题描述】:
我知道当我请求 example.com 时,我的浏览器实际上会默认为 example.com:80 。但是,我的 ISP 阻止了 80 端口的侦听,所以如果端口 80 被阻止,我如何接收来自我的请求的响应?应该不行吧?
【问题讨论】:
我知道当我请求 example.com 时,我的浏览器实际上会默认为 example.com:80 。但是,我的 ISP 阻止了 80 端口的侦听,所以如果端口 80 被阻止,我如何接收来自我的请求的响应?应该不行吧?
【问题讨论】:
当您发出 HTTP 请求(实际上是任何 TCP 请求)时,都会涉及两个端口。目标上有端口 80(在您的情况下为“example.com”),您的计算机上有一个端口;此端口称为“源端口”,因为您的计算机是请求的来源。
通常,您的计算机会选择一个超过 1,000 的随机端口号(例如,3,135 或 45,978),因为低编号端口很容易记住(并被阻止)并且通常用于托管服务(例如端口 80)。因为源端口是由您的计算机创建的,目的是在端口 80 上与 example.com 通信,所以它不会打开很长时间(只要足够长的时间来完成它的工作)。这些有时被称为“临时端口”;见http://en.wikipedia.org/wiki/Ephemeral_port
【讨论】:
但是我的 ISP 阻止了 80 端口的监听
作为一个术语,您不能阻止端口侦听;我认为您的意思是您的 ISP 拒绝端口 80 上的传入连接(即从世界到您的计算机)。但是,传出连接(从您的计算机到世界)与传入连接是分开的,这就是您在使用浏览器时所使用的。
通常只说“ISP 阻止了我的端口 80”是可以的,但在这里了解具体发生了什么很重要。
【讨论】: