基于Jave的Web服務(wù)工作機制1_JSP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:基于Jave的Web服務(wù)工作機制2
      HTTP響應(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ù)工作機制3
      ServerSocket 類   Socket 類表示的是客戶端的socket。無論什么時候,只要你想連接到一個遠程服務(wù)器的應(yīng)用,你都要構(gòu)建一個socket。如果你想執(zhí)行一個服務(wù)器應(yīng)用程序

      來源:模板無憂//所屬分類:JSP教程/更新時間:2008-08-22
      相關(guān)JSP教程