HTTp和ftp的區別
許多站點,比如facebook或一些部落格等都允許使用者上傳或下載檔案,比如論壇或部落格系統的圖片。在這種情況下,通常有兩種選擇上傳檔案到伺服器,那就是FTP協議和HTTP協議。
以下列出了一些兩者的不同點:
1、HTTP協議是用來瀏覽網站的,而FTP是用來訪問和傳輸檔案的,FTP檔案傳輸有點批量上傳和維護網站的意思,而HTTP檔案傳輸更多的是為終端使用者提供檔案傳輸,比如電影、圖片、音樂之類。
2、HTTP 和 FTP 客戶端:通常的HTTP客戶端就是瀏覽器,而FTP服務可以通過命令列或者使用者自有的圖形介面客戶端。
3、HTTP 頭:HTTP 頭包含了 metadata ,比如說最後更改的日期、編碼方式、伺服器名稱版本還有其他的一些資訊,而這些在FTP中是不存在的。
4、FTP要比HTTP早出現10年左右。
5、資料格式:FTP能傳輸ACSII資料或者二進位制格式的資料,而HTTP只用二進位制格式。
6、HTTP中的流水線:HTTP支援流水線,這就意味著客戶端可以在上一個請求處理完之前,發出下一個請求,其結果就是多次請求資料之前省掉了部分伺服器客戶端往返時延。而FTP並沒有這項支援。
7、HTTP中的動態埠:FTP一個最大的問題就是它使用兩個連線,第一個連線用來傳送控制指令,當接受或者傳送資料的時候,又開啟第二個TCP連線。而HTTP在雙向傳輸中使用動態埠。
8、HTTP中的持久連線:對一個HTTP會話來講,客戶端可以維護一個單個的連線並使用它進行任意數量的資料傳輸。FTP每次有資料的需要時都建立一個新的連線。重複的建立新的連線帶來的體驗並不好,因為每次建立連線都必須讓雙方握手驗證,這消耗了很多時間。
9、HTTP中的壓縮演算法:HTTP提供了一個在一些壓縮演算法中客戶端和伺服器共同協商選擇的辦法。其中gzip可以說是最有影響力的一種,而FTP中並不存在這種複雜的演算法。
10、HTTP支援代理:HTTP一個很大的特點就是支援代理,這種功能是構建在協議裡的,而FTP並不支援。
11、而FTP也能脫穎而出的一點是這個協議是直接面向檔案級別的。這以為著FTP有例如可以通過命令列出遠端伺服器上的目錄列表,而HTTP沒有這個概念。
12、速度:可能最通常的問題了:哪一個傳輸更快?
什麼使FTP服務更快?
1、沒有在發出的資料中加入meta-data,僅傳輸原二進位制檔案。
2、沒有過度的分塊編碼
什麼使HTTP服務更快?
1、重用已存在的持久連線,從而有更好的TCP表現。
2、流水線的支援使得從同一個伺服器上請求多個檔案更快。
3、自動的壓縮機制使得傳輸的資料更少。
4、沒有命令/應答機制最大限度的減少了往返時延。
總結:當然最終的結果會因具體的情況而異,但我想說的是,單次傳輸一個靜態的檔案,很難衡量兩者的區別對單個的小檔案來說,FTP傳輸更快,當傳輸多個檔案時,HTTP更快。
相關文章
- 淺談SFTP和FTP的區別FTP
- tcp和http的區別TCPHTTP
- websocket和http的區別WebHTTP
- http和https的區別/get和post的區別HTTP
- FTP和TFTP的區別與介紹FTP
- http和https的區別?HTTP
- HTTPS和HTTP的區別HTTP
- HTTPS 和 HTTP 的區別HTTP
- http和https的區別HTTP
- FTP 中ascii 和bin 的區別和使用方法FTPASCII
- HTTPS 和 HTTP 的主要區別HTTP
- 什麼是HTTP? HTTP 和 HTTPS 的區別?HTTP
- http中的get和post的區別HTTP
- FTP主動模式和被動模式的區別FTP模式
- tcp/ip和http的區別和聯絡TCPHTTP
- http、socket、tcp的區別和聯絡?HTTPTCP
- Service Worker Cache 和 HTTP Cache 的區別HTTP
- HTTP代理和SOCKS代理的主要區別HTTP
- HTTP和HTTPS的區別有哪些?HTTP
- Http和Socket連線區別HTTP
- http中session和cookie的區別和關係HTTPSessionCookie
- HTTP、HTTP1.1、HTTP/2的區別HTTP
- HTTP1.0,HTTP1.1,HTTPS和HTTP2.0的區別HTTP
- http請求之get和post的區別HTTP
- HTTP_HOST 和 SERVER_NAME 的區別HTTPServer
- HTTP協議類POST 和GET的區別HTTP協議
- 前端面試http和https的區別前端面試HTTP
- HTTP和HTTPS有哪些區別?HTTP
- 搭建web伺服器和ftp伺服器的區別Web伺服器FTP
- atitit.網路檔案訪問協議.unc smb nfs ftp http的區別協議NFSFTPHTTP
- socket與http的區別HTTP
- TCP/IP、Http的區別TCPHTTP
- http請求中get和post方法的區別HTTP
- HTTP和HTTPS有什麼主要的區別?HTTP
- HTTP協議GET和POST請求的區別HTTP協議
- 大神給你分析HTTPS和HTTP的區別HTTP
- $GLOBALS['HTTP_RAW_POST_DATA']和$_POST的區別HTTP
- .NET面試題(29) http和https的區別面試題HTTP