Javascript web浏览器如何确定从服务器接收的文件中的入口点?
情况:假设我在搜索栏中键入了某个网站的URL。服务器向我的计算机发送一些HTML和CSS文件 问题:我的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
我尝试过的内容:用谷歌搜索各种短语,并进行粗略搜索。但是我的搜索条件可能不太理想,这个问题可能看起来很愚蠢,因为我不知道我不知道什么。浏览器最初只从服务器请求一件事:请求的路径。例如,对于此处的此页面,请求是:
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