六大问答平台
优快云: https://www.youkuaiyun.com
最大的中文技术博客社区
思否:https://www.youkuaiyun.com 问答技术社区
稀土掘金:https://juejin.cn 互联网技术风向的平台
开源中国 https://www.oschina.net 技术论坛
知乎:https://www.zhihu.com 问答平台
五大浏览器
1.IE浏览器
微软旗下一款产品,1995年诞生,为争夺市场份额与网景公司(netscape navigator浏览器)大战,navigator浏览器占据市场90%量,最终败给IE,IE最新版本是IE11,在2022年6月微软宣布不在对IE浏览器进行技术支持,IE淘汰。
2.Safari浏览器
2003年苹果公司在苹果手机上开发的一款浏览器,利用苹果手机市场的原因希望能占据浏览器的市场,这个浏览器很快成为世界上主流的浏览器
3.Firefox(火狐浏览器)
网景公司的部分员工建立了Mozilla基金会,Mozilla刚诞生的时候是一个非盈利组织,2004年这批人开发了这款浏览器,并且使用了navigator的内核
4.Chrome(谷歌浏览器)
2008年Google公司推出的一款浏览器,一开始利用safari内核的一款浏览器,发布以来一直以简洁,快速,安全著称
5.Opera(欧朋浏览器)
欧普拉(挪威)软件公司1995年推出的一款浏览器,2016年2月确定被[奇虎360]和[昆仑万维]收购。
浏览器的内核
浏览器内核的作用:对网页语法(HTML, 图片,视频, css,js)进行解析工作,对代码进行解释并渲染(显示)网页
注意:不同浏览器的内核他的解析工作不一样,所以会造成一个问题,最终渲染效果不同, 所以针对一些特殊的东西需 要做兼容(但是现在兼容这件事很少做,即使需要也会有对应技术帮我们自动去实现)
浏览器内核分为两块:分别是渲染引擎和js引擎
五大浏览器的内核
1.Gecko内核
火狐浏览器用的就是这款内核,网景公司开发的内核,最早用在netscape navigator浏览器上的一个内核,代码是开源的
2.Chromium内核
edge浏览器用的就是这款内核,Google公司推出的一款内核,之前是使用在Chiromium浏览器上面(这款浏览器利类似于chrome浏览器)
3.Webkit内核
用在safari浏览器上,苹果公司自主研发的一款内核,代码开源
4.Blink内核
欧普拉软件公司和谷歌联合开发的一款内核,2013年4月产生
5.IE内核
Trident内核,也是俗称的IE内核,1997年诞生,最初的时候使用在IE4上面, 它修改了mosaic(马赛克)浏览器内核产生的,直到用到了IE11
浏览器从输入URL按下回车键以后发生了什么
1.DNS域名解析
我们可以理解为DNS服务器就是一张映射表,它是将对应域名解析成相关的公网Ip地址 ,这个ip地址就是服务器在公网 中的唯一身份
ping是一个指令,可以用来诊断与服务器之间连接是否正常 返回TTL是ip协议包中的一个值,有了这个值就是正常,如果超时了代表连接是失败的,可以ping以后获取对应网站ip,可以直接访问这个ip,但是有一些网站是做了限制,不允许ip访问
内网ip可以通过ping ipconfig指令来查看
2.建立TCP(传输控制协议)连接
TCP(传输控制协议):可以理解为两台设备连接的一种规则。
建立的过程,需要三次握手
网络三次握手:
1.客户端发送一个带有SYN标识的数据包给服务器(请求连接服务器)
2.服务器收到以后会回传一个带有SYN/ACK标识的数据包给客户端(服务器同意连接,并且请求连接客户端)
3.最后客户端再回传一个带有ACK标识的数据包给服务器(客户端确认连接),握手结束,连接成功
注:SYN表示:请求连接
ACK表示:确认连接
3.发送HTTP请求
HTTP:超文本传输协议,建立在tcp连接基础之上的,我们可以理解为客户端和服务器之间传输内容的一些规则,包含了很多请求相关的信息
4.服务器处理请求
服务器收到请求以后,根据相关参数或者说请求方式等请求信息来处理数据,解析用户请求,服务器开始处理请求并且从数据库调用相关数据或者资源,然后返回给客户端
5.返回响应结果
服务器将准备好的数据或者资源返回给客户端可能包含了(文件资源,数据,HTTP状态码)
常见HTTP状态码:
200:表示服务器响应成功,也就是找到了客户端请求的内容,并且返回给了客户端
301:永久重定向:表示请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。 今后任何新的请求都应使用新的URI代替 302:临时重定向:类似于301,只是他是临时的
304:告诉客户端请求成功了,但是这个资源不是由服务器提供的,而是客户端本地缓存中的资源,节省传输开销,性 能优化
403:表示访问服务器的资源权限不够或者说IP被封掉了,跨域请求错误
404:表示服务器上没有该资源,也可以理解为找不到这些资源
405:表示请求方式错误
500:表示服务器有问题,服务器关闭或者代码出错了
注意:我们在访问后端提供的接口的时候,如果状态码出现了4开头,要先查看自己的代码,没有问题的情况下 那就是后端问题
6.关闭TCP连接
为了避免服务器与客户端之间双方资源占用和消耗,当双方没有数据继续传递时任何一方都可发起关闭的请求
关闭连接需要经过4次挥手
FIN:请求关闭
-
第一次挥手:client发送一个FIN标识的数据包给server请求关闭
-
第二次挥手:server收到FIN后,发送一个ACK标识的数据包给client确认关闭
-
第三次挥手:server发送一个FIN标识的数据包给client表示请求关闭
-
第四次挥手:client收到FIN以后,发送一个ACK标识的数据包给server确认关闭