小菜鸡的一天

文章介绍了互联网早期的浏览器竞争,如IE与NetscapeNavigator的对决,以及后续的浏览器发展,包括Chrome、Firefox、Safari和Edge。讨论了JavaScript和ECMAScript的关系,以及浏览器内核的作用,如Trident、Blink、Gecko和WebKit。此外,解释了从输入URL到页面加载涉及的DNS解析、TCP连接、HTTP请求和响应的过程。
摘要由CSDN通过智能技术生成

各位大佬,作为小菜鸡的一天,近期初入这个行业,还请各位多多提携,不胜感激

五大浏览器:

  1. IE浏览器

微软旗下一款产品,1995年诞生,争夺市场,网景公司(navigator浏览器)占据市场百分90量,第一次浏览器大战最终ie取胜了,ie最新版本是ie11,在去年2022年6月微软宣布不再对ie进行技术支持了,ie淘汰了

拓展:网景公司,livescript 刚出来没什么名气,在浏览器进行表单验证的,网景公司当时和sun(太阳,java)公司合作。最终将livescript改成javascript,98年的时候被AOL(美国在线)给收购了,最终将javascript 捐给了ECMA机构,EMCA就对javascript进行了一系列的规范和标准,ECMASCRIPT

Javascript = js

ECMASCRIPT = es

Es是一种标准(说明书) js 就是一种实现(按照说明写代码)

  1. safari浏览器

2003年苹果公司在苹果手机上开发的一款浏览器,利用苹果手机市场的原因希望能占据浏览器的市场

  1. firfox(火狐浏览器)

网景公司的部分员工建立了Mozilla机构,04年这批人开发了这款浏览器,并且使用了navigator的内核

  1. chrome(谷歌浏览器) 下载地址:https://www.google.cn/chrome/

08年google公司推出一款浏览,一开始利用safari内核的一款器,发布以来一直以简洁、快速、安全著称

  1. Opera(欧朋浏览器)

Opera浏览器也是95年欧普拉软件公司(挪威)推出,后来这款浏览器是被奇虎360收购

  1. Edge:

微软2015推出的一款浏览器,IE不在被维护了,Edge代替IE浏览器,内核使用的就是谷歌浏览器的一款内核

4大浏览器的内核:

浏览器内核的作用:

浏览器内核分为两块分别是渲染引擎和js引擎,对网页语法的绩解析工作,不同浏览器的内核它的解析工作是不一样的

Trident内核:IE内核

最初的时候使用在IE4上面,它修改了mosaic(马赛克)浏览器内核,产生的,直至用到了IE11

Blink内核 chromeOpera

欧普拉软件公司和谷歌联合开发的一款内核,13年的时候退出的

Gecko内核: 火狐浏览器

最早就是用在navigator浏览器上的一个内核,代码开源的

Webkit内核:safari

苹果公司自主研发的一款内核,代码开源的

Chromium内核: Edge

Google公司退出的内核之前是使用在Chromium浏览器上面(这款浏览器类似于chrome浏览的小白鼠)

360浏览器百度浏览器 QQ浏览器 搜狗浏览器 披了一层皮肤

重要:浏览器从输入URL(地址)按下回车键以后发生了什么?

  1. DNS域名解析

我们可以理解成DNS服务器就是一张映射表,它是将对应域名解析成相关的IP地址

Ping 指令可以用来诊断与服务器之间连接是否正常

  1. 建立TCP(传输控制协议)连接

  1. TCP(传输控制协议):可以理解为两台设备连接的一种规则

三次握手:

客户端发送一个带有SYN标志的数据包给服务器,服务器收到以后回回传一个带有SYN/ACK的标志的数据包给客户端,最后客户端再回传一个带有ACK标识的数据包给服务器,握手结束,连接成功

SYN表示 请求连接

ACK表示 确认连接

大白话理解:

1).client说:hello server,我是client我想要连你可以吗?

2).server说: 好的 你连我吧,我也想连你可以吗?

3).client说:我也同意了,那我们就可以传输数据了.

3.发送HTTP请求

HTTP:超文本传输协议,建立在tcp连接之上的

我们可以理解成客户端和服务器之间传输内容的一些规则

包含了很多请求相关的信息

4.服务器处理请求

服务器收到请求以后,根据相关参数或者说请求方式等请求信息来处理数据

