- JSP從零開始學(視頻教學版)
- 劉鑫編著
- 1470字
- 2021-03-12 12:31:55
1.3 網頁的瀏覽原理
前面介紹了B/S模型的優越性,這種模式就是在Web開發中,通過瀏覽器和服務器的交互來實現系統的業務邏輯。這種模式組成的應用程序一般稱為Web應用程序。本節就對Web的一些基礎知識進行描述。
1.3.1 Web是什么
Web出現于1989年3月,由歐洲粒子物理研究所(CERN)的科學家Tim Berners-Lee發明。1990年11月,第一個Web服務器正式運行,這時通過Web瀏覽器看到了最早的Web頁面。1991年Web技術標準正式發布。1993年,第一個圖形界面的瀏覽器Mosaic開發成功,1995年著名的Netscape Navigator瀏覽器問世。隨后,微軟公司推出了著名的IE瀏覽器(Windows操作系統默認安裝IE瀏覽器)。目前,與Web相關的各種技術標注都由著名的W3C組織(World Wide Web Consortium)管理和維護。
Web是一個分布式的超媒體信息系統,它將大量的信息分布在網上。目的就是為人們提供更多的多媒體網絡信息服務。從技術層面上看,Web技術的核心有3點:
●超文本傳輸協議(HTTP)協議,實現網絡的信息傳輸。
●統一資源定位符(URL),實現互聯網信息的定位的統一標識(如http://www.sohu.com中的“www.sohu.com”)。
●超文本標記語言(HTML),實現信息的表示與存儲。
1.3.2 HTTP超文本傳輸協議是什么
超文本傳輸協議HTTP(HyperText Transfer Protocol)是專門為Web設計的一種應用層協議。常用的Web服務器軟件有Apache、IIS等,Web瀏覽器軟件包括IE、Netscape、Mozilla Firefox等。
當用戶在瀏覽器地址欄中輸入網址或通過超鏈接訪問目的網站時,都向目標主機(Web服務器)發送一個HTTP請求。HTTP定義的信息交互處理由以下4步組成:
●瀏覽器與Web服務器建立連接。
●瀏覽器向服務器提出請求。
●如果請求被接受,則服務器送回響應,在響應中包括狀態碼和所需要的文件。
●瀏覽器和Web服務器斷開連接。
HTTP向服務器發出一段請求也就是一段報文,是由以下4個部分組成的文本。

(1)請求行。請求行有3個標記組成,即請求方法、請求URL和HTTP版本,它們用空格分隔。例如,GET /Index.html HTTP 1.0的意思就是檢索當前文件夾下的Index.html文件,使用的HTTP版本是HTTP1.1。其中HTTP1.1規范定義了8種請求的方法。
●Get:檢索URL中標識資源的一個簡單請求。
●Head:與Get方法相同,服務器只返回狀態行和頭標,并不返回請求文檔。
●Post:服務器接收被寫入客戶端輸出流中的數據請求。
●Put:服務器保存請求數據作為指定URL新內容的請求。
●Delete:服務器刪除URL中命名的資源的請求。
●Options:關于服務器支持的請求方法信息的請求。
●Trace:Web服務器反饋HTTP請求和頭標的請求。
●Connect:已文檔化但當前未實現的一個方法,預留做隧道處理。
在Web應用中,通常只使用Get和Post方法。
(2)請求頭標。由關鍵字和值對組成,每行一對,關鍵字和值用冒號(:)分隔。請求頭標通知服務器關于客戶端的功能和識別,典型的請求頭標有:
●User-Agent:客戶端廠家和版本。
●Accept:客戶端可識別的內容類型列表。
●Content-Length:附加到請求的數據字節。
(3)空行。最后一個請求頭標之后是一個空行,發送回車符和退行,通知服務器不再有頭標。
(4)請求數據。使用Post發送數據。
服務器接到請求后,解析請求,如果請求的是靜態資源,如文檔、圖片等,則將請求的資源返回給瀏覽器;如果請求的動態的服務器程序,如:Servlet、JSP、ASP、CGI等,則在服務器端運行程序后返回運行的結果,通常的運行結果是生成的一個HTML文檔。一個響應由4個部分組成,這些部分與請求報文的部分基本相同,本節只介紹狀態行部分。

狀態行由3個部分組成:HTTP版本、響應代碼和響應描述。
●HTTP版本:向客戶端指明其可以理解的最高版本。
●響應代碼:三位的數字代碼,指出請求的成功或失敗,如果失敗則指明原因。
●響應描述:為相應代碼的可讀性解釋。例如:
HTTP/1.1 200 OK
HTTP響應代碼的說明如下:
●1xx:信息請求收到,繼續處理。
●2xx:成功,行為被成功的接收、理解和采納。
●3xx:重定向,為了完成請求,必須進一步執行動作。
●4xx:客戶端錯誤。
- Learning Single:page Web Application Development
- Java 9 Concurrency Cookbook(Second Edition)
- 構建移動網站與APP:HTML 5移動開發入門與實戰(跨平臺移動開發叢書)
- INSTANT Sencha Touch
- Oracle BAM 11gR1 Handbook
- 概率成形編碼調制技術理論及應用
- 數據結構習題解析與實驗指導
- 零代碼實戰:企業級應用搭建與案例詳解
- Emotional Intelligence for IT Professionals
- 測試架構師修煉之道:從測試工程師到測試架構師
- Android應用開發攻略
- Moodle 3.x Developer's Guide
- 深入實踐C++模板編程
- C++ Data Structures and Algorithm Design Principles
- 開源網絡地圖可視化:基于Leaflet的在線地圖開發