标签:
杂谈 |

如果说你曾经发送过 e-mail,你应该知道雷蒙德 · 塞缪尔 · 汤姆林森(Raymond Samuel Tomlinson)是「@」符号的发明者。在上周五,汤姆林森因心力衰竭逝世,享年 74 岁。
汤姆林森于 1941 出生于纽约东部的阿姆斯特丹市(Amsterdam),并在麻省理工学院(Massachusetts Institute of Technology)获得了硕士学位。在 1967 年,汤姆林森加入了「BBN」(Bolt Beranek and Newman)公司,这家公司在「阿帕网」(ARPANET)的发展进程中扮演了重要角色。「阿帕网」正是今天互联网的前身。
据「互联网名人堂」(Internet Hall of Fame)消息,汤姆林森在 1971 编写了第一个阿帕网客户端,并将「SNDMSG"(发送信息)程序和「CPYNET」(实验性的文件传输程序)结合到了一起。汤姆林森想到了使用「@」符号对用户的姓名和他所使用的主机进行区分,这就奠定了邮箱地址的语法结构。
汤姆林森于九十年代在个人网页上写下了如下话语:
当时我在被称为「SNDMSG」的本地用户之间的邮件程序上取得了一些进展。面向单一计算机的电子邮件早于 1960 年代便已存在,「SNDMSG」正是一个例证。用户可以通过使用「SNDMSG」程序撰写信息并将其发送至其他用户的邮箱当中。
邮箱仅仅是一个特定文件夹的名称,其独特之处在于内部保护机制的特殊性,这种保护机制只允许其他用户对文件夹的内容进行添加。换言之,其他用户可以在他人的邮箱中增加信息,但他们不能阅读或改写已经保存在收件箱中的内容。当时我意识到用户也可以通过「CPYNET」程序对邮箱的信息进行添加,其简易程度和「SNDMSG」并无二致。我们可以非常轻易地将「CPYNET」的代码包含在「SNDMSG」当中,在这种情况下,用户除了可以对本地的邮箱信息进行增加外,还可以通过网络将信息发送至远程邮箱当中。
唯一的缺陷在于出于实验阶段的「CPYNET」协议并没有给文件增加信息的条款,它所能做的只有文件的接收和发送等动作。想要修补这个缺陷并不困难,仅需对协议进行小幅度修补即可。我已经不记得协议的细节了,但对文件增加信息的操作和对文件进行写入的操作是完全一样的,只是文件的打开模式不同。
下一步就是将「CPYNET」整合到「SNDMSG」当中了。剩下的问题是如何对本地邮件和网络邮件进行区分,我的做法是在用户名后面添加一个符号以及主机的名字。很多人曾经问过我为何要选择「@」作为这个符号,我认为这个符号恰到好处。在英语文化中,这个符号的原意是商品的单价。我用「@」符号来表示用户在别的服务器之上,而不是本地。
文章来源:arstechnica,由
TECH2IPO / 创见 阮嘉俊 编译,首发于 TECH2IPO / 创见