參考網站:http://blog.csdn.net/xiaoxiangzhu660810/article/details/8291656瀏覽器
HTTP是Hyper Text Transfer Protocol,超文本傳輸協議;服務器
FTP是File Transfer Protocol,文件傳輸協議;網絡
簡單說HTTP是面向網頁的,而FTP是面向文件的。網站
FTP和HTTP同樣都是Internet上普遍使用的協議,用來在兩臺計算機之間互相傳送文件。相比於HTTP,FTP協議要複雜得多。複雜的緣由,是由於FTP協議要用到兩個TCP鏈接,一個是命令鏈路,用來在FTP客戶端與服務器之間傳遞命令;另外一個是數據鏈路,用來上傳或下載數據。.net
PORT(主動)方式的鏈接過程是:客戶端向服務器的FTP端口(默認是21)發送鏈接請求,服務器接受鏈接,創建一條命令鏈路。當須要傳送數據時,客戶端在命令鏈上用PORT命令告訴服務器:「我打開了XXXX端口,你過來鏈接我」。因而服務器從20端口向客戶端的XXXX端口發送鏈接請求,創建一條數據鏈路來傳送數據。
PASV(被動)方式的鏈接過程是:客戶端向服務器的FTP端口(默認是21)發送鏈接請求,服務器接受鏈接,創建一條命令鏈路。當須要傳送數據時,服務器在命令鏈上用PASV命令告訴客戶端:「我打開了XXXX端口,你過來鏈接我」。因而客戶端向服務器的XXXX端口發送鏈接請求,創建一條數據鏈路來傳送數據。
翻譯
從上面能夠看出,兩種方式的命令鏈路鏈接方法是同樣的,而數據鏈路的創建方法就徹底不一樣。而FTP的複雜性就在於此。orm
當咱們想瀏覽一個網站的時候,只要在瀏覽器的地址欄裏輸入網站的地址就能夠了,例如http://www.microsoft.com,可是在瀏覽...w.microsoft.com ,你知道爲何會多出一個「http」嗎?htm
咱們在瀏覽器的地址欄裏輸入的網站地址叫作URL (Uniform Resource Locator,統一資源定位符)。就像每家每戶都有一個門牌地址同樣,每一個網頁也都有一個Internet地址。當你在瀏覽器的地址框中輸入一個URL或是單擊一個超級連接時,URL就肯定了要瀏覽的地址。瀏覽器經過超文本傳輸協議(HTTP),將Web服務器上站點的網頁代碼提取出來,並翻譯成漂亮的網頁。所以,在咱們認識HTTP以前,有必要先弄清楚URL的組成,例如:http://www.microsoft.com/china/index.htm。它的含義以下:
1. http://:表明超文本傳輸協議,通知microsoft.com服務器顯示Web頁,一般不用輸入;
2. www:表明一個Web(萬維網)服務器;
3. Microsoft.com/:這是裝有網頁的服務器的域名,或站點服務器的名稱;
4. China/:爲該服務器上的子目錄,就好像咱們的文件夾;
5. Index.htm:index.htm是文件夾中的一個HTML文件(網頁)。blog
咱們知道,Internet的基本協議是TCP/IP協議,然而在TCP/IP模型最上層的是應用層(Application layer),它包含全部高層的協議。高層協議有:文件傳輸協議FTP、電子郵件傳輸協議SMTP、域名系統服務DNS、網絡新聞傳輸協議NNTP和HTTP協議等。資源