- Java Web程序設計(慕課版)
- 梁永先 李樹強 朱林
- 1519字
- 2020-06-12 15:31:16
1.2 Web簡介

Web簡介
1.2.1 什么是Web
Web在計算機網頁開發設計中就是網頁的意思。網頁是網站中的一個頁面,通常是HTML格式的。網頁可以展示文字、圖片、媒體等,需要通過瀏覽器閱讀。
1.2.2 Web應用程序的工作原理
Web應用程序大體上可以分為兩種,即靜態網站和動態網站。早期的Web應用主要是靜態頁面的瀏覽,即靜態網站。這些網站使用HTML來編寫,放在Web服務器上,用戶使用瀏覽器通過HTTP協議請求服務器上的Web頁面,服務器上的Web服務器將接收到的用戶請求處理后,再發送給客戶端瀏覽器,顯示給用戶。整個過程如圖1-3所示。

圖1-3 靜態網站的工作流程
隨著網絡的發展,很多線下業務開始向網上發展,基于Internet的Web應用也變得越來越復雜,用戶所訪問的資源已不能只是局限于服務器上保存的靜態網頁,更多的內容需要根據用戶的請求動態生成頁面信息,即動態網站。這些網站通常使用HTML和動態腳本語言(如JSP、ASP或是PHP等)編寫,并將編寫后的程序部署到Web服務器上,由Web服務器對動態腳本代碼進行處理,并轉化為瀏覽器可以解析的HTML代碼,返回給客戶端瀏覽器,顯示給用戶。整個過程如圖1-4所示。

圖1-4 動態網站的工作流程
說明
初學者經常會錯誤地認為帶有動畫效果的網頁就是動態網頁。其實不然,動態網頁是指具有交互性、內容可以自動更新,并且內容會根據訪問的時間和訪問者而改變的網頁。這里所說的交互性是指網頁可以根據用戶的要求動態改變或響應。
由此可見,靜態網站類似于10年前研制的手機。這種手機只能使用出廠時設置的功能和鈴聲,用戶自己并不能對其鈴聲進行添加和刪除等;而動態網站則類似于現在研制的手機,用戶在使用這些手機時,不再只能使用手機中默認的鈴聲,而是可以根據自己的喜好任意設置。
1.2.3 Web的發展歷程
自從1989年由Tim Berners-Lee(蒂姆·伯納斯·李)發明了World Wide Web以來,Web主要經歷了3個階段,分別是靜態文檔階段(指代Web 1.0)、動態網頁階段(指代Web 1.5)和Web 2.0階段。下面將對這3個階段進行介紹。
1. 靜態文檔階段
處理靜態文檔階段的Web,主要是用于靜態Web頁面的瀏覽。用戶通過客戶端的Web瀏覽器可以訪問Internet上各個Web站點。在每個Web站點上,保存著提前編寫好的HTML格式的Web頁,以及各Web頁之間可以實現跳轉的超文本鏈接。通常情況下,這些Web頁都是通過HTML語言編寫的。由于受低版本HTML語言和舊式瀏覽器的制約,Web頁面只能包括單純的文本內容,瀏覽器也只能顯示呆板的文字信息,不過這已經基本滿足了建立Web站點的初衷,實現了信息資源共享。
隨著互聯網技術的不斷發展及網上信息呈幾何級數的增加,人們逐漸發現手工編寫包含所有信息和內容的頁面,對人力和物力都是一種極大的浪費,而且幾乎變得難以實現。另外,這樣的頁面也無法實現各種動態的交互功能。這就促使Web技術進入了發展的第二階段——動態網頁階段。
2. 動態網頁階段
為了克服靜態頁面的不足,人們將傳統單機環境下的編程技術與Web技術相結合,從而形成新的網絡編程技術。網絡編程技術通過在傳統的靜態頁面中加入各種程序和邏輯控制,從而實現動態和個性化的交流與互動。我們將這種使用網絡編程技術創建的頁面稱為動態頁面。動態頁面的后綴通常是.jsp、.php和.asp等,而靜態頁面的后綴通常是.htm、.html和.shtml等。
說明
這里說的動態網頁,與網頁上的各種動畫、滾動字幕等視覺上的“動態效果”沒有直接關系。動態網頁也可以是純文字內容的,這些只是網頁具體內容的表現形式。無論網頁是否具有動態效果,采用動態網絡編程技術生成的網頁都稱為動態網頁。
3. Web 2.0階段
隨著互聯網技術的不斷發展,又提出了一種新的互聯網模式——Web 2.0。這種模式更加以用戶為中心,通過網絡應用(Web Applications)促進網絡上人與人間的信息交換和協同合作。
Web 2.0技術主要包括:博客(BLOG)、微博(Twitter)、維基百科全書(Wiki)、網摘(Delicious)、社會網絡(SNS)、對等計算(P2P)、即時信息(IM)和基于地理信息服務(LBS)等。
- Python機器學習:數據分析與評分卡建模(微課版)
- Instant 960 Grid System
- Python高效開發實戰:Django、Tornado、Flask、Twisted(第2版)
- Reactive Android Programming
- Python深度學習原理、算法與案例
- 響應式架構:消息模式Actor實現與Scala、Akka應用集成
- 機器學習微積分一本通(Python版)
- IoT Projects with Bluetooth Low Energy
- Functional Python Programming
- Python數據可視化之matplotlib實踐
- Microsoft XNA 4.0 Game Development Cookbook
- Learning Swift
- Learning Google Apps Script
- VBA Automation for Excel 2019 Cookbook
- Getting Started with SpriteKit