饥人谷学习随笔:网页实现

曾经毫不在意

曾几何时,我肆意遨游在网络中,浏览着各种网页,如新闻,游戏,电影等等,我寻找着我需要的,感动着我的感性,快乐着我的娱乐,享受着大片的刺激,我却从未思考过为何我能享受着这些。通过小小的输入框,我踏进了无限广大的世界,通过小小一个屏幕,我感受着前人也许一生都未曾明了、经历、见闻过的一切。

现在不明觉厉

现在我迷茫了,随着对前端兴趣的日益浓厚,以前键盘敲敲,鼠标点点就能在网络世界中畅游的我,渐渐开始想要探索究竟了。为什么打开浏览器在地址栏输入百度网址,按下回车,就进入了百度,为什么在搜索栏输入了关键字,你想要的内容就出来了,为什么伴随着花花绿绿,五颜六色的图片、视频,这究竟是怎么做到的。

答案终将揭晓

首先,想要知道如何实现,就要明白几个概念:

URL

 统一资源定位符,用于定位互联网上的资源。浏览器通过url定位目标然后到达目标,比如https://www.baidu.com就是url。

域名://与/之间的内容就是域名,对于https://www.baidu.com/?ie=utf-8&rsv_op,www.baidu.com就是域名。对于https://www.baidu.com的URL,浏览器实际上不知道https://www.baidu.com到底是什么东西,需要查找https://www.baidu.com网站所在服务器的IP地址,才能找到目标,每一个网站都有一个相应的ip。

域名解析过程

1 浏览器缓存 – 浏览器会缓存DNS记录一段时间

2 系统缓存 - 从 Hosts 文件查找是否有该域名和对应 IP。

3 路由器缓存 – 一般路由器也会缓存域名信息。

4 ISP DNS 缓存 – 比如到电信的 DNS 上查找缓存。

5 如果都没有找到,则向根域名服务器查找域名对应 IP,根域名服务器把请求转发到下一级,直到找到 IP

服务器处理

通过ip找到目标之后,服务器会经过一系列的处理,把服务器文件打包到浏览器中。

浏览器处理

HTML字符串被浏览器接受后被一句句读取解析

解析到link 标签后重新发送请求获取css

解析到 script标签后发送请求获取 js,并执行代码

解析到img 标签后发送请求获取图片资源

绘制网页

浏览器根据 HTML 和 CSS 计算得到渲染树,绘制到屏幕上

js 会被执行

结语

以上是我对网页实现的粗浅理解,也许有谬误,但我相信,经过未来的努力学习,我会真正的明白一个网页是如何实现的。






你可能感兴趣的:(饥人谷学习随笔:网页实现)