浏览器背后的故事
域名:
www.xxx.com
只是一个名字,为了方便记忆,在互联网上,真正作为标识的,是一个ip地址
输入域名,首先会根据域名寻找目标服务器对应的ip地址,这个过程依靠的是一个DNS服务器进行解析。有了DNS服务器,就可以查询出域名映射的ip地址,浏览器就会根据查询到的ip地址,跟web服务器进行通信,通信的协议就是http协议
web服务器收到请求,会到后端进行执行,然后将执行结果以响应报文的形式回传到浏览器,这里浏览器收到的是一堆莫名其妙的报文,这时候就需要浏览器进行渲染,然后呈现到页面,渲染引擎是根据html文件描述相对应的数学模型,调用浏览器的各个零部件,从而把网页资源的源代码展示为图像结果
1、浏览器输入url。先解析url地址是否合法
2、浏览器检查是否有缓存(浏览器缓存-系统缓存-路由器缓存)。如果有,直接显示。如果没有,跳到第三步。
3、在发送http请求前,需要域名解析(DNS解析),解析获取对应过的ip地址。
4、浏览器向服务器发起tcp链接,与浏览器简历tcp三次握手
5、握手成功后,浏览器向服务器发送http请求,请求数据包
6、服务器收到处理的请求,将数据返回至浏览器
7、浏览器收到http响应。
8、浏览器解析响应。如果响应可以缓存,则存入缓存
9、浏览器发送请求获取嵌入在HTML中的资源(html,css,JavaScript,图片,音乐等),对于未知类型,会弹出对话框
10、浏览器发送异步请求
11、页面全部渲染结束。
HTTP:
- 超文本传输协议是一种通信协议,允许将超文本标记语言文档从web服务器传送到客户端的浏览器
- HTTP是一个属于应用层的面向对象的协议。于1990年提出
WEb与HTTP:
- Web是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统
- 建立在internet上的一种网络服务,为浏览者在internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将internet上的信息节点组织成一个互为关联的网状结构