从url输入到页面展示发生了什么?
2017-12-26 本文已影响0人
gtx7970
基本概念
URL
URL (Uniform resource locator)统一资源定位符,对应协议(http,https,ftp等),域名,端口等,用于定位互联网上的资源。
HTTP
(HyperText Transfer Protocol ,超文本传输协议)
TCP/IP 协议族
层级 | 名称 |
---|---|
应用层 | HTTP FTP DNS等 |
传输层 | TCP UDP |
网络层 | IP协议 |
链路层 | 硬件 |
以http为例,客户端在应用层发出一个http请求,在传输层把应用层的数据分割,并标记序号及端口号-->网络层增加MAC地址-->链路层-->服务器链路层接收到数据,按顺序向上层发送至应用层。
域名解析的流程
- 在浏览器中输入url后,浏览器解析域名,查询主机的ip地址
- 浏览器缓存
- 系统缓存(本地host文件)
- 路由器缓存
- ISP(服务商)DNS缓存
- 根域名服务器查找ip
服务器处理
服务器(安装liunx,windows server2012等)
处理请求的应用 web server
web服务器(Apache Nginx 等)接受用户请求交给网站代码或接受请求反相代理到其他web服务器
网站处理流程
MVC( Model(模型) View(视图) Controller(控制器))
基本流程:注册路由-->创建控制器-->控制器从数据库获取数据-->在视图中展示数据-->发回用户
浏览器处理
- 解析html
- link标签,重新发送请求获取css
- script标签,获取JS,并执行代码
- img标签,获取图片资源
- 根据HTML CSS计算得到渲染树,绘制,执行JS