FTP是File Transfer Protocol(文件傳輸協(xié)議)的縮寫,用來在兩臺計算機之間互相傳送文件。相比于HTTP,F(xiàn)TP協(xié)議要復(fù)雜得多。復(fù)雜的原因,是因為FTP協(xié)議要用 到兩個TCP連接,一個是命令鏈路,用來在FTP客戶端與服務(wù)器之間傳遞命令;另一個是數(shù)據(jù)鏈路,用來上傳或下載數(shù)據(jù)。
FTP協(xié)議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。
PORT(主動)方式的連接過程是:客戶端向服務(wù)器的FTP端口(默認是21)發(fā)送連接請求,服務(wù)器接受連接,建立一條命令鏈路。
當需要傳送數(shù)據(jù)時,客戶端在命令鏈路上用 PORT命令告訴服務(wù)器:“我打開了****端口,你過來連接我”。于是服務(wù)器從20端口向客戶端的****端口發(fā)送連接請求,建立一條數(shù)據(jù)鏈路來傳送數(shù)據(jù)。
PASV(被動)方式的連接過程是:客戶端向服務(wù)器的FTP端口(默認是21)發(fā)送連接請求,服務(wù)器接受連接,建立一條命令鏈路。
當需要傳送數(shù)據(jù)時,服務(wù)器在命令鏈路上用 PASV命令告訴客戶端:“我打開了****端口,你過來連接我”。于是客戶端向服務(wù)器的****端口發(fā)送連接請求,建立一條數(shù)據(jù)鏈路來傳送數(shù)據(jù)。
從上面可以看出,兩種方式的命令鏈路連接方法是一樣的,而數(shù)據(jù)鏈路的建立方法就完全不同。而FTP的復(fù)雜性就在于此。
云浪科技11年互聯(lián)網(wǎng)服務(wù)品牌,可為您提供高端網(wǎng)站建設(shè)、小程序開發(fā)、app開發(fā)、軟件開發(fā)、域名注冊、云服務(wù)器開通、企業(yè)郵箱開通、ICP備案等服務(wù),已為上千家用戶竭誠服務(wù),期待與您合作。