zoukankan      html  css  js  c++  java
  • 漫画 | 浏览器一个比一个“无耻”

    张大胖初学Web开发, 遇到了一个古怪的东西:

     

      

    这个User Agent字符串之所以这么古怪, 要从20多年前的Mosaic说起。

    1993年,在伊利诺伊大学的国家超级计算中心(NCSA),第一个支持图片的浏览器Mosaic诞生了!

     

    不久,开发Mosaic的骨干Marc Andreessen前往硅谷,开始创业, 开发了一个叫Mozilla的浏览器

     伊利诺伊大学和NCSA对Marc Andreessen的所作所为很不高兴, 于是Mozilla被改名为Netscape。

      

    可以看出,无论是Mosaic还是Netscape,它们的User Agent还是很清爽的。

    不同的浏览器有不同的能力,于是在服务器端发展出了User Agent 嗅探技术。

      

    Netscape风靡网络,这让当年的软件霸主微软感受到了巨大的威胁, 微软推出了自己的浏览器Internet Explorer,希望成为Netscape Killer。

      

    IE等不及了, 它决定假装自己就是Mozilla !

     

    IE的欺骗成功了 !

     

    微软通过在Windows上捆绑IE, 迅速把Netscape 击败。

      

    正面战场搞不过微软, Netscape决定另辟蹊径:开源

     新的Mozilla 诞生了,与此同时,它还拥有了一个叫做Gecko的渲染引擎

      

    然后Mozilla变成了Firefox 。

     

     Gecko这个渲染引擎很厉害,很多浏览器开始使用它。

     Gecko 被广泛认可, 服务器又开始进行User Agent 嗅探了

    此时Linux刚搞了一个叫做Konqueror 的浏览器, 用的是自家的KHTML渲染引擎

     

    于是,Konqueror 在User Agent中也做了点手脚。

     

    Apple 也决定搞一个自己的浏览器Safari ,它基于KHTML,创建了新的渲染引擎 Webkit

     

    最后,Google也来了,它想做一个叫做Chrome的浏览器, 也基于WebKit引擎。

     

     这就是你看到的奇怪的User Agent的来历。

    更多精彩技术漫画,欢迎关注公众号 “码农翻身

  • 相关阅读:
    基础设计模式-04 复杂对象创建的建造器模式
    String,StringBuffer和StringBuilder
    js常用删除
    基础设计模式-03 从过滤器(Filter)校验链学习职责链模式
    基础设计模式-02 UML图
    注册全局方法,全局过滤器和全局组件
    py-faster-rcnn
    mac下编译cpu only caffe并用xCode建caffe工程
    OpenCV学习笔记(一)
    caffe生成voc格式lmdb
  • 原文地址:https://www.cnblogs.com/onlyliuxin/p/14958121.html
Copyright © 2011-2022 走看看