1.web應用
Web 應用是指通過 Web 功能提供的應用程序省店。比如購物網(wǎng)站嚣崭、網(wǎng)上銀行笨触、SNS、BBS雹舀、搜索引擎和 e-learning 等芦劣。互聯(lián)網(wǎng)(Internet)或企業(yè)內(nèi)網(wǎng)(Intranet)上遍布各式各樣的 Web 應用葱跋。
原本應用 HTTP 協(xié)議的 Web 的機制就是對客戶端發(fā)來的請求持寄,返回事前準備好的內(nèi)容∮榘常可隨著 Web 越來越普及,僅靠這樣的做法已不足以應對所有的需求废麻,更需要引入由程序創(chuàng)建 HTML 內(nèi)容的做法荠卷。
類似這種由程序創(chuàng)建的內(nèi)容稱為動態(tài)內(nèi)容,而事先準備好的內(nèi)容稱為靜態(tài)內(nèi)容烛愧。Web 應用則作用于動態(tài)內(nèi)容之上油宜。
1.1與 Web 服務器及程序協(xié)作的 CGI
CGI(Common Gateway Interface,通用網(wǎng)關接口)是指 Web 服務器在接收到客戶端發(fā)送過來的請求后轉(zhuǎn)發(fā)給程序的一組機制怜姿。在 CGI 的作用下慎冤,程序會對請求內(nèi)容做出相應的動作,比如創(chuàng)建 HTML 等動態(tài)內(nèi)容沧卢。
使用 CGI 的程序叫做 CGI 程序蚁堤,通常是用 Perl、PHP但狭、Ruby 和 C 等編程語言編寫而成披诗。
1.2 servlet
Servlet是一種能在服務器上創(chuàng)建動態(tài)內(nèi)容的程序。Servlet 是用 Java 語言實現(xiàn)的一個接口立磁,屬于面向企業(yè)級 Java(JavaEE呈队,Java Enterprise Edition)的一部分。之前提及的 CGI唱歧,由于每次接到請求宪摧,程序都要跟著啟動一次。因此一旦訪問量過大颅崩,Web 服務器要承擔相當大的負載几于。而 Servlet 運行在與 Web 服務器相同的進程中,因此受到的負載較小 2挨摸。Servlet 的運行環(huán)境叫做 Web 容器或 Servlet 容器孩革。
隨著 CGI 的普及,每次請求都要啟動新 CGI 程序的 CGI 運行機制逐漸變成了性能瓶頸得运,所以之后 Servlet 和 mod_perl 等可直接在 Web 服務器上運行的程序才得以開發(fā)膝蜈、普及.
2.數(shù)據(jù)發(fā)布的格式及語言
2.1 XML
XML 和 HTML 一樣锅移,使用標簽構(gòu)成樹形結(jié)構(gòu),并且可自定義擴展標簽饱搏。
從 XML 文檔中讀取數(shù)據(jù)比起 HTML 更為簡單非剃。由于 XML 的結(jié)構(gòu)基本上都是用標簽分割而成的樹形結(jié)構(gòu),因此通過語法分析器(Parser)的解析功能解析 XML 結(jié)構(gòu)并取出數(shù)據(jù)元素推沸,可更容易地對數(shù)據(jù)進行讀取备绽。
更容易地復用數(shù)據(jù)使得 XML 在互聯(lián)網(wǎng)上被廣泛接受。比如鬓催,可用在 2 個不同的應用之間的交換數(shù)據(jù)格式化肺素。
2.2 RSS
RSS(簡易信息聚合,也叫聚合內(nèi)容)和 Atom 都是發(fā)布新聞或博客日志等更新信息文檔的格式的總稱宇驾。兩者都用到了 XML倍靡。
Atom 具有以下兩種標準:
Atom 供稿格式(Atom Syndication Format):為發(fā)布內(nèi)容而制定的網(wǎng)站消息來源格式,單講 Atom 時课舍,就是指此標準塌西。
Atom 出版協(xié)定(Atom Publishing Protocol):為 Web 上內(nèi)容的新增或修改而制定的協(xié)議。
2.3 JSON
JSON(JavaScript Object Notation)是一種以 JavaScript(ECMAScript)的對象表示法為基礎的輕量級數(shù)據(jù)標記語言筝尾。能夠處理的數(shù)據(jù)類型有 false/null/true/ 對象 / 數(shù)組 / 數(shù)字 / 字符串捡需,這 7 種類型。
JSON 讓數(shù)據(jù)更輕更純粹筹淫,并且 JSON 的字符串形式可被 JavaScript 輕易地讀入站辉。當初配合 XML 使用的 Ajax 技術(shù)也讓 JSON 的應用變得更為廣泛。另外贸街,其他各種編程語言也提供豐富的庫類庵寞,以達到輕便操作 JSON 的目的。.