[Java Web] 1、Web開發初識——一大堆歷史和技術名詞


 

LZ前言

LZ最近發現網絡真是個神奇的東西,以前做的好玩的只能自娛自樂(或者說顧影自憐),現在只要發一個帖子,寫一個博客,很快能引來一大群小伙伴的圍觀(有時候還能遇見幾個大牛給個戰略性的指導)...LZ本來是搞硬件的:從CPU的制造(VHDL)、數電、模電再到計算機組成原理、匯編、接口技術,底層的東西算是走馬觀花地懂了點皮毛,正好大一的時候又了解一點計算機的編程知識(當時第一次用C++Build寫出來個Hollo World那個欣喜呀~后來又從win32學到MFC再到C#,嘿嘿,基本上還是皮毛吧~沒做過太大的東西,就寫幾個老掉牙的小游戲~),所以有空就做一些軟硬結合的小制作(嘿嘿,純屬沒女朋友的宅一族的自娛自樂)...雖然准大三啦,還是改不了貪玩的心,最近看實驗室里的學長、平時的小伙伴、大牛們玩web很是高大上,於是,嘿嘿....為了一個漂亮的博客的主頁,為了能在不懂的小伙伴前面吹一下牛皮,更為了多學點新東西....從今天開始涉足Web!!!啊~WEB一個神奇的圈子,我來了~

PS1:下面是俺從網上找了一些小資料整合一下的,請大神勿噴>_<",但是還是很高興大家給些好的建議和知道滴~

PS2:一般初學者(像俺)一聽到關於Web的一大堆技術名詞就會嚇得望而卻步,所以第一篇,俺從網上找了一些關於Web的介紹的資料,整合刪減一下,給咱們初學者一個大致的了解吧~(大神可以直接跳過啦~)

 

1、Web起源:

Web是World Wide Web的簡稱,中文稱之為萬維網,是用於發布、瀏覽、查詢信息的網絡信息服務系統,由許多遍布在不同地域內的Web服務器有機地組成。 
Web的不斷完善都是基於各種Web技術的不斷發展,Web的應用架構是由英國人Tim Berners-Lee在1989年提出的,而它的前身是1980年Tim Berners-Lee負責的Enquire(Enquire Within Upon Everything的簡稱)項目。1990年11月第一個Web服務器nxoc01.cern.ch開始運行,由Tim Berners-Lee編寫的圖形化Web瀏覽器第一次出現在人們面前。1991年,CERN(European Particle Physics Laboratory)正式發布了Web技術標准。目前,與Web相關的各種技術標准都由著名的W3C組織(World Wide Web Consortium)管理和維護。(>_<"歷史神馬的有點煩呀~)

 

2、Web技術精妙之處:

用超文本技術(HTML)實現信息與信息的連接;用統一資源定位技術(URL)實現全球信息的精確定位;用新的應用層協議(HTTP)實現分布式的信息共享。(這句話精辟!)

 

3、Web技術涉及的技術:

Web是一種典型的分布式應用架構。Web應用中的每一次信息交換都要涉及到客戶端和服務端兩個層面。因此,Web開發技術大體上也可以被分為客戶端技術和服務端技術兩大類。

 

3.1、客戶端技術:

3.1.1、HTML語言:

Web客戶端的主要任務是展現信息內容,HTML語言是信息展現的最有效載體之一。它是一種超文本語言。(今后我們還要仔細學習~)

 

3.1.2、從靜態信息到動態信息:

最初的HTML語言只能在瀏覽器中展現靜態的文本或圖像信息,隨后由靜態技術向動態技術逐步轉變。Web出現后,GIF第一次為HTML頁面引入了動感元素。1995年Java語言的問世帶來了更大的變革。Java語言天生就具備的平台無關的特點,讓人們一下子找到了在瀏覽器中開發動態應用的捷徑。CSS和DHTML技術真正讓HTML頁面又酷又炫、動感無限起來。1997年,Microsoft發布了IE 4.0,並將動態HTML標記、CSS和動態對象模型發展成了一套完整、實用、高效的客戶端開發技術體系,Microsoft稱其為DHTML。同樣是實現HTML頁面的動態效果,DHTML技術無需啟動Java虛擬機或其他腳本環境,可以在瀏覽器的支持下,獲得更好的展現效果和更高的執行效率。 為了在HTML頁面中實現音頻、視頻等更為復雜的多媒體應用,又引入了對QuickTime插件的支持,插件這種開發方式也迅速風靡了瀏覽器的世界。還有90年代中期剛剛問世的COM和ActiveX也十分流行。Real player插件、Microsoft自己的媒體播放插件Media Player也被預裝到了各種Windows版本之中。隨后Flash插件的橫空出世。(>_<"哈哈,有點暈了吧!)

 

3.2、服務端技術:

3.2.1、Web服務端發展歷史:

與客戶端技術從靜態向動態的演進過程類似,Web服務端的開發技術也是由靜態向動態逐漸發展、完善起來的。

  • 最早的Web服務器簡單地響應瀏覽器發來的HTTP請求,並將存儲在服務器上的HTML文件返回給瀏覽器。
  • 第一種真正使服務器能根據運行時的具體情況,動態生成HTML頁面的技術是大名鼎鼎的CGI技術。CGI技術允許服務端的應用程序根據客戶端的請求,動態生成HTML頁面,這使客戶端和服務端的動態信息交換成為了可能。 早期的CGI程序大多是編譯后的可執行程序,其編程語言可以是C、C++、Pascal等任何通用的程序設計語言。為了簡化CGI程序的修改、編譯和發布過程,人們開始探尋用腳本語言實現CGI應用的可行方式。
  • 1994年,發明了專用於Web服務端編程的PHP語言。PHP語言將HTML代碼和PHP指令合成為完整的服務端動態頁面,可以用一種更加簡便、快捷的方式實現動態Web功能。
  • 1996年,Microsoft在其Web服務器IIS 3.0中引入了ASP技術。ASP使用的腳本語言是我們熟悉的VB Script和JavaScript。
  • 1998年,JSP技術誕生。
  • 隨后,XML語言及相關技術又成為主流。XML語言對信息的格式和表達方法做了最大程度的規范,應用軟件可以按照統一的方式處理所有XML信息。這樣一來,信息在整個Web世界里的共享和交換就有了技術上的保障。HTML語言關心的是信息的表現形式,而XML語言關心的是信息本身的格式和數據內容。

     

3.3、Web技術發展三個階段:

Web技術的發展主要分為三個階段,大體總結為靜態技術階段、動態技術階段和Web2.0新時期。

PS:我們所謂的動、靜態是根據Web網頁所采用的技術來划分的,動態網頁不是指擁有動態效果的網頁,它是指采用動態網站技術生成的網頁。

3.3.1、Web技術發展的第一階段——靜態技術階段

本階段的Web主要是靜態的Web頁面。在這個階段,HTML語言就是Web向用戶展示信息的最有效的載體。HTML的全稱是超文本標注語言(Hyper Text Markup Language),它通過提供超文本格式的信息,在客戶端的用戶機上顯示出完整的頁面。Web服務器使用HTTP(Hyper Text Transport Protocol)超文本傳輸協議將HTML文檔從Web服務器傳輸到用戶的Web瀏覽器上。在本階段,由於受HTML語言和舊式瀏覽器的制約,Web頁面只包含了靜態的文本和圖像信息,限制了資源共享,這個現象越來越不能滿足人們對信息多樣性和及時性的要求。而這一階段的Web服務器基本上只是一個HTTP的服務器,它負責接收客戶端瀏覽器的訪問請求,建立連接,響應用戶的請求,查找所需的靜態的Web頁面,再返回到客戶端。

[圖為:靜態Web處理流程]

 

3.3.2、Web技術發展的第二階段——動態技術階段

在Web出現的同時,能存儲、展現二維動畫的GIF圖像格式也已發展成熟,為HTML引入動態元素提供了條件。此后,為了能更好地克服靜態頁面的不足,人們將傳統單機環境下的編程技術引入互聯網絡與Web技術相結合,從而形成新的網絡編程技術。1995年Java語言的問世給Web的發展帶來更大的變革,它為人們提供了一條在瀏覽器中開發應用的捷徑。1996年,著名的Netscape瀏覽器2.0版本和Microsoft的IE 3.0增加了對JavaApplets和javascript的支持。javascript語音是一種一腳本方式運行的,簡化的Java語言。Web世界里從此出現了腳本技術。Microsoft公司於1996年為IE3.0設計出了與javascript相抗衡的腳本語言——vbscript腳本語言。在Windows98及其后的Windows操作系統中,WSH(Windows script Host)技術將原本只能在瀏覽器中運行的javascript、vbscript變成了可以在WIN32環境下使用的通用腳本語言。1996年,Netscape 2.0成功引入了對QuickTime插件的支持,從此,實現了在HTML頁面下音頻、視頻等更為復雜的多媒體應用。同年,IE 3.0正式支持在HTML頁面中插入ActiveX控件的功能。從此,各式各樣由不同公司所開發的各種插件先后在瀏覽器上取得了成功。 

[圖為:植入JVM的WEB瀏覽器架構中的WEB處理結構!!!-->只是實現動態效果]
PS:我們這里所說的動態頁面和靜態頁面是相對應的,在引入了動態技術生成的網頁中,網頁URL的后綴不只是.htm、.html、.shtml、.xml等靜態網頁的常見形式,還可以是以.asp、.jsp、.php、.perl、.cgi等形式為后綴。從網頁內容的顯示上看,動態網頁引入了各項技術,使得網頁內容更多樣化,引人入勝;從網站的開發管理和維護角度看,動態網頁以數據庫技術為基礎,更利於網站的維護,而動態網頁使用了ASP對象,可以實現諸如用戶注冊、用戶登陸、數據管理等的功能,大大提高了網絡的利用率,為用戶提供更多的方便。

[圖為:動態WEB執行圖:動態資源請求會交給WEB容器進行拼湊HTML]

 

3.3.3、Web技術發展的第三階段——Web2.0新時期

什么是Web2.0?其實,Web2.0並沒有一個准確的定義,甚至於它並不是一個具體的事物,它只是人們對於一個階段的描述。在這一階段,用戶可以自己主導信息的生產和傳播,從而打破了原先所固有的單向傳輸模式。Web2.0並不是一個革命性的改變,而只是應用層面的東西,相對於傳統的門戶網站,它具備了更好的交互性。Web2.0是以Flickr、43Things.com等網站為代表,以Blog、TAG、SNS、RSS、wiki等社會軟件的應用為核心,依據六度分隔、xml、ajax等新理論和技術實現的互聯網新一代模式。

從 Web1.0到Web2.0的轉變,具體的說,從模式上是從讀向寫、信息共同創造的一個改變;從基本結構上說,則是由網頁向發表/展示工具演變;從工具上,是由互聯網瀏覽器向各類瀏覽器、rss閱讀器等內容發展;運行機制上,則是自“Client Server”向“Web Services”的轉變;由此,互聯網內容的締造者也由專業人士向普通用戶拓展。說白了,Web2.0的精髓就是以人為本,提升用戶使用互聯網的體驗。

  • 從知識生產的角度看,web1.0的任務,是將以前沒有放在網上的人類知識,通過貿易的氣力,放到網上去。web2.0的任務是,將這些個知識,通過每個用戶的瀏覽求知的氣力,協作工作,把知識有機的組織起來,在這個過程中接續將知識深化,並孕育發生新的思惟火花;
  • 從內容孕育發生者角度看,web1.0是貿易公司為主體把內容往網上搬,而web2.0則是以用戶為主,以簡便隨意方式,通過blog/podcsting 方式把新內容往網上搬;
  • 從交互性看,web1.0是網站對用戶為主;web2.0是以p2p為主。
  • 從技術上看,web客戶端化,工作效率越來越高。比如像jx技術, googlp/gmil里面用得出神入化。

PS:web2.0是以用戶為核心的互聯網。

 

 

4、關鍵詞及附加說明

  • 胖客戶端\收客戶端:胖客戶端程序指當一個程序運行時要單獨的客戶端支持(如:桌面版QQ);瘦客戶端操作時只需要在瀏覽器中直接訪問即可(如:訪問博客園)
  • 靜態WEB\動態WEB:本質來說,靜態WEB無法進行數據庫的操作,動態WEB的最大特點就是具有完備的交互性,根據用戶請求顯示不同結果。
  • C/S和B/S模式:客戶端服務器模式和瀏覽器服務器模式,嘿嘿,這個不做詳解,一眼就明白~
  • CGI(Common Gateway Interface,公共網關接口):最早出現的實現動態web的操作標准,具體問度娘:鏈接HERE
  • PHP(Hypertext Preprocessor,超文本預處理):跨平台服務器端嵌入式語言,使用Apache服務器,適合個人和小項目:鏈接HERE
  • ASP(Active Server Pages,動態服務頁):采用VBS腳本,用於IIS服務器上,個人和小項目:鏈接HERE
  • ASP.NET:微軟在ASP上的更新版,受平台限制,適合中型項目開發:鏈接HERE
  • JSP(Java Server Page,Java服務頁):代碼風格類似ASP,跨平台,多種服務器,適合中大型項目中,前身是Applet:鏈接HERE

 

5、后期計划

>_<"感覺有好多東西要學呀!一堆新名詞,看得想哭啦~今天也不早啦,明天接着學吧~

 

6、一些鏈接:

WEB的度娘解釋(挺全滴):http://baike.baidu.com/view/3912.htm?fr=aladdin

HTML教程(不錯哦~):http://www.w3school.com.cn/html/index.asp

博主主頁(嘻嘻,自打廣告):http://www.cnblogs.com/zjutlitao/

 

 

PS:上面有哪些說錯的地方還望大家指正...新手是從網上找的一些資料整合的,難免有錯~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM