HTTP和FTP的區別

來源:互聯網
上載者:User

標籤:

原文地址:     http://blog.csdn.net/xiaoxiangzhu660810/article/details/8291656一、字面上來看

HTTP是Hyper Text Transfer Protocol,超文字傳輸通訊協定 (HTTP);

FTP是File Transfer Protocol,檔案傳輸通訊協定;

簡單說HTTP是面向網頁的,而FTP是面向檔案的。

二、複雜點兒1.FTP(1)FTP比HTTP複雜

FTP和HTTP一樣都是Internet上廣泛使用的協議,用來在兩台電腦之間互相傳送檔案。相比於HTTP,FTP協議要複雜得多。複雜的原因,是因為FTP協議要用到兩個TCP串連,一個是命令鏈路,用來在FTP用戶端與伺服器之間傳遞命令;另一個是資料鏈路,用來上傳或下載資料。

(2)FTP協議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。

PORT(主動)方式的串連過程是:用戶端向伺服器的FTP連接埠(預設是21)發送串連請求,伺服器接受串連,建立一條命令鏈路。當需要傳送資料時,用戶端在命令鏈上用PORT命令告訴伺服器:“我開啟了XXXX連接埠,你過來串連我”。於是伺服器從20連接埠向用戶端的XXXX連接埠發送串連請求,建立一條資料鏈路來傳送資料。

PASV(被動)方式的串連過程是:用戶端向伺服器的FTP連接埠(預設是21)發送串連請求,伺服器接受串連,建立一條命令鏈路。當需要傳送資料時,伺服器在命令鏈上用PASV命令告訴用戶端:“我開啟了XXXX連接埠,你過來串連我”。於是用戶端向伺服器的XXXX連接埠發送串連請求,建立一條資料鏈路來傳送資料。

從上面可以看出,兩種方式的命令鏈路串連方法是一樣的,而資料鏈路的建立方法就完全不同。而FTP的複雜性就在於此。

2.HTTP

當我們想瀏覽一個網站的時候,只要在瀏覽器的地址欄裡輸入網站的地址就可以了,例如http://www.microsoft.com,但是在瀏覽...w.microsoft.com ,你知道為什麼會多出一個“http”嗎?

(1)HTTP協議是什麼

我們在瀏覽器的地址欄裡輸入的網站地址叫做URL (Uniform Resource Locator,統一資源定位器)。就像每家每戶都有一個門牌地址一樣,每個網頁也都有一個Internet地址。當你在瀏覽器的地址框中輸入一個URL或是單擊一個超級連結時,URL就確定了要瀏覽的地址。瀏覽器通過超文字傳輸通訊協定 (HTTP)(HTTP),將Web伺服器上網站的網頁代碼提取出來,並翻譯成漂亮的網頁。因此,在我們認識HTTP之前,有必要先弄清楚URL的組成,例如:http://www.microsoft.com/china/index.htm。它的含義如下:
1. http://:代表超文字傳輸通訊協定 (HTTP),通知microsoft.com伺服器顯示Web頁,通常不用輸入;
2. www:代表一個Web(全球資訊網)伺服器;
3. Microsoft.com/:這是裝有網頁的伺服器的網域名稱,或站台伺服器的名稱;
4. China/:為該伺服器上的子目錄,就好像我們的檔案夾;
5. Index.htm:index.htm是檔案夾中的一個HTML檔案(網頁)。

 

我們知道,Internet的基本協議是TCP/IP協議,然而在TCP/IP模型最上層的是應用程式層(Application layer),它包含所有高層的協議。高層協議有:檔案傳輸通訊協定FTP、電子郵件傳輸協議SMTP、網域名稱系統服務DNS、網路新聞傳輸通訊協定NNTP和HTTP協議等。

HTTP協議(Hypertext Transfer Protocol,超文字傳輸通訊協定 (HTTP))是用於從WWW伺服器傳輸超文本到本地瀏覽器的傳送協議。它可以使瀏覽器更加高效,使網路傳輸減少。它不僅保證電腦正確快速地傳輸超文字文件,還確定傳輸文檔中的哪一部分,以及哪部分內容首先顯示(如文本先於圖形)等。這就是你為什麼在瀏覽器中看到的網頁地址都是以http://開頭的原因。
自WWW誕生以來,一個多姿多彩的資訊和虛擬世界便出現在我們眼前,可是我們怎麼能夠更加容易地找到我們需要的資訊呢?當決定使用超文本作為WWW文檔的標準格式後,於是在1990年,科學家們立即制定了能夠快速尋找這些超文字文件的協議,即HTTP協議。

(2)HTTP是怎樣工作的

