posts - 33,comments - 21,trackbacks - 0

          近日正在做有關HTTP協議的工作,發現自己的基本功實在不過關,下面轉貼一篇對自己很幫助的文章。

          出處http://blog.csdn.net/heiyeshuwu/archive/2006/06/28...

          ?

          HTTP:超文本傳輸協議

          更詳細的HTTP協議頭信息參考我blog之前的文章。


          HTTP:超文本傳輸協議

          HTTP:Hypertext Transfer Protocol

            超文本傳輸協議(HTTP)是應用層協議,由于其簡捷、快速的方式,適用于分布式和合作式超媒體信息系統。自 1990 年起, HTTP 就已經被應用于 WWW 全球信息服務系統。

            HTTP 允許使用自由答復的方法表明請求目的,它建立在統一資源識別器(URI)提供的參考原則下,作為一個地址(URL)或名字(URN),用以標志采用哪種方法,它用類似于網絡郵件和多用途網際郵件擴充協議(MIME)的格式傳遞消息。

            HTTP 也可用作普通協議,實現用戶代理與連接其它 Internet 服務(如 SMTP 、 NNTP 、 FTP 、 GOPHER 及 WAIS )的代理服務器或網關之間的通信,允許基本的超媒體訪問各種應用提供的資源,同時簡化了用戶代理系統的實施。

            HTTP 是一種請求 / 響應式的協議。一個客戶機與服務器建立連接后,發送一個請求給服務器,請求的格式是:統一資源標識符(URI)、協議版本號,后面是類似 MIME 的信息,包括請求修飾符、客戶機信息和可能的內容。服務器接到請求后,給予相應的響應信息,其格式是:一個狀態行包括信息的協議版本號、一個成功或錯誤的代碼,后面也是類似 MIME 的信息,包括服務器信息、實體信息和可能的內容。

            HTTP 的第一版本 HTTP/0.9 是一種簡單的用于網絡間原始數據傳輸的協議。而由 RFC 1945 定義的 HTTP/1.0 ,在原 HTTP/0.9 的基礎上,有了進一步的改進,允許消息以類 MIME 信息格式存在,包括請求 / 響應范式中的已傳輸數據和修飾符等方面的信息。但是, HTTP/1.0 沒有充分考慮到分層代理服務器、高速緩沖存儲器、持久連接需求或虛擬主機等方面的效能。相比之下, HTTP/1.1 要求更加嚴格以確保服務的可靠性。關于安全增強版的 HTTP (即S-HTTP),將在相關文件中再作介紹。


          協議結構

             HTTP報文由從客戶機到服務器的請求和從服務器到客戶機的響應構成。?請求報文格式如下:

          請求行
          通用信息頭
          請求頭
          實體頭
          報文主體

            請求行以方法字段開始,后面分別是 URL 字段和 HTTP 協議版本字段,并以 CRLF 結尾。SP 是分隔符。除了在最后的 CRLF 序列中 CF 和 LF 是必需的之外,其他都可以不要。有關通用信息頭,請求頭和實體頭方面的具體內容可以參照相關文件。

            應報文格式如下:

          狀態行
          通用信息頭
          響應頭
          實體頭
          報文主體

            狀態碼元由3位數字組成,表示請求是否被理解或被滿足。原因分析是對原文的狀態碼作簡短的描述,狀態碼用來支持自動操作,而原因分析用來供用戶使用。客戶機無需用來檢查或顯示語法。有關通用信息頭,響應頭和實體頭方面的具體內容可以參照相關文件。

          相關協議
          WWW、FTP、STMP、NNTP、Gopher、WAIS、DNSS-HTTP

          組織來源
          HTTP 定義在 IETF (http://www.ietf.org/) 的 RFC 1945和2616中。

          相關鏈接
          http://www.javvin.com/protocol/rfc1945.pdf :Hypertext Transfer Protocol – HTTP 1.0
          http://www.javvin.com/protocol/rfc2616.pdf :Hypertext Transfer Protocol – HTTP 1.1

          FTP:文件傳輸協議


          FTP:文件傳輸協議

          (FTP:File Transfer Protocol)

            文件傳輸協議(FTP)使得主機間可以共享文件。 FTP 使用 TCP 生成一個虛擬連接用于控制信息,然后再生成一個單獨的 TCP 連接用于數據傳輸。控制連接使用類似 TELNET 協議在主機間交換命令和消息。

            FTP 的主要功能如下:

          • 提供文件的共享(計算機程序 / 數據);
          • 支持間接使用遠程計算機;
          • 使用戶不因各類主機文件存儲器系統的差異而受影響;
          • 可靠且有效的傳輸數據。

            FTP ,盡管可以直接被終端用戶使用,但其應用主要還是通過程序實現。

            FTP 控制幀即指 TELNET 交換信息,包含 TELNET 命令和選項。然而,大多數 FTP 控制幀是簡單的 ASCII 文本,可以分為 FTP 命令或 FTP 消息。 FTP 消息是對 FTP 命令的響應,它由帶有解釋文本的應答代碼構成。


          協議結構

          命令
          描述

          ABOR
          中斷數據連接程序

          ACCT <account>
          系統特權帳號

          ALLO <bytes>
          為服務器上的文件存儲器分配字節

          APPE <filename>
          添加文件到服務器同名文件

          CDUP <dir path>
          改變服務器上的父目錄

          CWD <dir path>
          改變服務器上的工作目錄

          DELE <filename>
          刪除服務器上的指定文件

          HELP <command>
          返回指定命令信息

          LIST <name>
          如果是文件名列出文件信息,如果是目錄則列出文件列表

          MODE <mode>
          傳輸模式(S=流模式,B=塊模式,C=壓縮模式)

          MKD <directory>
          在服務器上建立指定目錄

          NLST <directory>
          列出指定目錄內容

          NOOP
          無動作,除了來自服務器上的承認

          PASS <password>
          系統登錄密碼

          PASV
          請求服務器等待數據連接

          PORT <address>
          IP 地址和兩字節的端口 ID

          PWD
          顯示當前工作目錄

          QUIT
          從 FTP 服務器上退出登錄

          REIN
          重新初始化登錄狀態連接

          REST <offset>
          由特定偏移量重啟文件傳遞

          RETR <filename>
          從服務器上找回(復制)文件

          RMD <directory>
          在服務器上刪除指定目錄

          RNFR <old path>
          對舊路徑重命名

          RNTO <new path>
          對新路徑重命名

          SITE <params>
          由服務器提供的站點特殊參數

          SMNT <pathname>
          掛載指定文件結構

          STAT <directory>
          在當前程序或目錄上返回信息

          STOR <filename>
          儲存(復制)文件到服務器上

          STOU <filename>
          儲存文件到服務器名稱上

          STRU <type>
          數據結構(F=文件,R=記錄,P=頁面)

          SYST
          返回服務器使用的操作系統

          TYPE <data type>
          數據類型(A=ASCII,E=EBCDIC,I=binary)

          USER <username>>
          系統登錄的用戶名

          標準 FTP 信息如下:

          響應代碼
          解釋說明

          110
          新文件指示器上的重啟標記

          120
          服務器準備就緒的時間(分鐘數)

          125
          打開數據連接,開始傳輸

          150
          打開連接

          200
          成功

          202
          命令沒有執行

          211
          系統狀態回復

          212
          目錄狀態回復

          213
          文件狀態回復

          214
          幫助信息回復

          215
          系統類型回復

          220
          服務就緒

          221
          退出網絡

          225
          打開數據連接

          226
          結束數據連接

          227
          進入被動模式(IP 地址、ID 端口)

          230
          登錄因特網

          250
          文件行為完成

          257
          路徑名建立

          331
          要求密碼

          332
          要求帳號

          350
          文件行為暫停

          421
          服務關閉

          425
          無法打開數據連接

          426
          結束連接

          450
          文件不可用

          451
          遇到本地錯誤

          452
          磁盤空間不足

          500
          無效命令

          501
          錯誤參數

          502
          命令沒有執行

          503
          錯誤指令序列

          504
          無效命令參數

          530
          未登錄網絡

          532
          存儲文件需要帳號

          550
          文件不可用

          551
          不知道的頁類型

          552
          超過存儲分配

          553
          文件名不允許

          相關協議
          TELNET

          組織來源
          FTP 由 IETF(http://www.ietf.org/)在 RFC 959 中,并由2228、2640 和 2773 重新更新。

          相關鏈接
          http://www.javvin.com/protocol/rfc959.pdf :File Transfer Protocol(FTP)

          POP & POP3:郵局協議(郵局協議第3版)


          POP & POP3:郵局協議(郵局協議第3版)

          POP & POP3:Post Office Protocol

            POP 協議允許工作站動態訪問服務器上的郵件,目前已發展到第三版,稱為 POP3 。 POP3 允許工作站檢索郵件服務器上的郵件。 POP3 傳輸的是數據消息,這些消息可以是指令,也可以是應答。

            創建一個分布式電子郵件系統有多種不同的技術支持和途徑: POP (郵局協議)、 DMSP (分層式電子郵件系統協議)和 IMAP (因特網信息訪問協議)。其中, POP 協議創建最早因此也最為人們了解; DMSP 具有較好的支持“無連接”操作的性能,但其很大程度上僅限于單個應用程序(PCMAIL ); IMAP 提供了 POP 和 DMSP 的擴展集并提供對遠程郵件訪問的三種支持方式:離線、在線和無連接。 ?

            POP 協議支持“離線”郵件處理。其具體過程是:郵件發送到服務器上,電子郵件客戶端調用郵件客戶機程序以連接服務器,并下載所有未閱讀的電子郵件。這種離線訪問模式是一種存儲轉發服務,將郵件從郵件服務器端送到個人終端機器上,一般是 PC 機或 MAC 。一旦郵件發送到 PC 機或 MAC 上,郵件服務器上的郵件將會被刪除。 ?

            POP3 并不支持對服務器上郵件進行擴展操作,此過程由更高級的 IMAP4 完成。 POP3 使用 TCP 作為傳輸協議。


          協議結構

            POP3 是發送在客戶機和服務器間的 ASCII 信息。POP3 命令摘要:

          命令
          描述

          USER
          用戶名

          PASS
          用戶密碼

          STAT
          服務器上的郵件信息

          RETR
          獲取的信息數

          DELE
          刪除的信息數

          LIST
          顯示的信息數

          TOP <messageID> <nombredelignes>
          從頭開始(包含協議頭)打印X行信息

          QUIT
          退出POP3服務器

          可選POP3命令:

          APOP name digest ????????????? ?????? ??? ?? AUTHORIZATION 狀態有效;

          TOP msg n ?????????????? ??? ??? ?? ??? ?? ? TRANSACTION 狀態有效;

          UIDL [msg]

          POP3 Replies:

          ? + OK

          ? - ERR。

          相關協議
          SMTPIMAP4TCPPOP

          組織來源
          POP3 由 IETF(http://www.ietf.org/定義在 RFC 1939中。

          相關鏈接
          http://www.javvin.com/protocol/rfc1939.pdf:Post Office Protocol – Version 3

          SMTP:簡單郵件傳輸協議


          SMTP:簡單郵件傳輸協議

          (SMTP:Simple Mail Transfer Protocol)

            SMTP 是一種提供可靠且有效電子郵件傳輸的協議。 SMTP 是建模在 FTP 文件傳輸服務上的一種郵件服務,主要用于傳輸系統之間的郵件信息并提供來信有關的通知。

            SMTP 獨立于特定的傳輸子系統,且只需要可靠有序的數據流信道支持。 SMTP 重要特性之一是其能跨越網絡傳輸郵件,即“ SMTP 郵件中繼”。通常,一個網絡可以由公用互聯網上 TCP 可相互訪問的主機、防火墻分隔的 TCP/IP 網絡上 TCP 可相互訪問的主機,及其它 LAN/WAN 中的主機利用非 TCP 傳輸層協議組成。使用 SMTP ,可實現相同網絡上處理機之間的郵件傳輸,也可通過中繼器或網關實現某處理機與其它網絡之間的郵件傳輸。

            在這種方式下,郵件的發送可能經過從發送端到接收端路徑上的大量中間中繼器或網關主機。域名服務系統(DNS)的郵件交換服務器可以用來識別出傳輸郵件的下一跳 IP 地址。


          協議結構

            SMTP 命令是發送于 SMTP 主機之間的 ASCII 信息,可能命令如下所示:

          命令
          描述

          DATA
          開始信息寫作

          EXPN <string>
          在指定郵件表中返回名稱

          HELO <domain>
          返回郵件服務器身份

          HELP <command>
          返回指定命令中的信息

          MAIL FROM <host>
          在主機上初始化一個郵件會話

          NOOP
          除服務器響應確認以外,沒有引起任何反應

          QUIT
          終止郵件會話

          RCPT TO <user>
          指明誰收到郵件

          RSET
          重設郵件連接

          SAML FROM <host>
          發送郵件到用戶終端和郵箱

          SEND FROM <host>
          發送郵件到用戶終端

          SOML FROM <host>
          發送郵件到用戶終端或郵箱

          TURN
          接收端和發送端交換角色

          VRFY <user>
          校驗用戶身份

          相關協議
          POP3IMAP4TCPPOPFTP

          組織來源
          SMTP 由 IETF(http://www.ietf.org/)定義在 RFC2821中。

          相關鏈接
          http://www.javvin.com/protocol/rfc2821.pdf:Simple Mail Transfer Protocol

          posted on 2007-03-17 10:39 英明 閱讀(327) 評論(0)  編輯  收藏 所屬分類: HTTP

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 定远县| 阳城县| 赫章县| 麦盖提县| 股票| 同德县| 漯河市| 拜城县| 紫阳县| 商洛市| 安新县| 海伦市| 武义县| 万载县| 巴东县| 莱芜市| 张家界市| 卓尼县| 庆元县| 文安县| 宣化县| 大厂| 聂荣县| 汉川市| 郴州市| 巴彦淖尔市| 霞浦县| 平定县| 宜州市| 仙居县| 万源市| 苏尼特右旗| 张掖市| 虎林市| 马龙县| 呼和浩特市| 淮阳县| 会宁县| 克什克腾旗| 开封市| 玛曲县|