近日正在做有關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位數字組成,表示請求是否被理解或被滿足。原因分析是對原文的狀態碼作簡短的描述,狀態碼用來支持自動操作,而原因分析用來供用戶使用??蛻魴C無需用來檢查或顯示語法。有關通用信息頭,響應頭和實體頭方面的具體內容可以參照相關文件。
相關協議
WWW、FTP、STMP、NNTP、Gopher、WAIS、DNS、S-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 連接用于數據傳輸??刂七B接使用類似 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。
相關協議
SMTP、IMAP4、TCP、POP
組織來源
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>
校驗用戶身份
相關協議
POP3、IMAP4、TCP、POP、FTP
組織來源
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
英明 閱讀(320)
評論(0) 編輯 收藏 所屬分類:
HTTP