基于Jave的Web服務(wù)工作機制1_JSP教程
推薦:基于Jave的Web服務(wù)工作機制2HTTP響應(yīng)(Responses) 和請求類似,一個HTTP響應(yīng)也包含三個部分: 協(xié)議狀態(tài) 代碼描敘(Protocol-Status code-Description) 響應(yīng)包頭(Response heade
一個WEB服務(wù)器也被稱為一個HTTP服務(wù)器,因為它使用HTTP協(xié)議和它的客戶進行通訊,而這些客戶通常是瀏覽器。 一個基于JAVA的WEB服務(wù)器使用了兩個重要的類:java.net.Socket和java.net.ServerSocket,并且是通過HTTP消息進行通訊的。本文開頭將討論HTTP和這兩個類,后面,將解釋一個簡單WEB服務(wù)器應(yīng)用程序的工作機制。
超文本傳輸協(xié)議 (HTTP)
HTTP協(xié)議允許服務(wù)器和客戶機通過INTERNET接收和發(fā)送數(shù)據(jù)。它是個請求和回應(yīng)協(xié)議----客戶機發(fā)送請求,服務(wù)器對請求給出回應(yīng)。HTTP 使用可靠的TCP 連接,默認TCP端口是80。HTTP的第一版是HTTP/0.9,隨后被 HTTP/1.0所取代。當(dāng)前最新的版本是HTTP/1.1,這個在RPC2616規(guī)范文檔中給出了定義。
這一章節(jié)簡單講敘了HTTP 1.1, 對于你理解WEB服務(wù)器應(yīng)用程序發(fā)送的消息還是足夠的。如果你很感興趣,可以參考RFC 2616文檔。
使用HTTP,客戶端通過建立一個連接和發(fā)送一個HTTP請求來初始化事務(wù)會話,服務(wù)器聯(lián)系客戶端或者回應(yīng)一個callback連接給客戶端。 它們都可以中斷連接。比如,在使用WEB瀏覽器時,你可以點擊瀏覽器上的STOP按鈕來停止文件下載進程,就有效的關(guān)閉了和這個WEB服務(wù)器的HTTP連接。
HTTP 請求(Requests)
一個HTTP request包含三個部分:
方法,URL,協(xié)議/版本(Method-URI-Protocol/Version)
請求包頭Request headers
實體包(Entity body)
下面給出一個HTTP請求的范例:
POST /servlet/default.jsp HTTP/1.1
Accept: text/plain; text/html
Accept-Language: en-gb
Connection: Keep-Alive
Host: localhost
Referer: http://localhost/ch8/SendDetails.htm
User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)
Content-Length: 33
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
LastName=Franks&FirstName=Michael
請求的第一行就是method-URI-Protocol/Version。
POST /servlet/default.jsp HTTP/1.1
請求的是POST方法,后面的 /servlet/default.jsp 表示一個URL地址,HTTP/1.1表示協(xié)議的版本。
HTTP標(biāo)準(zhǔn)規(guī)范定義了一些請求方法,用來給每個HTTP請求所使用。HTTP 1.1支持7中請求方法: GET, POST, HEAD, OPTIONS, PUT, DELETE, 和 TRACE。 GET和POST 在INTERNET的應(yīng)用程序中是使用最普遍的兩個方法。
URI完整的指明了一個INTERNET資源。一個URI通常是相對于服務(wù)器的根目錄被解釋的。 因此,它總是使用符號(/)開頭。一個URL實際是一個URI類型。協(xié)議版本表示當(dāng)前正在使用的HTTP協(xié)議的版本。
請求包頭(request header)包含了一些有用的客戶機環(huán)境的信息和請求的實體(entity body)信息。比如,它可以包含瀏覽器使用的語言和實體的長度等等。每個請求包頭都被CRLF(回車換行)序列所分離。
在先前的HTTP請求中,實體是下面簡單的一行:
LastName=Franks&FirstName=Michael
在一個典型的HTTP請求中,這個實體能夠很容易地變得更長。
分享:基于Jave的Web服務(wù)工作機制3ServerSocket 類 Socket 類表示的是客戶端的socket。無論什么時候,只要你想連接到一個遠程服務(wù)器的應(yīng)用,你都要構(gòu)建一個socket。如果你想執(zhí)行一個服務(wù)器應(yīng)用程序
- jsp response.sendRedirect不跳轉(zhuǎn)的原因分析及解決
- JSP指令元素(page指令/include指令/taglib指令)復(fù)習(xí)整理
- JSP腳本元素和注釋復(fù)習(xí)總結(jié)示例
- JSP FusionCharts Free顯示圖表 具體實現(xiàn)
- 網(wǎng)頁模板:關(guān)于jsp頁面使用jstl的異常分析
- JSP頁面中文傳遞參數(shù)使用escape編碼
- 基于jsp:included的使用與jsp:param亂碼的解決方法
- Java Web項目中連接Access數(shù)據(jù)庫的配置方法
- JDBC連接Access數(shù)據(jù)庫的幾種方式介紹
- 網(wǎng)站圖片路徑的問題:絕對路徑/虛擬路徑
- (jsp/html)網(wǎng)頁上嵌入播放器(常用播放器代碼整理)
- jsp下顯示中文文件名及絕對路徑下的圖片解決方法
- 相關(guān)鏈接:
- 教程說明:
JSP教程-基于Jave的Web服務(wù)工作機制1
。