上学期当助教讲到Web章节总结的一点点极为浅显的基础知识。

Web1.0注重于信息的单向发布,像一个权威不容修改。

Web2.0使得用户既是内容的浏览者,又是内容的发布者,更加注重交互性。

Web3.0的信息可以通过第三方信息平台对多家网站的信息进行整合使用。

HTML5是对HTML的第五次重大修改,它的本质是一套标准(HTML5不是一个程序,新版的Chrome、Edge、Firefox、Safari等浏览器,都可以认为是对同一套标准的不同实现)。它更注重移动端的体验,使得各种服务无缝连接。

我总结了几个重点新特性:

  1. 新增语义标签,使得语义更丰富(以前各种苍白的div,现在可以用header、rooter做标签)

  2. 本地缓存带来更快的联网速度,还有更有效的服务器推送技术。

  3. 更广泛的接口带来更好的设备兼容性(譬如通过Geolocation这种API,开发者可以申请获得用户位置。这也是手机网页版可以在订餐、查地图、租车的时候瞬间确定用户位置的原因。)

  4. 更好的网络多媒体特性(网上看视频的时候使用HTML5技术代替原始的Flash,可以更快、能耗更低、安全性更高)

  5. 三维图形以及特效特性(SVG、Canvas、WebGL以及CSS3带来惊艳的显示效果)

Cgi可以用不同的语言实现,最常用的是使用perl实现,也可以采用C\C++实现。本节课展示的就是使用C实现CGI的一个例子。

为什么讲CGI,因为在CGI之前,网页都是静态的,CGI开创的动态网页的先河。不过现在CGI也渐渐过时,很难完成大型平台的开发,也很难完成小型平台的快速开发。

CGI FastCGI ASP PHP ColdFusion JSP ASP.NET 等都是常用的主流的动态网页技术。

发展过程中,有一个特性是MVC。MVC是一种软件设计的模式,把模型model-视图-view-控制器-controller分离开。

传统的CGI可以说是把模型、视图、控制器混在一起,靠开发者自己区分,逻辑会比较乱,影响开发效率,MVC出现以后越来越受到开发者的欢迎,也经常被现代Web技术所使用。