基本應(yīng)用層的TCP/IP協(xié)議介紹 ( HTTP/FTP/POP/SMTP )
來源: http://www.networkdictionary.com/chinese/protocols/tcpip.php
HTTP:超文本傳輸協(xié)議
更詳細(xì)的HTTP協(xié)議頭信息參考我blog之前的文章。
HTTP:超文本傳輸協(xié)議 | |
HTTP:Hypertext Transfer Protocol |
超文本傳輸協(xié)議(HTTP)是應(yīng)用層協(xié)議,由于其簡(jiǎn)捷、快速的方式,適用于分布式和合作式超媒體信息系統(tǒng)。自 1990 年起, HTTP 就已經(jīng)被應(yīng)用于 WWW 全球信息服務(wù)系統(tǒng)。
HTTP 允許使用自由答復(fù)的方法表明請(qǐng)求目的,它建立在統(tǒng)一資源識(shí)別器(URI)提供的參考原則下,作為一個(gè)地址(URL)或名字(URN),用以標(biāo)志采用哪種方法,它用類似于網(wǎng)絡(luò)郵件和多用途網(wǎng)際郵件擴(kuò)充協(xié)議(MIME)的格式傳遞消息。 HTTP 也可用作普通協(xié)議,實(shí)現(xiàn)用戶代理與連接其它 Internet 服務(wù)(如 SMTP 、 NNTP 、 FTP 、 GOPHER 及 WAIS )的代理服務(wù)器或網(wǎng)關(guān)之間的通信,允許基本的超媒體訪問各種應(yīng)用提供的資源,同時(shí)簡(jiǎn)化了用戶代理系統(tǒng)的實(shí)施。 HTTP 是一種請(qǐng)求 / 響應(yīng)式的協(xié)議。一個(gè)客戶機(jī)與服務(wù)器建立連接后,發(fā)送一個(gè)請(qǐng)求給服務(wù)器,請(qǐng)求的格式是:統(tǒng)一資源標(biāo)識(shí)符(URI)、協(xié)議版本號(hào),后面是類似 MIME 的信息,包括請(qǐng)求修飾符、客戶機(jī)信息和可能的內(nèi)容。服務(wù)器接到請(qǐng)求后,給予相應(yīng)的響應(yīng)信息,其格式是:一個(gè)狀態(tài)行包括信息的協(xié)議版本號(hào)、一個(gè)成功或錯(cuò)誤的代碼,后面也是類似 MIME 的信息,包括服務(wù)器信息、實(shí)體信息和可能的內(nèi)容。 HTTP 的第一版本 HTTP/0.9 是一種簡(jiǎn)單的用于網(wǎng)絡(luò)間原始數(shù)據(jù)傳輸?shù)膮f(xié)議。而由 RFC 1945 定義的 HTTP/1.0 ,在原 HTTP/0.9 的基礎(chǔ)上,有了進(jìn)一步的改進(jìn),允許消息以類 MIME 信息格式存在,包括請(qǐng)求 / 響應(yīng)范式中的已傳輸數(shù)據(jù)和修飾符等方面的信息。但是, HTTP/1.0 沒有充分考慮到分層代理服務(wù)器、高速緩沖存儲(chǔ)器、持久連接需求或虛擬主機(jī)等方面的效能。相比之下, HTTP/1.1 要求更加嚴(yán)格以確保服務(wù)的可靠性。關(guān)于安全增強(qiáng)版的 HTTP (即S-HTTP),將在相關(guān)文件中再作介紹。 |
協(xié)議結(jié)構(gòu) |
HTTP報(bào)文由從客戶機(jī)到服務(wù)器的請(qǐng)求和從服務(wù)器到客戶機(jī)的響應(yīng)構(gòu)成。請(qǐng)求報(bào)文格式如下: |
請(qǐng)求行 | 通用信息頭 | 請(qǐng)求頭 | 實(shí)體頭 | 報(bào)文主體 |
請(qǐng)求行以方法字段開始,后面分別是 URL 字段和 HTTP 協(xié)議版本字段,并以 CRLF 結(jié)尾。SP 是分隔符。除了在最后的 CRLF 序列中 CF 和 LF 是必需的之外,其他都可以不要。有關(guān)通用信息頭,請(qǐng)求頭和實(shí)體頭方面的具體內(nèi)容可以參照相關(guān)文件。 應(yīng)報(bào)文格式如下: |
狀態(tài)行 | 通用信息頭 | 響應(yīng)頭 | 實(shí)體頭 | 報(bào)文主體 |
狀態(tài)碼元由3位數(shù)字組成,表示請(qǐng)求是否被理解或被滿足。原因分析是對(duì)原文的狀態(tài)碼作簡(jiǎn)短的描述,狀態(tài)碼用來支持自動(dòng)操作,而原因分析用來供用戶使用。客戶機(jī)無需用來檢查或顯示語(yǔ)法。有關(guān)通用信息頭,響應(yīng)頭和實(shí)體頭方面的具體內(nèi)容可以參照相關(guān)文件。 |
相關(guān)協(xié)議 | WWW、 FTP 、STMP、 NNTP 、Gopher、WAIS、 DNS 、 S-HTTP |
組織來源 | HTTP 定義在 IETF ( http://www.ietf.org ) 的 RFC 1945和2616中。 |
相關(guān)鏈接 |
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:文件傳輸協(xié)議
FTP:文件傳輸協(xié)議 | |
(FTP:File Transfer Protocol) |
文件傳輸協(xié)議(FTP)使得主機(jī)間可以共享文件。 FTP 使用 TCP 生成一個(gè)虛擬連接用于控制信息,然后再生成一個(gè)單獨(dú)的 TCP 連接用于數(shù)據(jù)傳輸。控制連接使用類似 TELNET 協(xié)議在主機(jī)間交換命令和消息。 FTP 的主要功能如下:
FTP ,盡管可以直接被終端用戶使用,但其應(yīng)用主要還是通過程序?qū)崿F(xiàn)。 FTP 控制幀即指 TELNET 交換信息,包含 TELNET 命令和選項(xiàng)。然而,大多數(shù) FTP 控制幀是簡(jiǎn)單的 ASCII 文本,可以分為 FTP 命令或 FTP 消息。 FTP 消息是對(duì) FTP 命令的響應(yīng),它由帶有解釋文本的應(yīng)答代碼構(gòu)成。 |
協(xié)議結(jié)構(gòu) |
命令 | 描述 |
ABOR | 中斷數(shù)據(jù)連接程序 |
ACCT <account> | 系統(tǒng)特權(quán)帳號(hào) |
ALLO <bytes> | 為服務(wù)器上的文件存儲(chǔ)器分配字節(jié) |
APPE <filename> | 添加文件到服務(wù)器同名文件 |
CDUP <dir path> | 改變服務(wù)器上的父目錄 |
CWD <dir path> | 改變服務(wù)器上的工作目錄 |
DELE <filename> | 刪除服務(wù)器上的指定文件 |
HELP <command> | 返回指定命令信息 |
LIST <name> | 如果是文件名列出文件信息,如果是目錄則列出文件列表 |
MODE <mode> | 傳輸模式(S=流模式,B=塊模式,C=壓縮模式) |
MKD <directory> | 在服務(wù)器上建立指定目錄 |
NLST <directory> | 列出指定目錄內(nèi)容 |
NOOP | 無動(dòng)作,除了來自服務(wù)器上的承認(rèn) |
PASS <password> | 系統(tǒng)登錄密碼 |
PASV | 請(qǐng)求服務(wù)器等待數(shù)據(jù)連接 |
PORT <address> | IP 地址和兩字節(jié)的端口 ID |
PWD | 顯示當(dāng)前工作目錄 |
QUIT | 從 FTP 服務(wù)器上退出登錄 |
REIN | 重新初始化登錄狀態(tài)連接 |
REST <offset> | 由特定偏移量重啟文件傳遞 |
RETR <filename> | 從服務(wù)器上找回(復(fù)制)文件 |
RMD <directory> | 在服務(wù)器上刪除指定目錄 |
RNFR <old path> | 對(duì)舊路徑重命名 |
RNTO <new path> | 對(duì)新路徑重命名 |
SITE <params> | 由服務(wù)器提供的站點(diǎn)特殊參數(shù) |
SMNT <pathname> | 掛載指定文件結(jié)構(gòu) |
STAT <directory> | 在當(dāng)前程序或目錄上返回信息 |
STOR <filename> | 儲(chǔ)存(復(fù)制)文件到服務(wù)器上 |
STOU <filename> | 儲(chǔ)存文件到服務(wù)器名稱上 |
STRU <type> | 數(shù)據(jù)結(jié)構(gòu)(F=文件,R=記錄,P=頁(yè)面) |
SYST | 返回服務(wù)器使用的操作系統(tǒng) |
TYPE <data type> | 數(shù)據(jù)類型(A=ASCII,E=EBCDIC,I=binary) |
USER <username>> | 系統(tǒng)登錄的用戶名 |
標(biāo)準(zhǔn) FTP 信息如下: |
響應(yīng)代碼 | 解釋說明 |
110 | 新文件指示器上的重啟標(biāo)記 |
120 | 服務(wù)器準(zhǔn)備就緒的時(shí)間(分鐘數(shù)) |
125 | 打開數(shù)據(jù)連接,開始傳輸 |
150 | 打開連接 |
200 | 成功 |
202 | 命令沒有執(zhí)行 |
211 | 系統(tǒng)狀態(tài)回復(fù) |
212 | 目錄狀態(tài)回復(fù) |
213 | 文件狀態(tài)回復(fù) |
214 | 幫助信息回復(fù) |
215 | 系統(tǒng)類型回復(fù) |
220 | 服務(wù)就緒 |
221 | 退出網(wǎng)絡(luò) |
225 | 打開數(shù)據(jù)連接 |
226 | 結(jié)束數(shù)據(jù)連接 |
227 | 進(jìn)入被動(dòng)模式(IP 地址、ID 端口) |
230 | 登錄因特網(wǎng) |
250 | 文件行為完成 |
257 | 路徑名建立 |
331 | 要求密碼 |
332 | 要求帳號(hào) |
350 | 文件行為暫停 |
421 | 服務(wù)關(guān)閉 |
425 | 無法打開數(shù)據(jù)連接 |
426 | 結(jié)束連接 |
450 | 文件不可用 |
451 | 遇到本地錯(cuò)誤 |
452 | 磁盤空間不足 |
500 | 無效命令 |
501 | 錯(cuò)誤參數(shù) |
502 | 命令沒有執(zhí)行 |
503 | 錯(cuò)誤指令序列 |
504 | 無效命令參數(shù) |
530 | 未登錄網(wǎng)絡(luò) |
532 | 存儲(chǔ)文件需要帳號(hào) |
550 | 文件不可用 |
551 | 不知道的頁(yè)類型 |
552 | 超過存儲(chǔ)分配 |
553 | 文件名不允許 |
相關(guān)協(xié)議 | TELNET |
組織來源 | FTP 由 IETF( http://www.ietf.org )在 RFC 959 中,并由2228、2640 和 2773 重新更新。 |
相關(guān)鏈接 | http://www.javvin.com/protocol/rfc959.pdf :File Transfer Protocol(FTP) |
POP & POP3:郵局協(xié)議(郵局協(xié)議第3版)
POP & POP3:郵局協(xié)議(郵局協(xié)議第3版) | |
POP & POP3:Post Office Protocol |
POP 協(xié)議允許工作站動(dòng)態(tài)訪問服務(wù)器上的郵件,目前已發(fā)展到第三版,稱為 POP3 。 POP3 允許工作站檢索郵件服務(wù)器上的郵件。 POP3 傳輸?shù)氖菙?shù)據(jù)消息,這些消息可以是指令,也可以是應(yīng)答。 創(chuàng)建一個(gè)分布式電子郵件系統(tǒng)有多種不同的技術(shù)支持和途徑: POP (郵局協(xié)議)、 DMSP (分層式電子郵件系統(tǒng)協(xié)議)和 IMAP (因特網(wǎng)信息訪問協(xié)議)。其中, POP 協(xié)議創(chuàng)建最早因此也最為人們了解; DMSP 具有較好的支持“無連接”操作的性能,但其很大程度上僅限于單個(gè)應(yīng)用程序(PCMAIL ); IMAP 提供了 POP 和 DMSP 的擴(kuò)展集并提供對(duì)遠(yuǎn)程郵件訪問的三種支持方式:離線、在線和無連接。 POP 協(xié)議支持“離線”郵件處理。其具體過程是:郵件發(fā)送到服務(wù)器上,電子郵件客戶端調(diào)用郵件客戶機(jī)程序以連接服務(wù)器,并下載所有未閱讀的電子郵件。這種離線訪問模式是一種存儲(chǔ)轉(zhuǎn)發(fā)服務(wù),將郵件從郵件服務(wù)器端送到個(gè)人終端機(jī)器上,一般是 PC 機(jī)或 MAC 。一旦郵件發(fā)送到 PC 機(jī)或 MAC 上,郵件服務(wù)器上的郵件將會(huì)被刪除。 POP3 并不支持對(duì)服務(wù)器上郵件進(jìn)行擴(kuò)展操作,此過程由更高級(jí)的 IMAP4 完成。 POP3 使用 TCP 作為傳輸協(xié)議。 |
協(xié)議結(jié)構(gòu) |
POP3 是發(fā)送在客戶機(jī)和服務(wù)器間的 ASCII 信息。POP3 命令摘要: |
命令 | 描述 |
USER | 用戶名 |
PASS | 用戶密碼 |
STAT | 服務(wù)器上的郵件信息 |
RETR | 獲取的信息數(shù) |
DELE | 刪除的信息數(shù) |
LIST | 顯示的信息數(shù) |
TOP <messageID> <nombredelignes> | 從頭開始(包含協(xié)議頭)打印X行信息 |
QUIT | 退出POP3服務(wù)器 |
可選POP3命令:
APOP name digest AUTHORIZATION 狀態(tài)有效; TOP msg n TRANSACTION 狀態(tài)有效; UIDL [msg] POP3 Replies: + OK - ERR。 |
相關(guān)協(xié)議 | SMTP 、 IMAP4 、 TCP 、 POP |
組織來源 | POP3 由 IETF( www.ietf.org) 定義在 RFC 1939中。 |
相關(guān)鏈接 | http://www.javvin.com/protocol/rfc1939.pdf :Post Office Protocol – Version 3 |
SMTP:簡(jiǎn)單郵件傳輸協(xié)議
SMTP:簡(jiǎn)單郵件傳輸協(xié)議 | |
(SMTP:Simple Mail Transfer Protocol) |
SMTP 是一種提供可靠且有效電子郵件傳輸?shù)膮f(xié)議。 SMTP 是建模在 FTP 文件傳輸服務(wù)上的一種郵件服務(wù),主要用于傳輸系統(tǒng)之間的郵件信息并提供來信有關(guān)的通知。 SMTP 獨(dú)立于特定的傳輸子系統(tǒng),且只需要可靠有序的數(shù)據(jù)流信道支持。 SMTP 重要特性之一是其能跨越網(wǎng)絡(luò)傳輸郵件,即“ SMTP 郵件中繼”。通常,一個(gè)網(wǎng)絡(luò)可以由公用互聯(lián)網(wǎng)上 TCP 可相互訪問的主機(jī)、防火墻分隔的 TCP/IP 網(wǎng)絡(luò)上 TCP 可相互訪問的主機(jī),及其它 LAN/WAN 中的主機(jī)利用非 TCP 傳輸層協(xié)議組成。使用 SMTP ,可實(shí)現(xiàn)相同網(wǎng)絡(luò)上處理機(jī)之間的郵件傳輸,也可通過中繼器或網(wǎng)關(guān)實(shí)現(xiàn)某處理機(jī)與其它網(wǎng)絡(luò)之間的郵件傳輸。 在這種方式下,郵件的發(fā)送可能經(jīng)過從發(fā)送端到接收端路徑上的大量中間中繼器或網(wǎng)關(guān)主機(jī)。域名服務(wù)系統(tǒng)(DNS)的郵件交換服務(wù)器可以用來識(shí)別出傳輸郵件的下一跳 IP 地址。 |
協(xié)議結(jié)構(gòu) |
SMTP 命令是發(fā)送于 SMTP 主機(jī)之間的 ASCII 信息,可能命令如下所示: |
命令 | 描述 |
DATA | 開始信息寫作 |
EXPN <string> | 在指定郵件表中返回名稱 |
HELO <domain> | 返回郵件服務(wù)器身份 |
HELP <command> | 返回指定命令中的信息 |
MAIL FROM <host> | 在主機(jī)上初始化一個(gè)郵件會(huì)話 |
NOOP | 除服務(wù)器響應(yīng)確認(rèn)以外,沒有引起任何反應(yīng) |
QUIT | 終止郵件會(huì)話 |
RCPT TO <user> | 指明誰(shuí)收到郵件 |
RSET | 重設(shè)郵件連接 |
SAML FROM <host> | 發(fā)送郵件到用戶終端和郵箱 |
SEND FROM <host> | 發(fā)送郵件到用戶終端 |
SOML FROM <host> | 發(fā)送郵件到用戶終端或郵箱 |
TURN | 接收端和發(fā)送端交換角色 |
VRFY <user> | 校驗(yàn)用戶身份 |
相關(guān)協(xié)議 | POP3 、 IMAP4 、 TCP 、 POP 、 FTP |
組織來源 | SMTP 由 IETF( www.ietf.org )定義在 RFC2821中。 |
相關(guān)鏈接 | http://www.javvin.com/protocol/rfc2821.pdf :Simple Mail Transfer Protocol |
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
