理解Web 建站技术中的HTML、HTML5、XHTML、CSS、JavaScript、PHP、ASP.NET、Web Services等概念。
1、HTML与CSS
HTML:超文本标记语言——描述网页——web浏览器网页显示
CSS:规定样式的语言——修饰网页——基本代码格式→属性:值
在 html 文件里用一个<link>标签把这些规定样式的 CSS 代码与表达内容语义的 HTML 代码关联。
2、HTML5与XHTML
XML:可扩展标记语言——所有东西都被正确标记——结构良好的文档
XHTML:XML和HTML的结合——可理解为HTML的严格语法形式
HTML5:新标准——更多标签和属性。
HTML5出现的原因:XHTML只是提供了编写web页面的新方法,web开发人员对HTML的灵活性更感兴趣,而不是XHTML的严格性。
3、JavaScript
HTML + CSS = 静态页面(不刷新)
JavaScript:添加动态效果(不用刷新就能和服务器交互)。
4、web server和web services
web server:通常,基于HTTP协议,处理浏览器的HTTP请求,其他功能:缓存、平衡负载。
web services:协议(如:HTTP/HTTPS)+数据封装格式(如:HTML/XML)→网络交互。
常见的现成的 Web Server 有开源的 Apache、Nginx和微软的IIS。
因为 Web Server 需要比较好的性能,所以投产时用的 Web Server 通常是C/C++/Java写的,但是其实很多语言都可以写,而且配合上语言底层的优化和好的模型,其他语言写的 Web Server也可以有不错的表现。
5、PHP,服务器脚本,Web Framework
PHP:一种常见的用来写服务器脚本的语言。
服务器脚本:服务器脚本可以对这些不同的状态,生成不同的页面,交给 Web Server 返回给浏览器。服务器脚本就是利用已知的数据,在这些因人而异的地方填入相应的内容,生成给每个人看的页面。
写服务器脚本的时候,通常还会用相同语言写的 Web Framework 来处理各种细节,防御一些常见的攻击,提供跨站认证(比如用已有的微博账号注册其他网站)的接口,利用cookie处理登陆状态和用户设置,生成网页模版之类的。如果你用 C# 或者 Visual Basic 写服务器脚本,就可以用 ASP.NET 这个框架实现这些功能。不过现在不少人是反过来为了一个好用的 Web Framework 去选择它对应的服务器脚本语言的。
ASP.NET:微软的架构,通常会搭配 Windows Server 操作系统,SQL Server 数据库,IIS 做 Web Server。StackOverflow和京东(曾经)就是这个架构。