建站有很多技术,如 HTML、HTML5、XHTML、CSS、SQL、JavaScript、PHP、ASP.NET、Web Services、浏览器脚本、服务器脚本等。它们的区别是什么?新手一点不懂,想理清所有这些技术之间的关系和应用范围。
2015/05/14 15:42
HTML :
超文本标记语言,用一系列的标签(如p, div, span等) 将页面分块,是网页的基础,负责页面的结构和内容。像人的骨骼。
XHTML :
HTML 的某个版本,X 表示“严格”,对代码的规范性有很高的要求,所有标签都必须闭合(如<input type="text" />, 后面的反斜线不能省略)
HTML5 :
HTML 的新版本,强调语义化,新增语义化标签(如header, figure, canvas, video等),新增标签属性(如 input 的 datetime, tel, email 等)。
广义的HTML5 也包含CSS3 和js 部分,在谈HTML5 的时候这三者不必分得很细。
CSS :
层叠样式表,负责页面的样式设置,控制位置,尺寸,颜色,边框等一系列视觉效果。像人的外貌。
CSS3 :
CSS
的新版本,在原有基础上做了增强(如多背景,nth-child 选择器等)增加了很多高级特性,比如对渐变色的处理(gradient,
linear),对形状的处理(border-radius, transform),甚至对简单动画的处理(key-frames,
transition),对设备类型及状态的判断(media-query)。
SQL :
关系型数据库语言,用于存储数据。如存储学生信息,需要将每个学生的学号,名字,班级,年龄,学分等信息有组织地存放在一起。纯手工年代,就是记在纸上。互联网上,数据库就相当于这张纸,只不过其组织的数据更有条理。
常见的关系型数据库有MySql, Oracle, SQLServer 等。
常见的非关系型数据库有MongoDB等。
JS :
javascript 的简写,一种脚本语言。单独使用可以分析数据。在浏览器中跟DOM 结合,可以修改页面的HTML 和CSS, 以达到修改动态修改页面结构、内容和样式的目的。跟事件结合可以处理响应,比如页面中用户的点击行为,前后端交互中数据的流动。
NODEJS :
服务器端的JS, 用JS 的语法在后端处理连接请求,处理文件,监测进程等。相对于JAVA, PHP 等后端语言,NODEJS 更擅长处理高并发的情况,对CPU 需求比较高。
PHP, ASP.net
作
用跟NODEJS 一样,但语法、原生函数、适用环境、效率等有所不同。当然,这几个大概还不能统一说,例如PHP 不仅是一种语言,还是PHP
这种语言运行的平台。另一种前几年用得多的后端语言是JAVA,用JAVA 专写页面的是JSP,这几年发展得怎样,没关注。更详细的我就不清楚了。
浏览器脚本
在浏览器中运行的脚本,现在用的最多的是JS。
服务器端脚本
服务器端运行的脚本。
Web Service :
很笼统的概念,涉及到XML, TCP/IP 等一系列前后端技术。
【简化的】网站工作流程 :
至于网络客户端,可以将以上的“浏览器”换成客户端本身,将HTML, CSS, JS 等换成PC 或者手机所支持的相应技术。
本地客户端所需要的资源当然都已经存储在本地机器上了,可以当做服务器与客户端都在同一台机器上。