欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java語言實現(xiàn)簡單FTP軟件 FTP協(xié)議分析(1)

 更新時間:2017年03月31日 14:12:41   作者:歐陽鵬  
這篇文章主要介紹了Java語言實現(xiàn)簡單FTP軟件的第一篇,針對FTP協(xié)議進行分析,具有一定的參考價值,感興趣的小伙伴們可以參考一下

FTP(File Transfer Protocol)就是文件傳輸協(xié)議。通過FTP客戶端從遠程FTP服務(wù)器上拷貝文件到本地計算機稱為下載,將本地計算機上的文件復(fù)制到遠程FTP服務(wù)器上稱為上傳,上傳和下載是FTP最常用的兩個功能。FTP使用傳輸層的TCP協(xié)議進行傳輸,因此客戶端與服務(wù)器之間的連接是可靠的,而且是面向連接,為數(shù)據(jù)的傳輸提供了可靠的保證。FTP的目標有以下目標: 

  • 提高文件的共享性
  • 提供非直接地遠程操縱計算機
  • 避免用戶因主機之間的文件存儲系統(tǒng)的差異而導(dǎo)致的變化
  • 為數(shù)據(jù)的傳送提供可靠性和高效性

FTP協(xié)議模型如下圖所示


FTP使用TCP的服務(wù),它需要兩條連接。一條是數(shù)據(jù)連接用于數(shù)據(jù)傳送,一般使用端口21,而另一條是控制連接用于傳送控制信息(命令和響應(yīng)),一般使用端口20??刂七B接需要傳送的只是控制信息,如一行命令或一行應(yīng)答碼,而數(shù)據(jù)連接需要傳送的數(shù)據(jù)類型繁雜,如文本文件、圖形文件、應(yīng)用程序等等。

FTP協(xié)議模型中使用到的交互元素包括用戶接口、USERPI、UPTP、SPI、SDTP的說明如下圖所示


FTP傳輸有兩種方式:文本傳輸模式和二進制數(shù)據(jù)傳輸模式。其中文本模式又叫ASCII模式,二進制模式又叫Binary模式。

FTP服務(wù)分為普通FTP與匿名FTP服務(wù)兩種類型。

常用FTP的命令有:

1) 接入命令

USER:指明用戶名
PASS:指明與用戶名對應(yīng)的密碼
ABOR:  異常中斷數(shù)據(jù)連接程序
QUIT:從系統(tǒng)注銷
REIN:重新初始化

2) 文件管理命令

CWD: 改變服務(wù)器上的工作目錄到指定目錄
CDUP:  改變服務(wù)器上的工作目錄到父目錄
DELE:請求刪除服務(wù)器上的文件。
LIST:列出子目錄或文件
MKD:請求在服務(wù)器上新建一個目錄
PWD:  顯示當前工作目錄
RMD:  從服務(wù)器上刪除指定目錄

3) 數(shù)據(jù)格式化命令

TYPE:  定義文件類型,共有四種類型,所帶參數(shù)也有四種:A、E 、I 、L分別對應(yīng)ASCII,EBCDIC,IMAGB和LOCAL類型。
STRU: 定義數(shù)據(jù)的組織
MODE: 定義傳輸方式

4) 端口定義命令

PASV:服務(wù)器選擇端口,客戶端使用這個端口發(fā)送主動打開
PORT: 客戶端選擇端口,服務(wù)器使用這個端口創(chuàng)建主動打開

5) 文件傳送命令

RETR:讀取文件,文件從服務(wù)器端傳送到客戶端
STOR:存放文件,文件從客戶端傳送到服務(wù)器端
STAT: 返回文件的狀態(tài)
ALLOO: 在服務(wù)器為文件分配存儲空間

6) 雜項命令

HELP: 詢問服務(wù)器的信息
NOOP: 檢查服務(wù)器是否工作
SITE: 指定特定場所的命令
SYST: 詢問服務(wù)器使用的操作系統(tǒng)

客戶端發(fā)送 FTP 命令后,服務(wù)器返回響應(yīng)碼。響應(yīng)碼用三位數(shù)字編碼表示:

第一個數(shù)字定義命令的狀態(tài)。

1 表示服務(wù)器正確接收信息,還未處理。
2 表示服務(wù)器已經(jīng)正確處理信息。
3 表示服務(wù)器正確接收信息,正在處理。
4 表示信息暫時錯誤。
5 表示信息永久錯誤。 

第二個數(shù)字是響應(yīng)類型的分類。

0 表示語法。
1 表示系統(tǒng)狀態(tài)和信息。
2 表示連接狀態(tài)。
3 表示與用戶認證有關(guān)的信息。
4 表示未指明。
5 表示與文件系統(tǒng)有關(guān)的信息。

第三個數(shù)字提供了更加附加信息。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • IDEA修改SVN地址的實現(xiàn)

    IDEA修改SVN地址的實現(xiàn)

    如果你正在使用SVN進行版本控制,并且需要更改你的SVN地址,那么這篇文章將為你提供必要的步驟和指導(dǎo),感興趣的可以了解一下
    2023-12-12
  • idea2017建立jsp工程及tomcat配置教程

    idea2017建立jsp工程及tomcat配置教程

    本文通過圖文并茂的形式給大家介紹了idea2017建立jsp工程及tomcat等配置的方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-02-02
  • Spring Cache整合Redis實現(xiàn)方法詳解

    Spring Cache整合Redis實現(xiàn)方法詳解

    這篇文章主要介紹了Spring Cache整合Redis實現(xiàn)方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • Java如何遠程調(diào)用對方接口

    Java如何遠程調(diào)用對方接口

    這篇文章主要介紹了Java如何遠程調(diào)用對方接口問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • SpringBoot2+Netty+WebSocket(netty實現(xiàn)websocket支持URL參數(shù))問題記錄

    SpringBoot2+Netty+WebSocket(netty實現(xiàn)websocket支持URL參數(shù))問題記錄

    Netty?是一個利用?Java?的高級網(wǎng)絡(luò)的能力,隱藏其背后的復(fù)雜性而提供一個易于使用的?API?的客戶端/服務(wù)器框架,這篇文章主要介紹了SpringBoot2+Netty+WebSocket(netty實現(xiàn)websocket,支持URL參數(shù)),需要的朋友可以參考下
    2023-12-12
  • springboot如何整合elasticsearch

    springboot如何整合elasticsearch

    這篇文章主要介紹了springboot如何整合elasticsearch問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • JavaWeb實現(xiàn)壓縮多個文件并下載實例詳解

    JavaWeb實現(xiàn)壓縮多個文件并下載實例詳解

    本文通過實例代碼給大家講解了javaweb實現(xiàn)壓縮多個文件并下載功能,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2017-07-07
  • 簡單實現(xiàn)Java web服務(wù)器

    簡單實現(xiàn)Java web服務(wù)器

    這篇文章主要為大家詳細介紹了簡單實現(xiàn)Java web服務(wù)器的詳細步驟,感興趣的小伙伴們可以參考一下
    2016-06-06
  • Java序列化常見的三個問題

    Java序列化常見的三個問題

    這篇文章主要介紹了Java序列化常見的三個問題,幫助大家更好的理解和學(xué)習(xí)JAVA,感興趣的朋友可以了解下
    2020-08-08
  • java截取網(wǎng)頁圖片的方法

    java截取網(wǎng)頁圖片的方法

    這篇文章主要介紹了java截取網(wǎng)頁圖片的方法,涉及java調(diào)用第三方控件實現(xiàn)截圖的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07

最新評論