正常情况下一次web服务的访问过程(面试常问)

首先我们在浏览器输入一个域名进行DNS解析,一单按下回车之后,这时候客户端就会发起一个httpd request请求,这个request请求就会经过互联网然后经过域名到公网IP上,这个域名是对应的公网IP会进行DNS解析,这个DNS解析会涉及到一个递归和迭代,这个递归和迭代的过程是面试的时候百分之80的时候会问到,我们在浏览器输完一个域名之后都发生了什么。最终我们为什么能够看见这个网站里面的内容,这个是面试会问的。一旦请求到了web服务器之后就到了里面的web server这个web server有可能是nginx有可能是apache,这个web server本身能够处理一些静态请求。静态请求通常是一些index.html的文件。就是index.html文件里面写什么就会显示什么,如果这时候web server有一些内容处理不了,这些内容是有php和java写的,web server就会往后端的application(应用服务器)上转,这些application(应用服务器)就会按照微服的一些功能将他划分开,这个就看用户是需要查看图片还是需要上传资料,如果是需要上传资源就存放到后端的数据库服务中,如果是要查看图片我们就直接响应给用户,如果是要生成订单我们还要将这些订单信息写到数据库中,数据库写完之后后端服务器再把这个请求返回给web server(nginx或者apache ),这时候web server会把请求在返回给用户,这样的话用户就拿到了类似于网站的源代码一样,这个源代码我们在浏览器中可以通过右键去看见,这个源代码就是我们在当前网页中看到的源代码一样,浏览器拿到这个源代码之后会进行渲染成我们用户能看见的界面,这是一个对浏览器访问的时候简单的流程

点赞