程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> JavaWeb總結(一),JavaWeb總結(

JavaWeb總結(一),JavaWeb總結(

編輯:JAVA綜合教程

JavaWeb總結(一),JavaWeb總結(


在學習Web應用程序客戶端界面設計時,我們已經知道組成一個基本的Web應用程序需要Web服務器、Web客戶端浏覽器、HTTP協議以及靜態HTML文件。

Web服務器:接收客戶端請求,然後向客戶端返回一些結果;

浏覽器:允許用戶請求服務器上的某個資源,並且向用戶顯示請求的結果;

HTML:告訴用戶浏覽器怎麼向用戶顯示內容;

HTTP:Web上客戶端和服務器之間通信所用的協議;

HTTP

HTTP是一種超文本傳送協議(HyperText Transfer Protocol),是一套計算機在網絡中通信的一種規則。在TCP/IP體系結構中,HTTP屬於應用層協議,位於TCP/IP協議的頂層。HTTP是一種無狀態的協議(在Web浏覽器[客戶端]和Web服務器之間不需要建立持久的鏈接)。整個過程就是當一個客戶端向服務器發送一個請求(Request),然後WEB服務器返回一個響應(Response)。之後鏈接就關閉了。HTTP遵循請求/響應(Request/Response)模型的,所有的通信交互都被構造在一套請求和響應模型中。
HTTP定義的事務處理由以下四個步驟組成

客戶端和Web服務器建立鏈接;

客戶端發送HTTP請求;

服務器端接收客戶端的HTTP請求,生成HTTP響應回發;

客戶端和Web服務器建立鏈接;

發送請求信息

一旦建立了TCP鏈接,Web浏覽器就會向Web服務器發送請求命令。HTTP協議將來自於客戶端的請求信息封裝成HTTP請求,它包括請求行、請求頭、消息體以及分隔請求頭和消息體的空行;
請求行:請求行是一個ASCII文本行,由三個標記組成:請求的HTTP方法、請求的URL、HTTP版本。中間用空格分開

在HTTP版本1.1中,定義了有八種可能的HTTP請求方法

  Ⅰ GET:由於向服務器檢索資源;

  Ⅱ POST:由於向服務器發送數據,並要求指定的URL處理;

  Ⅲ HEAD:與GET方法相同,服務器只返回狀態行和頭標,並不返回請求文檔;

  Ⅳ PUT:請求服務器保存請求數據作為指定URL新內容;

  Ⅴ DELETE:請求服務器刪除URL中命名的資源;

  Ⅵ OPTIONS:請求關於服務器支持的請求方法信息;

  Ⅶ CONNECT:已文檔化但當前未實現的一個方法,預留做隧道處理;
在這些方法中,我們最常用的是GET和POST方法,其它幾種方法對於Web開發者來說不是很常用。

方法

為該方法為該方法的請求

POST

在浏覽器地址欄輸入URL;
在當前網頁點擊HTML鏈接;
在HTML表單中設置表單的method='GET'或者不設置(默認為GET方法提交),並提交表單;

GETGET

通常被用於發送私密信息或者大量信息,或者上傳文件。如果一個應用程序需要修改數據或者添加數據,並且通過HTTP發送請求,那麼就應該使用POST方法。

請求頭:

HTTP協議使用HTTP頭來傳遞請求的元信息,HTTP頭是一個用冒號分隔的名稱/值對,冒號前面是HTTP頭的名稱,後面是HTTP的值。常見的請求頭由用戶代理資料、可以接受的格式、語言以及內容編碼,這些信息用於告訴服務器客戶端是什麼,客戶端想要得到什麼格式的回饋信息等。

空行:

發送回車符和退行,通知服務器一下不再有請求頭。

消息體:

HTTP請求中帶有查詢字符串時,如果是GET方法,查詢字符串或表單數據附加在請求行中,那麼消息體中就沒有內容;如果是POST方法,查詢字符串或表單數據就添加在消息體中。

回送響應消息

Web服務器解析請求,定位並讀取指定的資源。將文件以及其它信息組成HTTP響應返回到客戶端。HTTP響應包括:狀態行、響應頭、消息體以及分隔消息頭和響應頭的一個空行。

狀態行:

每個HTTP響應以一個狀態行開頭。狀態行由HTTP協議版本、響應狀態碼和響應描述組成,三者之間用空格分開。

響應狀態碼是一個三位的數字,它分為以下幾個組:

  Ⅰ 100~199:信息,請求收到,繼續處理;

  Ⅱ 200~299:成功,行為被成功地接受、理解和采納;

  Ⅲ 300~399:重定向,為了完成請求,必須進一步執行的動作;

  Ⅳ 400~499:客戶端錯誤,請求包含語法錯誤或者請求無法實現;

  Ⅴ 500~599:服務器錯誤,服務器不能實現一種明顯的無效請求;

每一個響應狀態碼都有相關聯的字符串響應描述。

響應頭:

響應頭與請求頭一樣,也是一個用冒號分隔的名稱/值對,冒號前面是HTTP頭的名稱,後面是HTTP頭的值。典型的響應頭包括內容描述、內容長度、時間郵戳、服務器信息、內容最後更改的時間。這些信息幫助客戶端得到發送過來的內容是什麼、內容的大小、數據是否比以前一次響應更新。

在響應頭中,最重要的HTTP頭是Content-Type,它指定MIME類型。MIME類型告訴浏覽器要接受的數據是什麼類型,這樣浏覽器才知道如何顯示這些數據。這個值通常與HTTP請求頭中的Accept相關

空白行:

最後一個響應頭之後是一個空行,發送回車符和退行,表明以下不再有響應頭。

消息體:

要發送給客戶端的HTML文檔或其他要顯示的內容等。Web服務器把發送給客戶端的文檔信息放在消息體中。

關閉連接

HTTP響應到達客戶端後,浏覽器先解析HTTP響應中的狀態行,查看請求是否成功的狀態代碼。然後解析每一個響應頭,讀取響應消息體,將消息體渲染在浏覽器頁面上。

一個HTML文檔可能包含其它的需要被載入的資源,浏覽器會識別,並對這些資源再進行額外的請求,這個過程可以一直循環到所有的數據都按照響應頭標中規定的格式恢復到頁面中。數據傳送完畢,服務器關閉連接,即無狀態協議。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved