整个过程大概可以分为4部分
1 输入
baidu.com
2 DNS解析
3 服务器处理
4 浏览器渲染
输入baidu.com
浏览器会将其组装成完整的url,http://www.baidu.com
,
urL:统一资源定位符,用于定义互联网上的资源,url包括协议、域名
一个完整的url包括
1 协议部分常见的协议有http、https、file、ftp和telnet等等
2 域名部分该范例中域名为www.baidu.com
,
3 端口号一般与域名之间通过:连接,最常见的是80,http的端口号
4 虚拟目录部分域名后的第一个"/"到最后一个"/"之间是虚拟目录部分
5 文件名部分最后一个"/"开始到"?"截止
6 锚部分从"#"开始一直到最后
7 参数部分从"?"开始到"#"截止的部分
1和2是必要的部分,而3到7均不是必须的部分
DNS解析
将url和ip地址建立联系的关键步骤
1 浏览器缓存
2 系统缓存(电脑中的host文件中进行查找)
3 路由器缓存
4 ISP DNS(服务商)缓存
5 向根域名服务器查找
建立Tcp连接(Tcp的三次握手)
服务器处理
- 常见的web服务器: Apache、Ngix、IIS、Lighttpd
- web服务器作用:接收用户的Request交给网站代码,或者接收请求反向代理到其他web服务器
web服务器为外界提供服务,有许多网站,请求入口处装有ngix,ngix接管请求,将请求转交给相应的网站,网站处理请求返回首页给浏览器。
网站处理接收用户requests MVC概念如下图所示(模型、视图、控制器)按照从①到⑧的流程处理请求,最终进行⑧过程,即返还给浏览器HTML文件。
浏览器渲染
浏览器得到html字符串,一旦碰到css、js、href、src时,就会再次向服务器请求资源,资源全部拿到之后,浏览器根据HTML和CSS计算得到渲染树,绘制到屏幕上,js会被执行相应的操作