由於HTTP協議是基於請求/響應範式的(相當於客戶機/伺服器)。一個客戶機與伺服器建立串連後,發送一個請求給伺服器,請求方式的格式為:統一資源識別項(URL)、協議版本號碼,後邊是MIME(關於MIME,看百度百科裡是這樣解釋的http://baike.baidu.com/view/160611.htm)資訊包括請求修飾符、客戶機資訊和可能的內容。伺服器接到請求後,給予相應的響應資訊,其格式為一個狀態行,包括資訊的協議版本號碼、一個成功或錯誤的代碼,後邊是MIME資訊包括伺服器資訊、實體資訊和可能的內容。
許多HTTP通訊是由一個使用者代理程式初始化的並且包括一個申請在原始伺服器上資源的請求。最簡單的情況可能是在使用者代理程式和伺服器之間通過一個單獨的串連來完成。在Internet上,HTTP通訊通常發生在TCP/IP串連之上。預設連接埠是TCP 80,但其它的連接埠也是可用的。但這並不預示著HTTP協議在Internet或其它網路的其它協議之上才能完成。HTTP只預示著一個可靠的傳輸。
這個過程就好像我們打電話訂貨一樣,我們可以打電話給商家,告訴他我們需要什麼規格的商品,然後商家再告訴我們什麼商品有貨,什麼商品缺貨。這些,我們是通過電話線用電話聯絡(HTTP是通過TCP/IP),當然我們也可以通過傳真,只要商家那邊也有傳真。

 

以上簡要介紹了HTTP協議的宏觀運作方式,下面介紹一下HTTP協議的內部操作過程。

 

在WWW中,“客戶”與“伺服器”是一個相對的概念,只存在於一個特定的串連期間,即在某個串連中的客戶在另一個串連中可能作為伺服器。基於HTTP協議的客戶/伺服器模式的資訊交換過程,它分四個過程:建立串連、發送請求資訊、發送響應資訊、關閉串連。這就好像上面的例子,我們電話訂貨的全過程。

其實簡單說就是任何伺服器除了包括HTML檔案以外,還有一個HTTP駐留程式,用於響應使用者請求。你的瀏覽器是HTTP客戶,向伺服器發送請求,當瀏覽器中輸入了一個開始檔案或點擊了一個超級連結時,瀏覽器就向伺服器發送了HTTP請求,此請求被送往由IP地址指定的URL。駐留程式接收到請求,在進行必要的操作後回送所要求的檔案。在這一過程中,在網路上發送和接收的資料已經被分成一個或多個資料包(packet),每個資料包包括:要傳送的資料;控制資訊,即告訴網路怎樣處理資料包。TCP/IP決定了每個資料包的格式。如果事先不告訴你,你可能不會知道資訊被分成用於傳輸和再重新組合起來的許多小塊。
也就是說商家除了擁有商品之外,它也有一個職員在接聽你的電話,當你打電話的時候,你的聲音轉換成各種複雜的資料,通過電話線傳輸到對方的電話機,對方的電話機又把各種複雜的資料轉換成聲音,使得對方商家的職員能夠明白你的請求。這個過程你不需要明白聲音是怎麼轉換成複雜的資料的。

(3) ipc$ 是什麼

IPC$(Internet Process Connection)是共用"具名管道"的資源(大家都是這麼說的),它是為了讓處理序間通訊而開放的具名管道,可以通過驗證使用者名稱和密碼獲得相應的許可權,在遠端管理電腦和查看電腦的共用資源時使用。
利用IPC$,串連者甚至可以與目標主機建立一個空的串連而無需使用者名稱與密碼(當然,對方機器必須開了ipc$共用,否則你是串連不上的),而利用這個空的串連,串連者還可以得到目標主機上的使用者列表(不過負責的管理員會禁止匯出使用者列表的)。
我們總在說ipc$漏洞ipc$漏洞,其實,ipc$並不是真正意義上的漏洞,它是為了方便管理員的遠端管理而開放的遠程網路登陸功能,而且還開啟了預設共用,即所有的邏輯盤(c$,d$,e$……)和系統目錄winnt或windows(admin$)。
所有的這些,初衷都是為了方便管理員的管理,但好的初衷並不一定有好的收效,一些別有用心者(到底是什麼用心?我也不知道,代詞一個)會利用IPC$,訪問共用資源,匯出使用者列表,並使用一些字典工具,進行密碼探測,寄希望於獲得更高的許可權,從而達到不可告人的目的.
解惑:
1)IPC串連是Windows NT及以上系統中特有的遠程網路登陸功能,其功能相當於Unix中的Telnet,由於IPC$功能需要用到Windows NT中的很多DLL函數,所以不能在Windows 9.x中運行。
也就是說只有nt/2000/xp才可以建立ipc$串連,98/me是不能建立ipc$串連的(但有些朋友說在98下能建立空的串連,不知道是真是假,不過現在都2003年了,建議98的同志換一下系統吧,98不爽的)
2)即使是空串連也不是100%都能建立成功,如果對方關閉了ipc$共用,你仍然無法建立串連
3)並不是說建立了ipc$串連就可以查看對方的使用者列表,因為管理員可以禁止匯出使用者列表.

(4) ASP 是什麼?

ASP即Active Server Page的縮寫。它是一種包含了使用VB Script或Jscript指令碼程式碼的網頁。當瀏覽器瀏覽ASP網頁時, Web伺服器就會根據請求產生相應的HTML代碼然後再返回給瀏覽器,這樣瀏覽器端看到的 就是動態產生的網頁。ASP是微軟公司開發的代替CGI指令碼程式的一種應用,它可以與資料庫和其它程式進行互動。是一種簡單、方便的編程工具。在瞭解了VBSCRIPT的基本文法後,只需要清楚各個組件的用途、屬性、方法,就可以輕鬆編寫出自己的ASP系統。ASP的網頁檔案的格式是.ASP。

HTTP和FTP的區別

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.