建站有很多技術,如 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 或者手機所支持的相應技術。
本地客戶端所需要的資源當然都已經存儲在本地機器上了,可以當做服務器與客戶端都在同一臺機器上。