当前位置:首页 > CN2资讯 > 正文内容

javartmp协议服务器 javaftp服务器

3天前CN2资讯


面向目录的 FTP 命令

(RFC 775 Directory oriented FTP commands) David Mankins (dm@bbn-unix) Dan Franklin (dan@bbn-unix) A. D. Owen (ADOwen@bbnd)

作为ARPA网远程站点维护工程(RSM)的一部分,BBN需在运行Unix操作系统的若干台PDP-11上安装并维护软件。因为Unix系统有一个树状目录结构,在这种结构中,对目录的操作同对普通文件操作一样容易,我们发现在这些机器上可以非常便利地扩展FTP服务器来包含涉及目录创建等的命令。

因为在ARPA网上存在有树状目录的包括Tops-20和Multics在内的其他主机,我们试图尽可能地使这些命令成为常规命令。

我们在服务器上添加了四条命令:

XMKD child

建立一个名为“child”的目录。

XRMD child

删除名为“child”的目录。

XPWD

打印当前工作目录。

XCUP

改变目录到当前工作目录的父目录。

"child"参数将作为当前工作目录的子目录被创建(删除),除非“child”字符串包含足够的信息指明其他的服务器,例如,“child”是一个绝对路径名(在Multics和Unix中),或在Tops-20中chlid象"<abso.lute.path>"的东西。

回答码

XCUP命令是XCWD中的一种特殊情况,包含在简单化执行的程序中,这些程序在对父目录命名有不同语法的操作系统之间传递目录树。因此我们推荐XCUP的回答码与XCWD的回答码相同。同样地, 我们推荐XRMD的回答码和与其相似的文件删除的命令DELE的回答码相同。

然而,XMKD的回答码比较复杂。一个新近创建的目录或许会成为XCWD命令的将来的目标。不幸的是,XMKD的参数不可能总是XCWD合适的参数。这里有种情况,例如,在Tops-20上,一个子目录只需在给出名字的情况下就可以被创建。也就是说,在Tops-20服务器的FTP上,下列命令序列

XMKD MYDIR

XCWD MYDIR

将会出错。一个新目录可能仅仅只用“绝对的”名字指明;例如,如果在目录<DFRANKLIN>下使用上述XMKD命令,新的子目录只可使用名称<DFRANKLIN.MYDIR>来指明。甚至在Unix和Multics上,XMKD中给定的参数可能也不合适。如果它是一个“相对”的路径名(也就是说,一个路径名被认为与当前目录有关),用户要到达子目录必须在同一当前目录下才行。如果依赖于应用程序,将会造成不方便。在任何情况下它都不会很健壮。

要解决这些问题,在成功完成XMKD的命令之外,服务器应当返回一行表格:

257<空格>"<目录名>"<空格><注释>

也就是说,服务器会告诉用户在创建目录时要用到什么字符串。目录名可以包含任何字符;内嵌的双引号要用双引号转义(“双重引用”惯例)。例如,用户进入目录/usr/dm,并创建一名为child的子目录:

XCWD /usr/dm 200 directory changed to /usr/dm XMKD child 257 "/usr/dm/child" directory created

一个带有内嵌双引号的例子:

XMKD foo"bar 257 "/usr/dm/foo""bar" directory created XCWD /usr/dm/foo"bar 200 directory changed to /usr/dm/foo"bar

如果已存在一个同名子目录,我们认为应解释为一个错误,在这种情况下,服务器应给出“access denied(拒绝访问)”的错误回答。

CWD /usr/dm 200 directory changed to /usr/dm XMKD child 521-"/usr/dm/child" directory already exists; 521 taking no action.

我们推荐XMKD的失败回答与文件创建命令STOR相类似。

同样,如果一个与子目录同名的文件与子目录创建相冲空,我们也推荐返回“access denied(拒绝访问)”(这是一个Unix上的问题,但不是Top-20上的)。

由于XPWD命令与XMKD命令完成返回同一种的信息,我们也应用257回答码来表示这一命令成功执行。这里我们提交一个试验命令的回答码摘要。圆括号外给出的代码与RFC691相一致;也就是那份RFC中被建议更新的旧协议的代码。BBN-Unix服务器和用户程序均执行这些代码。

回答码257是唯一的新编码。圆括号中显示的回答码是“新”FTP协议的,大多数已最近记录在RFC765中。

为RFX765协议发明的代码是251。

命令: 回答码 解释

XMKD 创建目录

257 (251) "pathname" created("pathname" 已创建) 521 (450) "pathname" already exists("pathname" 已存在) 506 (502) action not implemented(操作未执行) 521 (450) access denied(拒绝访问) 550 (501) bad pathname syntax or ambiguous(错误或不明确的路径名) 425 (451) random file system error(随机文件系统错误) XCUP 改变目录到上一级目录 200 (200) working directory changed(工作目录已改变) 506 (502) action not implemented(操作未执行) 507 (551) no superior directory(无上一级目录) 521 (450) access denied(拒绝访问) 425 (451) random file system error(随机文件系统错误)

XRMD 删除目录

