Http 客户端(浏览器)如何生成要发送到服务器的请求?

Http 客户端(浏览器)如何生成要发送到服务器的请求?,http,client,request,network-protocols,Http,Client,Request,Network Protocols,一旦用户点击一个URL,本地机器将在主机文件上进行查找,以查看是否有任何条目,如果没有,本地机器将ping一些DNS(如何?何处?)以解析URL并获取相关的IP地址。。。一旦获得IP,它就会在该IP地址上打开一个套接字通道,并与服务器进行交互 这准确吗 我试图一步一步地详细了解请求是如何生成并发送到服务器的 谢谢你的意见 我假设您所说的是TCP连接。正如您所说,客户端将在其hosts文件中进行查找;如果没有条目,它将查找其第一个配置的DNS服务器(基于手动配置或DHCP设置),并启动到该服务器的

一旦用户点击一个URL,本地机器将在主机文件上进行查找,以查看是否有任何条目,如果没有,本地机器将ping一些DNS(如何?何处?)以解析URL并获取相关的IP地址。。。一旦获得IP,它就会在该IP地址上打开一个套接字通道,并与服务器进行交互

这准确吗

我试图一步一步地详细了解请求是如何生成并发送到服务器的


谢谢你的意见

我假设您所说的是TCP连接。正如您所说,客户端将在其hosts文件中进行查找;如果没有条目,它将查找其第一个配置的DNS服务器(基于手动配置或DHCP设置),并启动到该服务器的连接。一旦客户机拥有所需服务器的地址,它将向该服务器发送一个SYN数据包,该服务器将使用SYN/ACK进行回复,客户机将使用ACK数据包进行回复以建立连接。这是最新的。一旦建立了连接,客户机和服务器就通过各自的套接字进行通信,通过TCP协议的各个层传递数据,并发送纠错和元数据包以相互协调。此信息包含请求的类型,通常取决于协议。对于HTTP,这通常是一个GET或POST请求,由服务器相应地响应。如果您想要更具体的信息,可以发布您感兴趣的协议类型吗?

我假设您谈论的是TCP连接。正如您所说,客户端将在其hosts文件中进行查找;如果没有条目,它将查找其第一个配置的DNS服务器(基于手动配置或DHCP设置),并启动到该服务器的连接。一旦客户机拥有所需服务器的地址,它将向该服务器发送一个SYN数据包,该服务器将使用SYN/ACK进行回复,客户机将使用ACK数据包进行回复以建立连接。这是最新的。一旦建立了连接,客户机和服务器就通过各自的套接字进行通信,通过TCP协议的各个层传递数据,并发送纠错和元数据包以相互协调。此信息包含请求的类型,通常取决于协议。对于HTTP,这通常是一个GET或POST请求,由服务器相应地响应。如果您想了解更多具体信息,可以发布您感兴趣的协议类型吗?

有关DNS工作原理的详细概述,请参阅,有关HTTP工作原理,请参阅

这些是规范性文件。它们非常详细,但如果您坚持总体操作部分并查找需要澄清的部分,它们会非常有用


基本上,对于任何需要解释的协议(在更深层次上,您可能希望了解TCP),获取信息的最详细位置是RFC。

有关DNS如何工作的详细概述,请参阅;有关HTTP如何工作,请参阅

这些是规范性文件。它们非常详细,但如果您坚持总体操作部分并查找需要澄清的部分,它们会非常有用


基本上,对于任何需要解释的协议(在更深层次上,您可能希望了解TCP),获取信息的最详细位置是RFC。

是。你越来越不正确了

它先查看主机文件,然后查看DNS。在linux机器上,您可以在etc/resolv.conf文件中更改顺序

主DNS服务器已在tcp/ip设置中配置。DNS正在使用端口UDP/53处理此类请求。如果您的DNS无法解析主机名,它会将其转发给父DNS,但这是另一个主题。 在获得IP地址后,它将使用地址(IP+端口)打开服务器的套接字


希望有帮助。

是的。你越来越不正确了

它先查看主机文件,然后查看DNS。在linux机器上,您可以在etc/resolv.conf文件中更改顺序

主DNS服务器已在tcp/ip设置中配置。DNS正在使用端口UDP/53处理此类请求。如果您的DNS无法解析主机名,它会将其转发给父DNS,但这是另一个主题。 在获得IP地址后,它将使用地址(IP+端口)打开服务器的套接字


希望对您有所帮助。

如果您想详细了解,我认为您不应该询问stackoverflow。您应该开始认真阅读(包括RFC)。(如何?在哪里?)您的internet连接与DNS服务器关联。查找从那里开始,从一个服务器跳到另一个服务器,直到找到正确的IP。如果你想详细了解,我认为你不应该问stackoverflow。您应该开始认真阅读(包括RFC)。(如何?在哪里?)您的internet连接与DNS服务器关联。查找从那里开始,从一个服务器跳到另一个服务器,直到找到正确的IP。你为什么不发布IETF的直接链接?改变了,我只是喜欢谷歌的第一个点击。你为什么不发布IETF的直接链接?改变了,我只是喜欢谷歌的第一个点击。DHCP设置——我明白了。。。感谢分享此详细的网络信息。我只是对tcp/ip有一个松散的理解,但我通常对理解http请求的情况感兴趣。到目前为止,这真是太棒了!DHCP设置--我明白了。。。感谢分享此详细的网络信息。我只是对tcp/ip有一个松散的理解,但我通常对理解http请求的情况感兴趣。到目前为止,这真是太棒了!虽然这是一幅美丽的图画,但我认为这并不能从所需的深度和技术意义上回答问题。虽然这是一幅美丽的图画,但我认为这并不能从所需的深度和技术意义上回答问题。