1、HTML
1.1、Web頁面幾乎全由HTML構(gòu)建
HTML(HyperText Markup Language,超文本標(biāo)記語言)是為了發(fā)送Web上的超文本而開發(fā)的標(biāo)記語言。超文本是一種文檔系統(tǒng),可將文檔中任意位置的信息與其他信息(文本或圖片等)建立關(guān)聯(lián),即超鏈接文本。標(biāo)記語言是指通過在文檔的某部分穿插特別的字符串標(biāo)簽,用來修飾文檔的語言。我們把出現(xiàn)在HTML文檔內(nèi)的這種特殊字符串叫做HTML標(biāo)簽(Tag)。平時我們?yōu)g覽的Web頁面幾乎全是使用HTML寫成的。由HTML構(gòu)成的文檔經(jīng)過瀏覽器的解析、渲染后,呈現(xiàn)出來的結(jié)果就是Web頁面。
1.2、HTML的版本
Tim Berents-Lee提出HTTP概念的同時,還提出了HTML原型。1993年在伊利諾伊大學(xué)的NCSA(The National Center for Supercomputing Applications,國家超級計算機(jī)應(yīng)用中心)發(fā)布了Mosaic瀏覽器(世界首個圖形界面瀏覽器程序),而能夠被Mosaic解析后的HTML,統(tǒng)一標(biāo)準(zhǔn)后即作為HTML1.0發(fā)布。
目前的最新版本是HTML5.0標(biāo)準(zhǔn),2014年10月28日作為W3C推薦標(biāo)準(zhǔn)發(fā)布。HTML5標(biāo)準(zhǔn)不僅解決了瀏覽器之間的兼容性問題,并且可把文本作為數(shù)據(jù)對待,更容易復(fù)用,動畫等效果也變得更生動。
1.3、設(shè)計應(yīng)用CSS
CSS(Cascading Style Sheets,層疊樣式表)可以指定如何展現(xiàn)HTML內(nèi)的各種元素,屬于樣式表標(biāo)準(zhǔn)之一。即使是相同的HTML文檔,通過改變應(yīng)用的CSS,用瀏覽器看到的頁面外觀也會隨之改變。CSS的理念就是讓文檔的結(jié)構(gòu)和設(shè)計分離,達(dá)到解耦的目的。
2、動態(tài)HTML
1.讓W(xué)eb頁面動起來的動態(tài)HTML
所謂動態(tài)HTML(Dynamic HTML),是指使用客戶端腳本語言將靜態(tài)的HTML內(nèi)容變成動態(tài)的技術(shù)的總稱。鼠標(biāo)單擊點開的新聞、Google Maps等可滾動的地圖就用到了動態(tài)HTML。
動態(tài)HTML技術(shù)是通過調(diào)用客戶端腳本語言JavaScript,實現(xiàn)對HTML的Web頁面的動態(tài)改造。利用DOM(Document Object Model,文檔對象模型)可指定預(yù)發(fā)生動態(tài)變化的HTML元素。
2.更易控制HTML的DOM
DOM是用以操作HTML文檔和XML文檔的API(Application Programming Interface,應(yīng)用編程接口)。使用DOM可以將HTML內(nèi)的元素當(dāng)作對象操作,如取出元素內(nèi)的字符串、改變那個CSS的屬性等,使頁面的設(shè)計發(fā)生改變。通過調(diào)用JavaScript等腳本語言對DOM的操作,可以以更為簡單的方式控制HTML的改變。
3.Web應(yīng)用
1.通過Web提供功能的Web應(yīng)用
Web應(yīng)用是指通過Web功能提供的應(yīng)用程序。比如購物網(wǎng)站、網(wǎng)上銀行、SNS、BBS、搜索引擎和e-learning等。原本應(yīng)用HTTP協(xié)議的Web的機(jī)制就是對客戶端發(fā)來的請求,返回事前準(zhǔn)備好的內(nèi)容。可隨著Web越來越普及,僅靠這樣的做法已不足以應(yīng)對所有的需求,更需要引入由程序創(chuàng)建HTML內(nèi)容的做法。類似這種由程序創(chuàng)建的內(nèi)容稱為動態(tài)內(nèi)容,而事先準(zhǔn)備好的內(nèi)容稱為靜態(tài)內(nèi)容,Web應(yīng)用則作用于動態(tài)內(nèi)容之上。
2.與Web服務(wù)器及程序協(xié)作的CGI
CGI(Common Gateway Interface,通用網(wǎng)關(guān)接口)是指Web服務(wù)器在接收到客戶端發(fā)送過來的請求后轉(zhuǎn)發(fā)給程序的一組機(jī)制。在CGI的作用下,程序會對請求內(nèi)容做出相應(yīng)的動作,比如創(chuàng)建HTML等動態(tài)內(nèi)容。使用CGI的程序叫做CGI程序,通常是用Perl、PHP、Ruby和C等編程語言編寫而成。
3.因Java而普及的Servlet
Servlet是一種能在服務(wù)器上創(chuàng)建動態(tài)內(nèi)容的程序。Servlet是用Java語言實現(xiàn)的一個接口,屬于面向企業(yè)級Java(JavaEE,JavaEnterprise,Edition)的一部分。之前提及的CGI,由于每次接到請求,程序都要跟著啟動一次。因此一旦訪問量過大,Web服務(wù)器要承擔(dān)相當(dāng)大的負(fù)載,而Servlet運(yùn)行在與Web服務(wù)器相同的進(jìn)程中,因此受到的負(fù)載較小。Servlet的運(yùn)行環(huán)境叫做Web容器或Servlet容器。Servlet作為解決CGI問題的對抗技術(shù),隨Java一起得到普及。
4、數(shù)據(jù)發(fā)布的格式及語言
1.可擴(kuò)展標(biāo)記語言
XML(eXtensible Markup Language,可擴(kuò)展標(biāo)記語言)是一種可按應(yīng)用目標(biāo)進(jìn)行擴(kuò)展的通用標(biāo)記語言。旨在通過使用XML,使互聯(lián)網(wǎng)數(shù)據(jù)共享變得更容易。XML和HTML都是從標(biāo)準(zhǔn)通用標(biāo)記語言SGML(Standard Generalized Markup)簡化而成。與HTML相比,它對數(shù)據(jù)的記錄方式做了特殊處理。和HTML一樣,使用標(biāo)簽構(gòu)成樹形機(jī)構(gòu),并且可自定義擴(kuò)展標(biāo)簽。從XML文檔中讀取數(shù)據(jù)比起HTML更為簡單。由于XML的結(jié)構(gòu)基本上都是用標(biāo)簽分割而成的樹形結(jié)構(gòu),因此通過語法分析器的解析功能解析XML結(jié)構(gòu)并取出數(shù)據(jù)元素,可更容易地對數(shù)據(jù)進(jìn)行讀取。更容易地復(fù)用數(shù)據(jù)使得XML在互聯(lián)網(wǎng)上被廣泛接受。
2.發(fā)布更新信息的RSS/Atom
RSS(簡易信息聚合,也叫聚合內(nèi)容)和Atom都是發(fā)布新聞或博客日志等更新信息文檔的格式的總稱。兩者都用到了XML
3.JavaScript衍生的輕量級易用JSON
JSON(JavaScript Object Notation)是一種以JavaScript(ECMAScript)的對象表示法為基礎(chǔ)的輕量級數(shù)據(jù)標(biāo)記語言。能夠處理的數(shù)據(jù)類型有false/null/true/對象/數(shù)組/數(shù)字/字符串,這七種類型。JSON讓數(shù)據(jù)更輕更純粹,并且JSON的字符串可被JavaScript輕易地讀入。當(dāng)初配合XML使用的Ajax技術(shù)也讓JSON的應(yīng)用變得更為廣泛。另外,其他各種語言也提供豐富的庫類,以達(dá)到輕便操作JSON的目的。