浏览器
什么是浏览器?
浏览器已经成为大家生活和工作中不可或缺的一部分,无论是网上冲浪还是网页游戏,都要借助浏览器才能进行,那么,浏览器是装在电脑里面的一个软件,能够将网页内容呈现给用户查看,并让用户与网页交互。其作用主要有两点1.将网页渲染出来给用户查看;2.能够让用户通过浏览器与网页交互。
浏览器工作原理
浏览器工作原理的实质就是实现http协议的通讯,具体过程如下:
HTTP通信的流程,大体分为三个阶段:
1、 连接 服务器通过一个ServerSocket类对象对8000端口进行监听,监听到之后建立连接,打开一个socket虚拟文件。
2、 请求 创建与建立socket连接相关的流对象后,浏览器获取请求,为GET请求,则从请求信息中获取所访问的HTML文件名,向服务器发送请求。
3、 应答 服务收到请求后,搜索相关目录文件,若不存在,返回错误信息。若存在,则想html文件,进行加HTTP头等处理后响应给浏览器,浏览器解析html文件,若其中还包含图片,视频等请求,则浏览器再次访问web服务器,异常获取图片视频等,并对其进行组装显示出来。
主流浏览器及其内核
1、IE(Internet Explorer) 内核 Trident
2、谷歌(Chrome) 内核 WebKit / Blink
3、火狐(Firefox) 内核 Gecko
4、Safari 内核 WebKit
5、欧朋(Opera) 内核 Presto
内核
什么是内核?
浏览器内核是测览器最核心的部分(渲染引擎),负责对网页语法的解释并渲染网页(也就是显示网页效果)渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。不同的浏览器内核对网页编写语法的解释不同,因此同一网页在不同内核浏览器中的渲染(显示)效果也可能不同。
内核及其代表:
1、Trident内核:代表作品是IE,因IE捆绑在Windows中,所以占有极高的份额,又称为IE内核或MSHTML,此内核只能用于Windows平台,且不是开源的。代表作品还有腾讯、Maxthon(遨游)、360浏览器等。但由于市场份额比较大,曾经出现脱离了W3C标准的时候,同时IE版本比较多,存在很多的兼容性问题。
2、Gecko内核:代表作品是Firefox,即火狐浏览器。因火狐是最多的用户,故常被称为firefox内核它是开源的,最大优势是跨平台,在Microsoft Windows、Linux、MacOs X等主 要操作系统中使用。Mozilla是网景公司在第一次浏览器大战败给微软之后创建的。有兴趣的同学可以了解一下浏览器大战
3、Webkit内核:代表作品是Safari、曾经的Chrome,是开源的项目。
4、Presto内核:代表作品是Opera,Presto是由Opera Software开发的浏览器排版引擎,它是世界公认最快的渲染速度的引擎。在13年之后,Opera宣布加入谷歌阵营,弃用了 Presto
5、Blink内核:由Google和Opera Software开发的浏览器排版引擎,2013年4月发布。现在Chrome内核是Blink。谷歌还开发了自己的JS引擎,V8,使JS运行速度极大地提高了
浏览器兼容性
什么是浏览器兼容性?
浏览器兼容性问题又被称为网页兼容性或网站兼容性问题,指网页在各种浏览器上的显示效果可能不一致而产生浏览器和网页间的兼容问题。在网站的设计和制作中,做好浏览器兼容,才能够让网站在不同的浏览器下都正常显示。而对于浏览器软件的开发和设计,浏览器对标准的更好兼容能够给用户更好的使用体验。
浏览器兼容的重要性:
- 网站做好了浏览器兼容,能够让网站在不同的浏览器下都正常显示
- 浏览器兼容能够抓住更多的网站访客
- 浏览器兼容能够给客户更好的体验
产生原因及解决方案
因为不同浏览器使用内核(标准通用标记语言下的一个应用)等网页语言标准不同;以及用户客户端的环境不同(如分辨率不同)造成的显示效果不能达到理想效果。最常见的问题就是网页元素位置混乱,错位。
解决方案: 最普遍的解决办法就是不断的在各浏览器间调试网页显示效果,通过对css样式控制以及通过脚本判断并赋予不同浏览器的解析标准。 如果所要实现的效果可以使用框架,那么还有另一个解决办法是在开发过程中使用当前比较流行的JS,CSS框架,如jQuery,YUI等等,因为这些框架无论是底层的还是应用层的一般都已经做好了浏览器兼容,所以可以放心使用。除此之外,CSS提供了很多hack接口可供使用,hack既可以实现跨浏览器的兼容,也可以实现同一浏览器不同版本的兼容。
兼容趋势
- 浏览器大战后期的Internet Explorer和Netscape Navigator两大浏览器都支持HTML 4.0和CSS 1,使得许多专用语法失去意义而被废止。
- 客户端脚本方面,浏览器大战的产物DOM变成了浏览器间操控技术的共同界面;对专有方法已有涵盖。
- 浏览器市场扩大,网站为了宣称自己的兼容能力,一般都能在Mozilla Firefox、Opera、Safari和传统阵营的Internet Explorer、Netscape Navigator正常被浏览。
- 浏览器的兼容能力日益受到需要;浏览器亦因应趋势,使自己的浏览器提供更多兼容功能。