建站有很多技術(shù),如 HTML、HTML5、XHTML、CSS、SQL、JavaScript、PHP、ASP.NET、Web Services、瀏覽器腳本、服務(wù)器腳本等。它們的區(qū)別是什么?新手一點(diǎn)不懂,想理清所有這些技術(shù)之間的關(guān)系和應(yīng)用范圍。
|2015/05/14 15:42
HTML :
超文本標(biāo)記語言,用一系列的標(biāo)簽(如p, div, span等) 將頁面分塊,是網(wǎng)頁的基礎(chǔ),負(fù)責(zé)頁面的結(jié)構(gòu)和內(nèi)容。像人的骨骼。
XHTML :
HTML 的某個(gè)版本,X 表示“嚴(yán)格”,對(duì)代碼的規(guī)范性有很高的要求,所有標(biāo)簽都必須閉合(如<input type="text" />, 后面的反斜線不能省略)
HTML5 :
HTML 的新版本,強(qiáng)調(diào)語義化,新增語義化標(biāo)簽(如header, figure, canvas, video等),新增標(biāo)簽屬性(如 input 的 datetime, tel, email 等)。
廣義的HTML5 也包含CSS3 和js 部分,在談HTML5 的時(shí)候這三者不必分得很細(xì)。
CSS :
層疊樣式表,負(fù)責(zé)頁面的樣式設(shè)置,控制位置,尺寸,顏色,邊框等一系列視覺效果。像人的外貌。
CSS3 :
CSS
的新版本,在原有基礎(chǔ)上做了增強(qiáng)(如多背景,nth-child 選擇器等)增加了很多高級(jí)特性,比如對(duì)漸變色的處理(gradient,
linear),對(duì)形狀的處理(border-radius, transform),甚至對(duì)簡單動(dòng)畫的處理(key-frames,
transition),對(duì)設(shè)備類型及狀態(tài)的判斷(media-query)。
SQL :
關(guān)系型數(shù)據(jù)庫語言,用于存儲(chǔ)數(shù)據(jù)。如存儲(chǔ)學(xué)生信息,需要將每個(gè)學(xué)生的學(xué)號(hào),名字,班級(jí),年齡,學(xué)分等信息有組織地存放在一起。純手工年代,就是記在紙上。互聯(lián)網(wǎng)上,數(shù)據(jù)庫就相當(dāng)于這張紙,只不過其組織的數(shù)據(jù)更有條理。
常見的關(guān)系型數(shù)據(jù)庫有MySql, Oracle, SQLServer 等。
常見的非關(guān)系型數(shù)據(jù)庫有MongoDB等。
JS :
javascript 的簡寫,一種腳本語言。單獨(dú)使用可以分析數(shù)據(jù)。在瀏覽器中跟DOM 結(jié)合,可以修改頁面的HTML 和CSS, 以達(dá)到修改動(dòng)態(tài)修改頁面結(jié)構(gòu)、內(nèi)容和樣式的目的。跟事件結(jié)合可以處理響應(yīng),比如頁面中用戶的點(diǎn)擊行為,前后端交互中數(shù)據(jù)的流動(dòng)。
NODEJS :
服務(wù)器端的JS, 用JS 的語法在后端處理連接請(qǐng)求,處理文件,監(jiān)測進(jìn)程等。相對(duì)于JAVA, PHP 等后端語言,NODEJS 更擅長處理高并發(fā)的情況,對(duì)CPU 需求比較高。
PHP, ASP.net
作
用跟NODEJS 一樣,但語法、原生函數(shù)、適用環(huán)境、效率等有所不同。當(dāng)然,這幾個(gè)大概還不能統(tǒng)一說,例如PHP 不僅是一種語言,還是PHP
這種語言運(yùn)行的平臺(tái)。另一種前幾年用得多的后端語言是JAVA,用JAVA 專寫頁面的是JSP,這幾年發(fā)展得怎樣,沒關(guān)注。更詳細(xì)的我就不清楚了。
瀏覽器腳本
在瀏覽器中運(yùn)行的腳本,現(xiàn)在用的最多的是JS。
服務(wù)器端腳本
服務(wù)器端運(yùn)行的腳本。
Web Service :
很籠統(tǒng)的概念,涉及到XML, TCP/IP 等一系列前后端技術(shù)。
【簡化的】網(wǎng)站工作流程 :
至于網(wǎng)絡(luò)客戶端,可以將以上的“瀏覽器”換成客戶端本身,將HTML, CSS, JS 等換成PC 或者手機(jī)所支持的相應(yīng)技術(shù)。
本地客戶端所需要的資源當(dāng)然都已經(jīng)存儲(chǔ)在本地機(jī)器上了,可以當(dāng)做服務(wù)器與客戶端都在同一臺(tái)機(jī)器上。