224 (250) deleted ok(删除完成) 506 (502) action not implemented(操作未执行) 521 (450) access denied(拒绝访问) 550 (501) bad pathname syntax or ambiguous(错误或不明确的路径名) 425 (451) random file system error(随机文件系统错误) XPWD 打印当前工作目录 257 (251) "pathname"(“路径名”) 425 (451) random file system error(随机文件系统错误) 506 (502) action not implemented(操作未执行) SUBTLETIES

因为这些命令在机器间传递目录树非常有用,所以我们必须强调这样一个事实,即XMKD的参数应解释为当前工作目录下的子目录,除非它包含足够的能够说明其他情况的目的主机信息。

下面是一个Tops-20上假想的例子:

XCWD <some.where> 200 Working directory changed XMKD overrainbow 257 "<some.where.overrainbow>" directory created XCWD overrainbow 431 No such directory XCWD <some.where.overrainbow> 200 Working directory changed XCWD <some.where> 200 Working directory changed to <some.where> XMKD <unambiguous> 257 "<unambiguous>" directory created XCWD <unambiguous>

注意第一个例子建立一个连接的目录下的一个子目录。相反,第二个例子的参数为Tops-20包含了足够的信息,指明<unambiguous>目录是一个上层目录。同时注意,在第一个例子中,用户“违反”协议,试图用一个不同于被Tops-20返回的名字访问刚创建的目录。在已存在<overrainbow>目录的情况下可能导致问题;这是某些Tops-20执行中固有的不确定性。XRMK命令也需要进行类似的考虑。这就是:不考虑在哪里操作,为了表示相关的绝对路径名,违反主机的惯例,主机会把XMKD和KRMD的操作视为对子目录操作。XMKD命令的回答必须包含创建目录的绝对路径名。

参考资料

File Transfer Protocol (RFC 765), Postel, J., June 1980 CWD Command of FTP (RFC 697), Lieb, J., NIC 32963, 14 July 1975 One More Try on the FTP (RFC 691), Harvey, B., NIC 32700, 28 May 1975 Revised FTP Reply Codes (RFC 640), Postel, J., N. Neigus, K. Pogran, NIC 30843, 5 June 1974 File Transfer Protocol (RFC 542), Neigus, N., NIC 17759, 12 July 1977 [



    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/20462.html

    分享给朋友:

    “javartmp协议服务器 javaftp服务器” 的相关文章

    RackNerd评测:高性价比VPS服务体验与优缺点分析

    谈到VPS主机服务,RackNerd无疑是近年来备受关注的一个名字。成立于2019年的RackNerd,以其高性价比和出色的客户服务,迅速在行业内站稳了脚跟。无论你是个人网站的博主,还是小型企业的运营者,RackNerd都能为你提供一个合适的解决方案。 RackNerd的主要数据中心遍布北美和欧洲,...

    选择日本不限流量VPS的最佳方案与优化建议

    日本不限流量VPS市场现状 日本的VPS市场,尤其是不限流量的产品,正迎来一个快速发展的阶段。随着互联网技术的进步,亚洲的网络环境发生了翻天覆地的变化。尤其是在日本,不限流量VPS因其连接速度快、数据中心服务优质而广受欢迎,对那些需要持续大流量的网站运营者来说,这可是一个无与伦比的选择。 我发现,随...

    如何获取免费VPS服务无需信用卡:一站式指南

    在互联网时代,虚拟专用服务器(VPS)成为了很多开发者和企业的优选。VPS基本上是一个分隔的服务器环境,用户可以在其中安装操作系统和运行应用程序。它既拥有独立服务器的功能,又比共享主机更具经济性。对很多人来说,了解VPS的运行机制和它的适用场景是非常重要的。 免费VPS服务越来越受到关注。在预算有限...

    全面了解Amazon CDN CloudFront:快速、安全的内容分发网络服务

    在互联网的快速发展中,内容分发网络(CDN)成为确保网站速度和性能的重要保证。CDN是通过在全球各地的多个服务器上缓存和分发内容,以最短的路径将数据传送给用户。这样做不仅加快了加载速度,还提高了用户体验。通过保存内容的副本在离用户更近的地点,CDN能够显著降低网络延迟。 而Amazon CloudF...

    如何选择免费服务器以支持学习与项目开发

    在当今数字化快速发展的时代,免费服务器正变得越来越受欢迎。特别是对初学者、学生和小型企业来说,免费服务器为他们提供了一个难得的机会,让他们可以在没有资金压力的情况下进行项目学习和实践。简单来说,免费服务器就是云服务提供商为了吸引新用户推出的试用服务,通常会在一定时间内提供免费的计算资源和存储空间。...

    阿里云国际:企业数字化转型的理想云服务解决方案

    阿里云国际概述 阿里云国际成立于2015年,致力于为全球用户提供高效、可靠、安全的云计算服务。作为阿里巴巴集团的一部分,阿里云国际不仅承载着国内市场的技术精华,也积极拓展国际市场。随着全球互联网的快速发展,企业对云服务的需求不断增加,阿里云国际顺应这一趋势,凭借创新的技术和丰富的经验,迅速在全球范围...