Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.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
Javascript web浏览器如何确定从服务器接收的文件中的入口点?_Javascript_Html_Browser_Webserver_Entry Point - Fatal编程技术网

Javascript web浏览器如何确定从服务器接收的文件中的入口点?

Javascript web浏览器如何确定从服务器接收的文件中的入口点?,javascript,html,browser,webserver,entry-point,Javascript,Html,Browser,Webserver,Entry Point,情况:假设我在搜索栏中键入了某个网站的URL。服务器向我的计算机发送一些HTML和CSS文件 问题:我的web浏览器如何确定接收文件中的哪个文件是开始评估/渲染的入口点(或“起点”) 我尝试过的内容:用谷歌搜索各种短语,并进行粗略搜索。但是我的搜索条件可能不太理想,这个问题可能看起来很愚蠢,因为我不知道我不知道什么。浏览器最初只从服务器请求一件事:请求的路径。例如,对于此处的此页面,请求是: https://stackoverflow.com/questions/65366695/how-doe

情况:假设我在搜索栏中键入了某个网站的URL。服务器向我的计算机发送一些HTML和CSS文件

问题:我的web浏览器如何确定接收文件中的哪个文件是开始评估/渲染的入口点(或“起点”)


我尝试过的内容:用谷歌搜索各种短语,并进行粗略搜索。但是我的搜索条件可能不太理想,这个问题可能看起来很愚蠢,因为我不知道我不知道什么。

浏览器最初只从服务器请求一件事:请求的路径。例如,对于此处的此页面,请求是:

https://stackoverflow.com/questions/65366695/how-does-a-web-browser-decide-on-an-entry-point-among-the-files-it-receives-from
该路径可被视为入口点。然后,在响应中:

view-source:https://stackoverflow.com/questions/65366695/how-does-a-web-browser-decide-on-an-entry-point-among-the-files-it-receives-from
,它会找到要下载的其他资源的路径。例如,此页面具有:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://cdn.sstatic.net/Js/stub.en.js?v=95d1ce093683"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.sstatic.net/Shared/stacks.css?v=50b8afc7d7a9">

在HTML响应的源代码中。这些资源随后由浏览器下载


HTML、CSS和JavaScript中的其他部分可能也会启动下载,但最终都会来自请求的初始HTML文件(这可能是由用户键入地址或单击链接完成的)。

我仍然感到困惑。例如,如果网站的根目录中有一个名为
index.html
的文件,那么我们可能会在访问网站主页时访问该文件(或者是吗?如果我错了,请纠正我)。然而,我们请求的URL可能是针对
[somesite].com
而不是
[somesite].com/index.html
。在这种情况下,浏览器如何“知道”我们真正想要的文件是
index.html
?换句话说,浏览器如何知道访问
index.html
,即使我们从未明确告诉它访问该文件?@Asker这取决于服务器配置。如果是这样设置的,它可能会为您提供index.html页面,或者它可能被配置为提供其他服务。@Asker我不这么认为-一个请求最多只能对应一个响应(通过WebSocket发送的服务器消息除外)。您可以查看浏览器的网络检查器以查看示例。@默认情况下,Asker服务器通常会提供
index.html
(如果存在)。如果它不存在-例如,如果您有
index1.html
index2.html
,服务器可能会给出一个404页来代替它。@Asker请参考传递给的选项对象的
index
属性。当请求URL中未指定任何文件时,这会导致express在默认情况下搜索
index.html
,但可以配置为搜索其他文件名,或者通过将
index
设置为
false