解析用户请求,服务器知道了要从数据库调用哪一些数据或者资源,然后准备返回给客户端

5.返回响应结果

服务器将准备好的数据或者资源 返回给客户端可能包含了(文件资源,数据,http状态码)

拓展:

常见http状态码:

200:表示服务器响应成功,也就是找到了客户端请求的内容,并且返回给了客户端

301: 永久重定向,表示访问的www.baidu.com但是最终跳转到了 www.baidu.cn这个地址

302:临时重定向,类似于301 只是它是临时性的

304:告诉客户端请求成功了,但是这个资源不是由服务器提供的,而是客户端本地缓存中的资源,节省传输开销,性能优化

403:表示访问服务器的资源权限不够或者说IP被封掉了

404:表示服务器上没有该资源,也可以理解为找不到这些资源

500:表示服务器有问题了,服务器关闭了,服务器代码出错了

6.关闭TCP连接

为了避免服务器与客户端双方资源占用和消耗,当双方没有数据继续传递任何一方都可发起关闭的请求

关闭连接 需要经过4次挥手

FIN:请求关闭

  1. 第一次挥手:client发送一个FIN标识的数据包给server 请求关闭

  1. 第二次挥手:server收到FIN后 发送一个ACK标识的数据包给client确认关闭

  1. 第三次挥手:server发送一个FIN标识的数据包给client 表示请求关闭

  1. 第四次挥手:client 收到 FIN以后 发送一个ACK标识的数据包给server确认关闭

大白话理解:

Client:server 我这边没有数据给你了我们之间关闭连接吧

Server:好的,那我看看我这边还有没有数据给你

Server:我这边也没数据给你了,那我和你之间也关闭吧

Client:好的那就关吧

浏览器显示页面 注意这个过程并不是在关闭连接以后才发生

假设有一个html接收到,会从上往下进行加载解析,并且在过程中进行渲染,如果在过程碰到一些需要请求的资源如图片、视频外部链接的css js等资源那么又会重新连接去请求,但是这一个过程是异步

渲染过程主要由浏览器内核来完成

Webkit举例 不同内核渲染方式稍有不同

内核大致分为两个引擎 渲染引擎和引擎

  1. 渲染引擎解析(解析可以理解为是浏览器不认识代码,就是将浏览器不认识的东西转换成浏览器能认识的东西)html文件,构建DOM tree(DOM树 我们可以理解一种树结构数据)

  1. 然后解析CSS文件构建CSSOM tree(渲染树 我们可以理解一种树结构数据)

  1. 结合DOM tree 和 CSSOM tree生render tree(渲染树)

  1. 进行layout(布局)处理阶段,就是将render tree 分配到屏幕上的坐标,只是分配了坐标并没有展示出来

  1. 绘制阶段,渲染引擎遍历循环render tree将每一个节点绘制到屏幕上,需要知道这个这个绘制过程是渐进式的

  1. 最终js引擎解析js相关代码和执行

拓展:如果在过程碰到一些需要请求的资源如图片、视频外部链接的css js等资源那么又会重新连接去请求,但是这一个过程是异步

总结:DNS服务解析域名 – 建立TCP连接– http请求 – 服务器处理请求 – 服务器返回请求 – 关闭TCP连接– 解析文件渲染页面

计算机一些内容

1946年冯.诺依曼提出计算概念

  1. 计算机应该由5大部分组成,分别是,运算器 存储器,控制器,输入设备和输出设备

  1. 计算内部采用二进制来保存数据

  1. 将编号的程序和原始数据事先存到存储器中,然后启动计算机以后自动开始执行

输入设备:鼠标 键盘 麦克风

输出设备:扬声器 显示器..

运算器:处理算术逻辑运算

存储器:内存和外存

控制器:计算机指挥中心,功能就是从内存中读取数据然后交给运算器进行运算

内存:

内存中最小的单位bit,内存中基本的管理单位是字节(byte)

1024byte= 1kb(千字节)

1024kb= 1mb(兆字节)

1024mb= 1gb (吉字节)

1024gb= 1tb (太字节)

十进制:满十进一

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1617 18 19 20 ..99 100

二进制:满二进一

0 1 10 11 100 101 110 111 1000 1001 1010

十六进制:满十六进一位

0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 1213 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 ..

10B二进制里面10

10D十进制里面10

10H十六进制里面的10

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值