为什么HTTP总是用80端口,而FTP除21端口外还要新开个端口 为什么通过HTTP上传下载大文件总是通过80端口,而FTP上传下载文件却不通过21端口,FTP总要另开一个端口?是不是因为性能的考量?不过我也不觉得HTTP传文件慢啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 实际上FTP服务要用到两个端口,21号端口是用来建立控制连接的,而20号断口才是用来建立数据连接的(即用来传输数据的). HTTP也一样,80端口是用来建立连接用的,它会起一个别的端口去接收数据 HTTP也一样,80端口是用来建立连接用的,它会起一个别的端口去接收数据有吗?建立连接以后就直接返回数据了,哪里有其他端口? 为什么ftp不直接用port21传文件,那也不会有任何问题啊 FTP服务采用两个端口有一点还是出于安全的的角度来考虑的. 很简单的道理,ftp要发控制指令 因为FTP的协议太简单,在那么简单的协议下,一个连接要同时处理FTP命令和数据传输是非常麻烦的。 http://www.cnpaf.net/Class/FTP/0532918532659443.html 问问:如果一个FTP服务器要处理多个FTP客户端连接,它除了用21号port侦听连接请求,会不会用多个port与这些客户端分别连接? 一个http服务器呢? 同志他开两个端口是为了达到这样一个目的ftp传输的文件必须保证出错在一个可控的范围内。这时就用到所以用了两个端口。 To 兄弟们:我只是一个假设,"或许" 会更快。要说不可以实现,那也是不对的。 http 协议 keep-conective 不就是只有一个80端口,而达到了传输 html 文件的吗。ftp 使用 2 个线程,有他的考虑,但也有他的弊端。我们沿用就是,但并不是说一个端口不能实现。 楼主的问题提得很巧妙 :)如果只问“为什么 FTP 要使用两个端口”,楼上的很多答案看起来都挺有道理。但问题是,跟 HTTP 一比较,问题就凸显出来了。包括 fifthfloor() 说的“ftp传输的文件必须保证出错在一个可控的范围内”,似乎也不是必须的理由了。难道,只能归结为“历史原因”?“龟腚”?BTW: 看到楼上的发言,好像有些朋友混淆了“端口”和“连接”的概念,事实上,同一个“端口”可以同时维护多个“连接”的,每个连接就是一个 socket,它们的区别只是“对方地址和端口”不同。比如一个 web server,它在 80 端口进行监听,每监听到一个连接请求,都会创建一个 socket,而这些 socket 的本地端口都是 80,并不是其它的什么端口。 而这些 socket 的本地端口都是 80,并不是其它的什么端口。=============楼上的,你确定吗? 这个本地端口是用来传送数据的.如果你确定HTTP服务器是这样的,你觉得FTP服务器又是怎么样的? 多个Flash XP来联Serv-U时,都通过20号端口来发送数据? > 而这些 socket 的本地端口都是 80,并不是其它的什么端口。> =============> 楼上的,你确定吗? 这个本地端口是用来传送数据的.我确定! :)其实要看清楚这个问题很容易,如果你是在 Windows2000 上跑的 web server,用下面的命令行就可以看到端口的使用情况:C:\> netstat /an你会发现本地 80 端口跟很多个远程 IP 的某个端口有连接,当然就是向远程的浏览器发送数据的喽,否则又能是干什么的?> 如果你确定HTTP服务器是这样的,你觉得FTP服务器又是怎么样的? > 多个Flash XP来联Serv-U时,都通过20号端口来发送数据?FTP 也是一样,有兴趣的话可以在 FTP 服务器上用 netstat 命令看一下。就像我前面说的,“端口”和“连接”是两个概念,同一个端口上可以同时建立很多个连接。不严格地说,“连接”是一个四元组 {本地 IP,本地 port,远程 IP,远程 port},这 4 个值里面任何一个值不同,都可以构成两个独立的“连接”,两个连接可以互不干扰地独立工作。数据的传输是通过“连接”,而不是通过“端口”,“端口”是用来建立“连接”的。 http也动态使用其他端口的,不然不是变成单线程的了 http也动态使用其他端口的,不然不是变成单线程的了----------多线程也可以用一个端口啊,看tomcat源码就知道了 设计模式基础——研磨设计模式——跟着cc学设计系列 使用dom4j扩展xml文件 ascii码转成字符代码有没??有的话发一个 到底哪里不对!?这段代码改了一个小时了。还是有错误,大家帮忙 请问有没有办法可以动态指定变量名? 能否通过程序修改标签名称,大家帮忙看看 这回有分了,告诉我吧 哪位有thinking in java后面的习题答案啊?(散分求购) JAVA的打印问题 java Client端和C Server端通信中文乱码问题 如何用java取得文本文件中的内容,急急急! 如何设计一个架构,使得框架既符合SDO规范,又能用到hibernate庞大的持久化功能?
如果一个FTP服务器要处理多个FTP客户端连接,它除了用21号port侦听连接请求,会不会用多个port与这些客户端分别连接? 一个http服务器呢?
他开两个端口是为了达到这样一个目的
ftp传输的文件必须保证出错在一个可控的范围内。
这时就用到所以用了两个端口。
=============
楼上的,你确定吗? 这个本地端口是用来传送数据的.如果你确定HTTP服务器是这样的,你觉得FTP服务器又是怎么样的? 多个Flash XP来联Serv-U时,都通过20号端口来发送数据?
> =============
> 楼上的,你确定吗? 这个本地端口是用来传送数据的.我确定! :)
其实要看清楚这个问题很容易,如果你是在 Windows2000 上跑的 web server,用下面的命令行就可以看到端口的使用情况:C:\> netstat /an你会发现本地 80 端口跟很多个远程 IP 的某个端口有连接,当然就是向远程的浏览器发送数据的喽,否则又能是干什么的?> 如果你确定HTTP服务器是这样的,你觉得FTP服务器又是怎么样的?
> 多个Flash XP来联Serv-U时,都通过20号端口来发送数据?FTP 也是一样,有兴趣的话可以在 FTP 服务器上用 netstat 命令看一下。就像我前面说的,“端口”和“连接”是两个概念,同一个端口上可以同时建立很多个连接。不严格地说,“连接”是一个四元组 {本地 IP,本地 port,远程 IP,远程 port},这 4 个值里面任何一个值不同,都可以构成两个独立的“连接”,两个连接可以互不干扰地独立工作。数据的传输是通过“连接”,而不是通过“端口”,“端口”是用来建立“连接”的。
----------
多线程也可以用一个端口啊,看tomcat源码就知道了