FTP 协议和 HTTP 协议的比较
參考:http://www.oschina.net/news/28162/http-vs-ftp
以下列出了一些兩者的不同點(diǎn):
1、HTTP協(xié)議是用來(lái)瀏覽網(wǎng)站的,而FTP是用來(lái)訪問(wèn)和傳輸文件的,FTP文件傳輸有點(diǎn)批量上傳和維護(hù)網(wǎng)站的意思,而HTTP文件傳輸更多的是為終端用戶(hù)提供文件傳輸,比如電影、圖片、音樂(lè)之類(lèi)。
2、HTTP 和 FTP 客戶(hù)端:通常的HTTP客戶(hù)端就是瀏覽器,而FTP服務(wù)可以通過(guò)命令行或者用戶(hù)自有的圖形界面客戶(hù)端。
3、HTTP 頭:HTTP 頭包含了 metadata ,比如說(shuō)最后更改的日期、編碼方式、服務(wù)器名稱(chēng)版本還有其他的一些信息,而這些在FTP中是不存在的。
4、FTP要比HTTP早出現(xiàn)10年左右。
5、數(shù)據(jù)格式:FTP能傳輸ACSII數(shù)據(jù)或者二進(jìn)制格式的數(shù)據(jù),而HTTP只用二進(jìn)制格式。
6、HTTP中的流水線:HTTP支持流水線,這就意味著客戶(hù)端可以在上一個(gè)請(qǐng)求處理完之前,發(fā)出下一個(gè)請(qǐng)求,其結(jié)果就是多次請(qǐng)求數(shù)據(jù)之前省掉了部分服務(wù)器客戶(hù)端往返時(shí)延。而FTP并沒(méi)有這項(xiàng)支持。
7、HTTP中的動(dòng)態(tài)端口:FTP一個(gè)最大的問(wèn)題就是它使用兩個(gè)連接,第一個(gè)連接用來(lái)發(fā)送控制指令,當(dāng)接受或者發(fā)送數(shù)據(jù)的時(shí)候,又打開(kāi)第二個(gè)TCP連接。而HTTP在雙向傳輸中使用動(dòng)態(tài)端口。
8、HTTP中的持久連接:對(duì)一個(gè)HTTP會(huì)話來(lái)講,客戶(hù)端可以維護(hù)一個(gè)單個(gè)的連接并使用它進(jìn)行任意數(shù)量的數(shù)據(jù)傳輸。FTP每次有數(shù)據(jù)的需要時(shí)都創(chuàng)建一個(gè)新的連接。重復(fù)的創(chuàng)建新的連接帶來(lái)的體驗(yàn)并不好,因?yàn)槊看蝿?chuàng)建連接都必須讓雙方握手驗(yàn)證,這消耗了很多時(shí)間。
9、HTTP中的壓縮算法:HTTP提供了一個(gè)在一些壓縮算法中客戶(hù)端和服務(wù)器共同協(xié)商選擇的辦法。其中g(shù)zip可以說(shuō)是最有影響力的一種,而FTP中并不存在這種復(fù)雜的算法。
10、HTTP支持代理:HTTP一個(gè)很大的特點(diǎn)就是支持代理,這種功能是構(gòu)建在協(xié)議里的,而FTP并不支持。
11、而FTP也能脫穎而出的一點(diǎn)是這個(gè)協(xié)議是直接面向文件級(jí)別的。這以為著FTP有例如可以通過(guò)命令列出遠(yuǎn)程服務(wù)器上的目錄列表,而HTTP沒(méi)有這個(gè)概念。
12、速度:可能最通常的問(wèn)題了:哪一個(gè)傳輸更快?
什么使FTP服務(wù)更快?
1、沒(méi)有在發(fā)出的數(shù)據(jù)中加入meta-data,僅傳輸原二進(jìn)制文件。
2、沒(méi)有過(guò)度的分塊編碼
什么使HTTP服務(wù)更快?
1、重用已存在的持久連接,從而有更好的TCP表現(xiàn)。
2、流水線的支持使得從同一個(gè)服務(wù)器上請(qǐng)求多個(gè)文件更快。
3、自動(dòng)的壓縮機(jī)制使得傳輸?shù)臄?shù)據(jù)更少。
4、沒(méi)有命令/應(yīng)答機(jī)制最大限度的減少了往返時(shí)延。
總結(jié):當(dāng)然最終的結(jié)果會(huì)因具體的情況而異,但我想說(shuō)的是,單次傳輸一個(gè)靜態(tài)的文件,很難衡量?jī)烧叩膮^(qū)別對(duì)單個(gè)的小文件來(lái)說(shuō),FTP傳輸更快,當(dāng)傳輸多個(gè)文件時(shí),HTTP更快。
轉(zhuǎn)載于:https://www.cnblogs.com/wjw334/p/6868010.html
總結(jié)
以上是生活随笔為你收集整理的FTP 协议和 HTTP 协议的比较的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: kotlin 使用viewStub
- 下一篇: js上传图片