- Web應用程序設計:ASP
- 王劍輝 劉杰 周傳生 姜龍濱編著
- 1524字
- 2018-12-26 19:42:51
1.2 WWW概述
Web(World Wide Web,萬維網)是分布在世界各地的計算機互相連接在一起組成的信息倉庫。在WWW中信息是以文檔的形式存儲的,每一個文檔被稱為Web頁,也稱網頁。為了標識Web上的每一個資源,WWW使用了URL(Uniform Resource Locator,統一資源定位符)。WWW具有獨特的靈活性、可移植性及友好的用戶界面,使用的信息檢索協議是HTTP協議。WWW也是一個分布式的客戶/服務器服務,下面介紹客戶/服務器的基本概念。
1.2.1 服務器端、客戶端的概念
客戶/服務器(Client /Server)模型是相互協作的應用程序之間主要的交互模式。
服務器(Server)指的是能在網絡上提供服務的一個計算機程序。服務器接收請求,產生響應,并將結果返回給請求方。
當一個可執行程序向服務器發出請求并等待響應時,它就成為客戶(Client)。
上述的客戶和服務器指的都是計算機上運行的程序,將運行客戶程序的計算機稱為客戶端,將運行服務器程序的計算機稱為服務器端。對Web來說,客戶指的就是瀏覽器。
1.2.2 靜態網頁
靜態網頁是標準的HTML文件,其文件擴展名是.htm或.html,是Web上最簡單的文檔形式。這種網頁不包含任何服務器端腳本,它包含的所有HTML代碼都是在放置到Web服務器上前由程序員編寫好的。之后除非程序員替換現有代碼,否則不會在運行過程中進行修改,所以稱為靜態網頁。靜態網頁的通信過程如圖1-6所示。

圖1-6 靜態網頁的通信過程
圖1-6(a)顯示當用戶通過瀏覽器提出文檔請求后,瀏覽器將用戶提出的請求通過Internet發送到服務器,通知服務器取得所需的內容,也就是請求提交的過程。圖1-6(b)顯示服務器從本地磁盤取得所需的文檔,并通過Internet將客戶請求的內容發送給瀏覽器,之后由瀏覽器處理并顯示,也就是服務器返回的過程。
網頁技術設計的初衷是用來存儲那些在相當長時間內保持穩定的信息,比如數字圖書館。所以早期網頁技術主要是解決如何訪問那些內容不變的文檔。
盡管很多新的網頁技術可以讓人們更好地控制頁面上顯示的內容,但靜態網頁仍然流行,其原因有三:①靜態網頁容易創建;②靜態網頁維護費用低;③靜態網頁訪問速度快。這些優點帶來了很深遠的影響——Web上的許多文檔是靜態的。
雖然靜態網頁如此流行,但是也有很多的缺點:①靜態網頁只能包含文本和圖片,不能包含其他形式的內容;②靜態頁面不能提供即時信息;③信息只能單向流動,用戶沒有交互的體驗;④靜態頁面一旦加載并顯示,不會再有任何變化。為了克服靜態網頁的上述缺點,工程師們開發了服務器端腳本技術(Server-Side Scripting Technology),它可以讓網頁包含動態內容。這就是下面要介紹的動態網頁。
1.2.3 動態網頁
使用靜態網頁技術時,在服務器上保存的是網頁的一個不變的副本,而動態網頁是在被請求時才能生成頁面所需內容。靜態網頁所使用的URL必須指向服務器磁盤上的某個靜態文檔,而在動態網頁的情況下,URL關聯的可能是服務器上的一個可執行的程序。當瀏覽器請求這類URL時,服務器首先運行對應的程序,然后將生成的輸出結果返回給瀏覽器。服務器上可以保存任意多個腳本程序,然后根據用戶的URL請求選擇不同的程序來完成所需的計算任務。動態網頁的通信過程如圖1-7所示。

圖1-7 動態網頁的通信過程
圖1-7(a)顯示當用戶通過瀏覽器提出對動態網頁的請求后,瀏覽器通過網絡將所請求的URL信息傳遞給服務器。服務器接受請求,發現所請求的是動態腳本,就啟動相應的程序。其中向下的粗箭頭表示啟動程序的動作。圖1-7(b)顯示服務器啟動程序,得到運行結果,并將結果返回給瀏覽器的過程,其中向下的箭頭表示解釋程序返回結果的動作。Web服務器返回的是標準的Web文檔。
使用動態網頁技術不僅可以使用Web服務器端的計算能力,而且由于程序的動態運行,使得客戶能夠獲得更多的實時數據,真正實現了“動態”的網頁。動態網頁技術所能提供的遠不僅如此。人們使用動態網頁技術實現了個性化Web頁面、個性化廣告、真正的網頁交互和電子商務網站上的購物車等各種應用,使得Web服務非常豐富。
- Learning Scala Programming
- Python for Secret Agents:Volume II
- Implementing Cisco Networking Solutions
- Hands-On Natural Language Processing with Python
- Java EE 8 Application Development
- C語言程序設計上機指導與習題解答(第2版)
- 詳解MATLAB圖形繪制技術
- Python程序設計與算法基礎教程(第2版)(微課版)
- Building Dynamics CRM 2015 Dashboards with Power BI
- 微課學人工智能Python編程
- Oracle 12c從入門到精通(視頻教學超值版)
- JBoss AS 7 Development
- C#網絡編程高級篇之網頁游戲輔助程序設計
- 第五空間戰略:大國間的網絡博弈
- Apache Kafka 1.0 Cookbook