在浏览器输入url到整个页面展现可以分为以下几个过程:
1.输入url后通过域名找到对应的IP地址,并向对应的网络服务器发送请求
2.服务器解析请求,并把请求发送给数据库
3.数据库把请求数据发送给服务器,服务器解析请求,产生html文件返回给浏览器
4.浏览器处理与绘制
什么是url?
URL(Uniform Resource Locator),即统一资源定位符,用于定位互联网的资源,包含协议、IP地址、路径。
常见协议有:
- http——用于找到网络资源
- https——加密的协议
- ftp——文件传输协议
- file——用于定位本地资源
域名解析的流程
1.浏览器缓存 – 浏览器会缓存DNS记录一段时间
2.系统缓存 - 从 Hosts 文件查找是否有该域名和对应 IP。
3.路由器缓存 – 一般路由器也会缓存域名信息。
4.ISP DNS 缓存 – 比如到电信的 DNS 上查找缓存。
5.如果都没有找到,则向根域名服务器查找域名对应 IP,根域名服务器把 请求转发到下一级,知道找到 IP
服务器处理
服务器是一台安装系统的机器,常见的系统如Linux、windows server 2012等系统里安装的处理请求的应用叫 Web server(web服务器)
常见的 web服务器有 Apache、Nginx、IIS、Lighttpd
web服务器接收用户的Request 交给网站代码,或者接受请求反向代理到其他 web服务器
服务器处理过程.png
网站处理流程
网站处理流程.png
浏览器处理与绘制
HTML字符串被浏览器接受后被一句句读取解析
解析到link 标签后重新发送请求获取css
解析到 script标签后发送请求获取 js,并执行代码
解析到img 标签后发送请求获取图片资源
浏览器根据 HTML 和 CSS 计算得到渲染树,绘制到屏幕上,js 会被执行