分析FTP协议与http协议的区别

最近打算依赖netty写一个FTP服务器所以有去了解了一下FTP发现这个协议并不像是http协议一样一次传输的那种协议。下面是一些我简单学习后的理解,记录下来,方便回顾
FTP协议不同于http协议的地方首先就是他固定了端口号,20和21并且将用户消息和文件数据的传输分开发送,由两个不同的socket进行传输。
大概的流程是

  • 用户对FTP服务器发起连接建立的请求建立了一个tcp连接
  • 用户通过21端口发送给FTP服务器一些用户消息一般都是以一种usercaohao123456789这样:消息类型+消息数据的格式,user代表用户名后面就是真正的用户账号,再比如pass123456那么pass就是代表密码后面就是真正的密码数据
  • 当用户发出了一些需要传输数据的请求后比如要求文件目录,或者是要求上传或是下载文件的话,就会通过20口将数据传输回去

而之前常常在用的http协议很明显是一个一次传输就通过各种的消息头和消息行就讲一切都说明的一清二楚了。甚至http1.0是没有keepalive的是一次通信就是一次完整的数据传输,而FTP协议则是以一个长久的连接为基础进行消息传递来明确用户想要的结果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章