从浏览器输入一个网址,到该页面显示完成,都发生了那些事情?

平常上百度输入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资源。

时间: 2024-11-05 00:05:10

从浏览器输入一个网址,到该页面显示完成,都发生了那些事情?的相关文章

输入url到页面加载都发生了什么事情?(一道软件测试面试题)

文章首发于公众号:软件测试er 输入url到页面加载都发生了什么事情?这是一道软件测试面试题,且相关知识其实还有多种问法: Question 1请讲一下tcp三次握手 OK等你把这个记好了,下次面试:Question 2 tcp和http有什么区别?? Question 3 http和https区别? Question 4 http请求方法? Question 5常见的返回状态码有哪些?都是什么含义?...一开始我也只是应付面试,去了解这些问题,但是发现自己并不能很好的理解.而在平时测试中需要定

从浏览器输入一个地址到渲染出网页这个过程发生了什么???

1. 了解URL:     其中:登录信息  查询字符串 服务器端口号 文件路径 片段标识符可选, 如果没有的就是默认配置.2.DNS解析服务      计算机需要将域名理解为IP地址, 这个时候就需要DNS解析服务来提供帮助,主要遵循如下查找过程:      浏览器缓存-浏览器会保存DNS记录,每个      系统缓存-如果再浏览器缓存里面没有找到记录,则在系统缓存中获取.      路由器缓存      DNS服务器 递归搜索 3. 建立TCP连接  由DNS服务解析的IP地址之后,通过IP

当你输入一个网址,实际会发生什么

作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等. 本文将更深入的研究当你输入一个网址的时候,后台到底发生了一件件什么样的事- 1.首先嘛,你得在浏览器里输入要网址:   2.浏览器查找域名的IP地址   导航的第一步是通过访问的域名找出其IP地址.DNS查找过程如下: 浏览器缓存 – 浏览器会缓存DNS记录一段时间. 有趣的是,操作系统没有告诉浏览器储存DNS记录的时间,这样不同浏

【转】当你输入一个网址,实际会发生什么?

作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等. 本文将更深入的研究当你输入一个网址的时候,后台到底发生了一件件什么样的事- 1. 首先嘛,你得在浏览器里输入要网址: 2. 浏览器查找域名的IP地址 导航的第一步是通过访问的域名找出其IP地址.DNS查找过程如下: 浏览器缓存 – 浏览器会缓存DNS记录一段时间. 有趣的是,操作系统没有告诉浏览器储存DNS记录的时间,这样不同浏览器

[转载] 当你输入一个网址,实际会发生什么?

原文: http://mp.weixin.qq.com/s?__biz=MjM5MzA0OTkwMA==&mid=208656450&idx=1&sn=a0acacc55ce9176b30c2a284f5e85aed&scene=1&key=c468684b929d2be2e59c9d6e5f4e882833c1560957a97b52480734a673822c2f648a651e00e3871e312d54abbd7d0455&ascene=0&

(转)当你输入一个网址,实际会发生什么?

作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等. 简单来说有以下步骤:1. 查找域名对应的IP地址.这一步会依次查找浏览器缓存,系统缓存,路由器缓存,ISP DNS缓存,根域名服务器.2. 向IP对应的服务器发送请求.3. 服务器响应请求,发回网页内容.4. 浏览器解析网页内容.当然,由于网页可能有重定向,或者嵌入了图片,AJAX,其它子网页等等,这4个步骤可能反复进行多次才能将最

斐波那契数列,1.1.2.3.5.8......,输入一个数字,比如3,显示前面三个数字1,1,2.

斐波那契数列(从第三个数字开始都是前面两个数字的和),1.1.2.3.5.8......,输入一个数字,比如3,显示前面三个数字1,1,2. 1 public class practice { 2 int fib(int n) {//递归 3 if (n <=2) return 1;//数列前两个返回1,无规律可寻. 4 return (fib(n -1) +fib(n - 2));//从第三个开始,则是前面两个数字的和. 5 } 6 public static void main(String

从输入url到显示网页,发生了那些事情?

作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等. 本文将更深入的研究当你输入一个网址的时候,后台到底发生了一件件什么样的事- 1. 首先嘛,你得在浏览器里输入要网址: 2. 浏览器查找域名的IP地址 导航的第一步是通过访问的域名找出其IP地址.DNS查找过程如下: 浏览器缓存 – 浏览器会缓存DNS记录一段时间. 有趣的是,操作系统没有告诉浏览器储存DNS记录的时间,这样不同浏览器

当你输入一个网址的时候,实际会发生什么? (转)

1. 首先嘛,你得在浏览器里输入要网址: 2. 浏览器查找域名的IP地址 导航的第一步是通过访问的域名找出其IP地址.DNS查找过程如下: 浏览器缓存 – 浏览器会缓存DNS记录一段时间. 有趣的是,操作系统没有告诉浏览器储存DNS记录的时间,这样不同浏览器会储存个自固定的一个时间(2分钟到30分钟不等). 系统缓存 – 如果在浏览器缓存里没有找到需要的记录,浏览器会做一个系统调用(windows里是gethostbyname).这样便可获得系统缓存中的记录. 路由器缓存 – 接着,前面的查询请