今天有人问了这个有趣的面试问题。网络浏览器如何请求并接收网页?
详细解释客户端机器从服务器请求文件(如file.php),然后接收所需的文件及其必要的JS/CSS /图像/视频文件并显示它们的过程在客户端的浏览器屏幕上。
这是我知道的,什么我也说:
因此,一个请求被发送,则服务器发现被请求的file.php文件,因为它有一个。 php扩展,它首先使用PHP引擎来解析文件内部的任何PHP代码,然后一旦完成,它就会向客户端机器输出生成的file.php文件(作为响应)。然后浏览器接受该响应并分析HTML和必要的JS和CSS代码,然后将其显示给浏览器。
我的答案是非常基本的,并不像它应该的那么详细。我想到了我的回应,并与新的问题上来:
什么,从字面上看,是一个“要求”?它基本上只是发送到服务器的文本头文件吗?
“响应”怎么样?响应本身是否被解析的file.php文件被发送回客户端机器?
如果file.php文件包含对script.js文件和style.css文件的引用会怎么样?这些文件在哪个阶段被送回客户端机器?他们是作为单独的标题进入还是什么?
上面在我的回答中,当我说“...因为它有一个.php扩展名时,我不确定是否正确,它首先使用PHP引擎来解析文件中的任何PHP代码”。这真的是服务器解析文件内部代码的原因,还是服务器默认扫描所有类型的文件以检查它们可能包含的任何PHP代码?
完美的“回应”(双关意图)。非常感谢你的详细和直接的解释。 – DecafJava 2011-05-15 08:48:10