Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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
我键入的URL如何引导我最终在浏览器中看到的内容?_Url_Dns_Server_Hosting_Ip Address - Fatal编程技术网

我键入的URL如何引导我最终在浏览器中看到的内容?

我键入的URL如何引导我最终在浏览器中看到的内容?,url,dns,server,hosting,ip-address,Url,Dns,Server,Hosting,Ip Address,我试图弄清楚这些是如何协同工作的,互联网上到处都是零碎的信息 以下是我(认为)我知道的: 1) 当您在浏览器中输入在域名服务器(DNS)中查找的url时,系统会向您发送一个IP地址 2) 然后,您的计算机按照此IP地址到达某个服务器 3) 服务器上有名称服务器,可将您指向服务器中所需的特定内容。->我不清楚这一步 4) 有了这些信息,就会收到您的请求,服务器会将站点内容转发给您 这是正确的吗?我怎么了?在过去的一周里,我做了很多搜索,我想我缺少的是关于所有这些细节是如何结合在一起的宏观解释 小问

我试图弄清楚这些是如何协同工作的,互联网上到处都是零碎的信息

以下是我(认为)我知道的:

1) 当您在浏览器中输入在域名服务器(DNS)中查找的url时,系统会向您发送一个IP地址

2) 然后,您的计算机按照此IP地址到达某个服务器

3) 服务器上有名称服务器,可将您指向服务器中所需的特定内容。->我不清楚这一步

4) 有了这些信息,就会收到您的请求,服务器会将站点内容转发给您

这是正确的吗?我怎么了?在过去的一周里,我做了很多搜索,我想我缺少的是关于所有这些细节是如何结合在一起的宏观解释

小问题:

a) 名称服务器如何知道我要指向哪个站点

b) 像GoDaddy这样的网站如何拥有URL?为什么我必须每年向他们支付费用,为什么我不能直接购买url


我在寻找一个连贯的解释,说明所有这些东西是如何协同工作的。谢谢

当我将URL放入浏览器时,如何加载内容?

在这个主题上有一些非常好的文档,每一步都有自己的逻辑和算法,在这里我给大家介绍一下

步骤1::域名转换为IP地址,在此过程中,URL中的域名用于通过查找多个名为
名称服务器
的服务器上的记录来查找关联服务器机器的IP地址

步骤2:服务请求:一旦知道IP地址,根据协议的服务请求将以数据包的形式创建,并使用IP地址发送到服务器机器。在浏览器的情况下,它通常是一个;在其他情况下,它可能是其他东西

步骤3:请求处理:根据服务请求和底层协议,请求由一个软件程序处理,该软件程序通常位于上一步发现其地址的服务器机器上。根据服务器程序上编程的逻辑,如果调用HTTP,它将返回适当的响应

第4步:响应处理:在这一步中,请求程序(在您的情况下)浏览器接收到上一步中提到的响应,并按照协议中的定义呈现和显示响应。在HTTP情况下,提取并呈现HTTP正文,以HTML编写

名称服务器如何知道我想要指向哪个站点的方向

URL有一个定义良好的格式,浏览器使用该格式查找主机名/域名,然后使用该主机名/域名查找相关的IP地址;名称服务器运行不同的算法来找出正确的服务器IP

查找有关DNS解析的更多信息

像GoDaddy这样的网站如何拥有URL?为什么我必须向他们支付年费,为什么我不能直接购买url?

域名是需要管理和监管的资源,他们有一种叫做注册中心的东西,注册中心(比如GoDaddy)从中获取域名并为您预订;您支付的费用由ICANN和注册商分摊

注册商为您做了很多工作,例如设置
名称服务器
提供托管等

从技术上讲,您可以创建自己的域名,但它不会免费,因为您需要创建一个名称服务器,需要将其复制到其他服务器,这样您就可以拥有任何您想要的名称(也必须是唯一的);一个简单的方法是在linux中编辑本地主机文件,它位于
/etc/hosts
,在windows中它位于
C:\windows\System32\drivers\etc\hosts
,但在internet上没有用,因为它不会被其他服务器接受。

(对这个过程的精确和详细的描述可能会占用太多的空间和时间,我相信你可以在谷歌上找到它)。因此,尽管非常简单,你对正在发生的事情有相当好的了解,但需要一些澄清(同样,我会有点不精确):

步骤2:您的计算机确实遵循步骤1中接收到的IP地址,但设置为该IP地址的请求通常包含一条称为“主机头”的重要信息,即您在浏览器中键入的实际名称

步骤3:此处不涉及名称服务器,软件(/硬件)通常称为“Web服务器”(例如Apache、IIS、nginx等)。一个Web服务器可以为一个或多个不同的站点提供服务。如果有多个站点,Web服务器将使用“主机头”将您指向所需的特定内容

ICAAN“拥有”域名,注册过程涉及技术和管理工作,所以你需要付费给注册商来处理