从浏览器输入一个网址,到该页面显示完成,都发生了那些事情?
平常上百度输入www.baidu.com,上google输入www.google.com,之后弹出页面。鬼知道他们经历了什么。
于是开始上网收搜集一些资料,自己总结了一下,其大概流程为:
1.浏览器解析链接执行页面的url
2.浏览器向DNS请求解析www.baidu.com的IP地址
3.域名系统DNS解析出IP为14.215.177.37
4.浏览器与服务器建立起TCP链接(14.215.177.37:80)
5.浏览器初始化一个指向Web容器(类似于Tomcat)的HTTP请求
6.Web容器调用init()方法初始化request和response对象,并将用户请求封装在request对象内。
7.Web容器调用service(HttpRequest req,HttpResponse,resp)方法,并完成相应的业务逻辑操作(比如想要一个XX界面啊之类的。。),把结果封装在response对象内返回给浏览器
8.释放TCP链接
9.浏览器显示界面
10.关闭浏览器,Web容器调用destroy()方法释放Servlet资源。