Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTTP/HTTPS服务器是否可以托管在TCP打孔后打开的端口上? 让我们考虑客户端A在NAT A后面的情况,客户端B在NAT后面。TCP孔穿孔发生在两侧打开一个端口进行通信。客户端A能否在开放端口上承载http/https服务器?_Http_Web_Tcp_P2p_Hole Punching - Fatal编程技术网

HTTP/HTTPS服务器是否可以托管在TCP打孔后打开的端口上? 让我们考虑客户端A在NAT A后面的情况,客户端B在NAT后面。TCP孔穿孔发生在两侧打开一个端口进行通信。客户端A能否在开放端口上承载http/https服务器?

HTTP/HTTPS服务器是否可以托管在TCP打孔后打开的端口上? 让我们考虑客户端A在NAT A后面的情况,客户端B在NAT后面。TCP孔穿孔发生在两侧打开一个端口进行通信。客户端A能否在开放端口上承载http/https服务器?,http,web,tcp,p2p,hole-punching,Http,Web,Tcp,P2p,Hole Punching,TCP打孔仅适用于可以建立的特定TCP连接,因为A)双方都知道对方的源端口,b)同时启动与对方的TCP握手。然后才建立NAT状态,该状态也仅对该特定连接(源IP、端口和目标IP、端口)有效 外部客户端将与现有NAT状态不匹配,因为源IP、端口与现有状态不匹配。也不会仅仅因为有一些web服务器列表而从内部创建新状态。因此,虽然web服务器可以托管在NAT后面,但无法从NAT外部访问。在这种情况下,一旦两个对等方之间建立了连接,“对等方2”能否通过已建立的tcp连接向“对等方1”发送手动http请求

TCP打孔仅适用于可以建立的特定TCP连接,因为A)双方都知道对方的源端口,b)同时启动与对方的TCP握手。然后才建立NAT状态,该状态也仅对该特定连接(源IP、端口和目标IP、端口)有效


外部客户端将与现有NAT状态不匹配,因为源IP、端口与现有状态不匹配。也不会仅仅因为有一些web服务器列表而从内部创建新状态。因此,虽然web服务器可以托管在NAT后面,但无法从NAT外部访问。

在这种情况下,一旦两个对等方之间建立了连接,“对等方2”能否通过已建立的tcp连接向“对等方1”发送手动http请求,“对等方1”处理http请求并向“对等方2”发送手动http响应?这可能吗?@MukeshKumar:一旦建立了TCP连接,就可以通过它发送任何东西,包括HTTP请求和响应。但是普通的web服务器无法在已建立的连接上工作,因此需要一个特殊的web服务器或某种“中继”,通过读取请求、将其发送到真正的web服务器并读取响应,然后将响应发送回远程客户端来进行翻译。