用户在浏览器输入URL地址时浏览器和服务器的工作流程

一、浏览器请求响应流程
1)用户在浏览器输入URL地址。
2)浏览器解释用户输入的URL地址,可以的到该地址的域名和端口号。
3)浏览器再根据域名,去检查本地缓存中有没有这个域名,如果有则得到相应的IP地址,若没有,则进行第四步。
4)浏览器发起一个DNS系统调用去获取IP地址:
4.1)检查操作系统的缓存有没有这个域名。
4.2)找系统中的hosts文件中有没有这个域名。
4.3)如果上述步骤都没有找到,会对DNS服务器发起一个系统调用。
5)浏览器会通过一个本地的随机端口建立一个与服务端指定端口之间的链接通道。
6)浏览器会将客户端的一些信息放到一个“包”上面。
7)然后将这个“包”通过这个连接通道发送给服务器。
。-----------以下是接收到服务端返回包后的步骤------------------。
8)打开服务端返回过来的“包”,找到Content-type。
9)根据Content-type决定如何处理响应内容。
10)如果是HTML则渲染到界面。

二、Web Server服务器响应的流程
1)打开客户端提交过来的“包”,拿到“包”里面的请求路径。
2)根据请求的路径对应文件的扩展名找到文件的 MIME Type.
3)判断文件是否为静态文件
3.1)如果是静态文件则直接读取这个文件的内容。
3.2)如果是动态文件,则把文件交给其他程序执行,然后把执行结果返回给服务器。
4)服务端会把要发给客户端的数据放到一个“包”上。
5)将这个“包”通过之前建立的连接通道发回给客户端。

你可能感兴趣的:(用户在浏览器输入URL地址时浏览器和服务器的工作流程)