当前位置: 首页 > Web前端 > HTML

从输入网址(URL)到页面显示的过程

时间:2023-04-02 21:21:49 HTML

1。Userenterurl网址(URL)用户输入url(即我们所说的URL,也是统一的资源定义符,用于定义互联网资源)例如输入https://www.baidu.com其中https是protocolbaidu.com是域名www:WorldWideWeb的缩写。“WWW”已经翻译成“全球网”、“全球信息网”、“超媒体全球信息网”等,为什么要加呢,我估计是规范,有些网址不加www也可以访问,有时候域名后面会跟一个端口号,比如xxx.com:8080,8080是互联网上每一台电脑的端口号,都会被分配一个IP地址,指定网络地址的协议称为IP协议.它定义的地址叫做IP地址,那为什么我们输入的是URL而不是IP地址呢?因为URL是语义上很好的记忆,IP类似:192.168.1.0,不容易让人知道记住IP地址:浏览器根据输入的URL搜索其对应的IP地址。将域名和IP地址相互映射的分布式数据库可以使人们更方便地访问互联网。DNS使用TCP和UDP端口53TCP:为了解决这个问题,提高网络的可靠性,TCP协议诞生了。这个协议很复杂,但是可以近似认为它是一个带有确认机制的UDP协议,每发送一个数据包都需要确认。如果一个数据包丢失,则不会收到确认,发送方就会知道需要重新发送数据包。所以TCP协议可以保证数据不会丢失。其缺点是流程复杂,实施难度大,消耗资源较多。TCP协议的具体实现是“三次握手”:如图:UDP:我们必须在数据包中加入端口信息,这就需要一个新的协议。最简单的实现称为UDP协议,UDP数据包也是由“header”和“data”组成。UDP协议的优点是比较简单,易于实现。缺点:可靠性较差,数据包一旦发出,无法得知对方是否收到。URL到IP地址的转换,这个过程就是DNS解析,实现了URL到IP地址的转换,步骤如下域名解析:1.首先从浏览器缓存中找到IP,因??为浏览器会缓存DNS记录一段时间2.如果没有找到,则从Hosts文件中查看是否有域名和对应的IP3。如果没有找到,则从路由器缓存中查找。4.如果没有,再从DNS缓存中寻找。根域名服务器(baidu.com)查找该域名对应的IP,并将请求转发到下一级,直到找到该IP。补充:什么是dns劫持:黑客攻击根域名服务器的节点,发生在上面第四步。从DNS缓存数据库中搜索时,被恶意更改为其他URL,因此请求的URL为其他URL。3、服务器处理服务器:是一台安排了系统的机器,常见的系统如linux、windowsserver2012,在系统中安装处理请求的应用程序称为Web服务器,常用的Web服务器是Apache。处理流程如图:Rails路由匹配URL,通过controller从data中提取model数据展示给view。简称为MVC模式。前端开发人员专注于图的view视图的处理。4浏览器处理服务器通过后台语言程序处理,找到数据返回给浏览器,浏览器接受后逐句读取HTML字符串解析,解析后重新发送请求获取css到link标签,解析到sript标签后,发送请求获取js,执行代码5.绘制网页关于浏览器引擎的渲染,可以看到这个:浏览器内核和javascript引擎浏览器根据HTML和CSS计算渲染树,绘制到屏幕上。js会被执行。上面请求的整个过程如下:涉及到DNS域名解析找到IP的过程。本文涉及的东西太多太复杂,需要很长时间才能完成,但是经常会被问到面试,作为一个热爱前端开发的读者自然很好奇,想要一探究竟。备注:如果想了解IP寻址和http协议的详细内容,请点击:互联网协议简介(一)、互联网协议简介(二)参考资料:互联网协议简介阮一峰;DNS解析。————————————————————————————————————————————————————————————————————《听很多大神说写博客可以提高技术水平,以后会养成写博客的习惯,也方便我自己复习。”