第一步:在浏览器输入URL
- URL(Uniform Resource Locator):统一资源定位符
- http、https、ftp、file协议
第二步:域名解析
域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS服务器完成 。
域名解析流程
- 浏览器缓存 - 浏览器会缓存DNS一段时间
- 系统缓存 - 从Hosts文件查找是否有该域名对应的IP
- 路由器缓存 - 一般路由器也会缓存域名信息
- ISP(服务商) DNS缓存 - 比如到电信的DNS上查找缓存
- 如果都没有找到,则向根域名服务器查找域名对应IP,根域名服务器把请求转达到下一级,直到找到IP。
备注:DNS劫持说白了就是你输入了一个域名地址返回给你一个假网站,这种劫持可出现在域名解析过程中任一环节。 eg:输入百度打开淘宝
第三步:服务器解析
- web sever:系统里安装的处理请求的应用
- 常见的web服务器:Apache、Nginx、IIS、Lighttpd
- web服务器作用:接收用户的request发送代码给网站,或者接收请求反向代理到其它web服务器
第四步:网站处理流程
- MVC: 模型(model)-视图(view)-控制器(controller)
第五步:浏览器处理
- HTML字符串被浏览器接收后读取解析
- 解析到link、href标签时重新发送请求获取css
- 解析到 script标签后发送请求获取 js,并执行代码
- 解析到img 标签后发送请求获取图片资源
第六步:绘制网页
- 浏览器根据收到的HTML和CSS计算得到渲染树,js也会被执行。(长什么样子由css控制,内容由html控制)