美文网首页
从url输入到展示

从url输入到展示

作者: ssuzj | 来源:发表于2019-01-11 16:53 被阅读0次

url是什么

url(uniform resource location):统一资源定位符,用于定位互联网上的资源

常用协议

http、https、ftp、file(本地)
//表示本链接是与本页所用协议相同

输入后第二步 域名解析

对于http://jirenhu.com的url,浏览器实际上不知道jirengu.com到底是什么东西,需要查找jirengu.com网站所在服务器的IP地址,才能找到目标

为什么要发明域名,而不直接用IP?

太麻烦记不住,方便记忆

域名解析流程

  1. 浏览器缓存 - 浏览器会缓存DNS记录一段时间
  2. 系统缓存 - 从Hosts文件中查找是否有该域名对应的IP地址
  3. 路由器缓存 - 一般路由器也会缓存域名信息
  4. ISP DNS缓存 - 比如到电信的DNS上查找缓存
  5. 如果都没查到,则向根域名服务器查找域名对于IP,根域名服务器把请求转发到下一级,直到找到IP

在这里有必要说一下以下俩个问题:

1. 电脑上不了网,为什么要把域名改为8.8.8.8或者114.114.114.114?

8.8.8.8实际上是Google提供的服务器,114是国内的服务商,如果将DNS改为谷歌的他就不会从ISP什么的往下找了,他就直接去谷歌的服务器里去找了

2. DNS劫持是什么?

比如黑客攻击了某个节点,把某个根域名服务器攻击了,他管理着国内外成千上万个IP地址,比如你查找的是baidu.com,本来对应的是baidu.com的IP,现在给你一个他自己的IP,这个时候你打开的baidu.com的网站其实是一个假的网站

第三步,服务器处理

服务器是一台安装系统的机器,常见的Linux,Window Server 2012,系统里安装处理请求的应用叫做Web Server
常见的Web服务器有Apache、Nginx、IIS、Lightted
Web服务器接收用户的Request交给网站代码,或者接受请求反向代理到其他Web服务器
其实他就是个入口,不同的域名可以解析到相同的IP地址,这个IP地址下的服务器可以管控多个项目,只要通过编写配置文件让不同的请求交给不同代码就可以了。

第四步,网站处理流程

以MVC的架构的项目为例,通过路由发发送请求到服务器提交给控制器,控制器向模型向数据库组织数据返回给控制器,再由控制器把数据交给视图组织页面,把塞好数据的视图由控制器返回给用户,就得到了平时所看到的页面


image.png

第五步,浏览器处理

Html字符串被浏览器接收后被一句句读取解析

  • 解析到link标签后重新发送请求获取css
  • 解析到script标签后发送请求获取js,并执行代码
  • 解析到img标签后发送请求获取图片

绘制网页:浏览器根据Html和CSS计算得到渲染树,绘制到屏幕上js会执行

相关文章

网友评论

      本文标题:从url输入到展示

      本文链接:https://www.haomeiwen.com/subject/tqxzrqtx.html