首页 » 网站建设 » phpcstr技巧_Perl 与动态网站的出身

phpcstr技巧_Perl 与动态网站的出身

访客 2024-11-21 0

扫一扫用手机浏览

文章目录 [+]

在新闻组和邮件列表里、在打算机科学实验室里、在各大陆之间,流传着一个神秘的故事,那是关于 Perl 与动态网站之间的不得不说的往事。
-- Michael Stevenson

本文导航

-CGI 脚本和信息软件 …… 11%

phpcstr技巧_Perl 与动态网站的出身

-题外话 …… 26%

phpcstr技巧_Perl 与动态网站的出身
(图片来自网络侵删)

-回到 Perl HTTPD …… 54%

-历史展望 …… 87%

编译自: https://opensource.com/life/16/11/perl-and-birth-dynamic-web

作者: Michael Stevenson

译者: wcnnbdk1

在新闻组和邮件列表里、在打算机科学实验室里、在各大陆之间,流传着一个神秘的故事,那是关于 Perl 与动态网站之间的不得不说的往事。

早期互联网历史中,有一些随处颂扬的首创性事宜:如蒂姆·伯纳斯·李Tim Berners-Lee在邮件组上宣告[1] WWW-project 的那天,该文档随同 CERN[2] 发布的项目代码进入到了公共域,以及 1993 年 1 月的初版 NCSA Mosaic 浏览器[3]。
虽然这些独立的事宜是相称主要的,但是当时的技能的开拓已经更为丰富,不再是由一组的伶仃事宜组成,而更像是一系列有内在联系的故事。

这个中的一个故事描述的是网站是如何变成动态的,普通说来便是我们如何使做事器除了供应静态 HTML 文档之外做更多的事。
这是个流传在新闻组[4]和邮件列表间、打算机科学实验室里、各个大陆之间的故事,重点不是一个人,而是一种编程措辞:Perl。

CGI 脚本和信息软件

在上世纪 90 年代中后期,Perl 险些和动态网站是同义词。
Perl 是一种相对来说随意马虎学习的阐明型措辞,并且有强大的文本处理特性,使得它能够很随意马虎的编写脚本来把一个网站关联到数据库、处理由用户发送的表单数据,当然,还要创造那些上世纪 90 年代的网站的经典形象——计数器和留言簿。

类似的网站特性逐渐的变成了 CGI 脚本的形式,其全称为通用网关接口Common Gateway Interface,首个实现[5]由 Rob McCool 于 1993 年 11 月在 NCSA HTTPD 上完成。
CGI 是目的是直面功能,并且在短短几年间,任何人都可以很随意马虎的找到一些由 Perl 写的预制的脚本存档。
有一个声名纷乱的案例便是 Matt's Scripts Archive[6],这是一种盛行却包含各种安全毛病的源代码库,它乃至使得 Perl 社区成员创建了一种被称为 Not Matt‘s Scripts[7] 的更为专业的更换选择。

在当时,无论是业余爱好者,还是职业程序员都采取 Perl 来制作动态网站和运用,Tim O’Reilly 创造了词汇“信息软件”infoware[8]来描述网站和 Perl 若何成为变革中的打算机工业的一部分。
考虑到 Yahoo!
和 Amazon 带来的创新,O‘Reilly 写道:“传统软件在大量的软件中仅仅包含了少量的信息;而信息软件则在少量的软件中包含了大量的信息。
” Perl 是一种像瑞士军刀一样的完美的小而强大的工具,它支撑了信息媒体从巨大的网站目录向早期的用户天生内容(UGC)平台的转变。

题外话

只管利用 Perl 来制作 CGI 切实其实是上佳之选,但是编程措辞和不断提升中的动态网站之间的关系变得更加的密切与深入。
从第一个网站[9](在 1990 年的圣诞节前)涌现到 1993 年 McCool 实现 CGI 的短暂时期内,Web 上的各种东西,比如表单、图片以及表格,就这么逐渐涌如今上世纪 90 年代乃至后来。
只管伯纳斯·李也对这些早期的岁月产生了影响,但是不同的人看到的是 Web 不同的潜在浸染,并将它推向各自不同的方向。
一方面,这样的结果来自一些著名的辩论,例如 HTML 该当和 SGML 保持多近的关系[10]、是否该当实现一个图像标签[11]等等。
在另一方面,在没有直接成分影响的情形下改变是极其缓慢的。
后者已经很好的描述了动态网站是如何发展的。

从某种意义上说,第一个“网关”的出身可以追溯到 1991 至 1992 年之间(LCTT 译注:此处所谓“网关”的意义请参照 CGI 的定义),当时伯纳斯·李和一些打算机科学家与超文本爱好者编写做事程序[12]使得一些特定的资源能够连接到一起,例如 CERN 的内部运用程序、通用的运用程序如 Oracle 数据库、广域信息查询系统(WAIS)[13] 等等。
(WAIS 是 Web 的前身,上世纪 80 年代后期开拓,个中,开拓者之一 Brewster Kahle[14],是一个数字化图书管理员和 Internet Archive[15] 的创始人。
)可以这样理解,“网关”便是一个被设计用来连接其它 Web、数据库或者运用程序的定制的 Web 做事器。
任何的动态功能就意味着在不同的端口上运行其余一个守护进程(参考阅读,例如伯纳斯·李对付在网站上如何添加一个搜索功能[16] 的描述)。
伯纳斯·李期望 Web 可以成为不同信息系统之间的通用接口,并且鼓励建立单一用场做事。
他也提到 Perl 是一种强大的(乃至是不可思议)、可以将各种东西组合起来的措辞。

然而,另一种对“网关”的理解指出它不一定是一个定制设备,可能只是一个脚本,一个并不须要额外做事器的低吞吐量的附加脚本。
这种形式的首次涌现是有争议性的 Jim Davis 的 Gateway to the U Mich Geography server[17],于 1992 年的 11 月发布在了 WWW-talk 邮件列表中。
Davis 的脚本是利用 Perl 编写的,是一种 Web API 的原型,基于格式化的用户查询从其余的做事器拉取数据。
我们来解释一下这两种对付网关的理解的不同之处,伯纳斯·李回答了[18] Davis 的邮件,期望他和 Michigan 做事器的作者“能够达成某种共识”,“从网络的角度来看的话”仅利用一台做事器来供应这样的信息可能会更故意义。
伯纳斯·李,可能是期待着 Web 的发明者可以提出一种有秩序的信息资源访问办法。
这样从不同做事器上拉取数据的网关和脚本意味着一种潜在的 Web 的质的变革,虽然不断增多,但也可能有点偏离了伯纳斯·李的原始不雅观点。

回到 Perl HTTPD

在 Davis 的地理做事器上的网关向标准化的、低吞吐量的、通过 CGI 办法实现的脚本化网关迈进的一步中,Perl HTTPD[19] 的涌现是很主要的事宜,它是 1993 年初由印地安纳大学的研究生 Marc Van Heyningen 在布卢明顿Bloomington完备利用 Perl 措辞实现的一个 Web 做事器程序。
从 Van Heyningen 给出的设计原则[20]来看,基于利用 Perl 就不须要任何的编译过程这样一种事实,使得它能够成为一种极易扩展的做事器程序,这个做事器包含了“一个向代码中增加新特性时只要大略的重启一下就可以,而不会有任何的宕机韶光的特性”,使得这个做事器程序可以频繁的加入新功能。

Perl HTTPD 代表了那种做事器程序该当是单一、特定目的的不雅观点。
相应的,这种模式彷佛暗示了在 Web 开拓中像这样渐进式的、持续测试的软件产品可能会终极变成一种共识。
Van Heyningen 在后来提到过[21]他从头编写这样一个做事器程序的初衷是当时没有一种简便的办法利用 CERN 做事器程序来天生“虚拟文档”(例如,动态天生的页面),他打趣说利用 Perl 这样的“神之措辞”来写可能是最大略的办法了。
在他初期编写的浩瀚脚本中有一个 Sun 操作系统的用户手册的 Web 界面,以及 Finger 网关[22](这是一种早期用来共享打算机系统信息或者是用户信息的协议)。

虽然 Van Heyningen 将印地安纳大学的做事器紧张用来连接现存的信息资源,他和研究生们同时也瞥见了作为个人发布形式的潜在可能。
个中一件广为人知事宜是在 1993-1994 年之间环绕着一个著名的加拿大案件而公布[23]的一系列的文件、照片和新闻故事,与此形成光鲜比拟的是,所有的全国性媒体都保持了沉默。

Perl HTTPD 没有坚持到现在的须要。
本日,Van Heyningen 回顾起这个程序的时候认为这个程序只是当时的一个原型产品。
它的原始目的只是向那些已经选择了 Gopher 作为大学的网络界面的资深教员们展示了网络的另一种利用办法。
Van Heyningen 以一种基于 Web 的、可搜索的出版物索引[24]的办法,用代码回应了他的导师们的虚荣。
便是说,在做事器程序技能方面关键创新是为了赢得辩论的胜利而出身的,在这个角度上来看代码做到了所有哀求它所做的事。

不管该做事器程序的生命是否短暂,伴随者 Perl HTTPD 一起涌现的理念已经传播到了各个角落。
Van Heyningen 开始收到了获取该代码的要求,而后将它分享到了网上,并提示说,须要理解一些 Perl 就可以将它移植到其它操作系统(或者找到一个这样的人也行)。
不久之后,居住在奥斯汀Austin的程序员 Tony Sanders 开拓了一个被称为 Plexus[25] 的轻便版本。
Sander 的做事器程序是一款全功能的产品,并且同样包含了 Perl HTTPD 所建议的易扩展性,而且添加一些新的特性如图片解码等。
Plexus 直接影响了[26] Rob McCool 给 NCSA HTTPD 做事器上的脚本开拓的“htbin”,并且同样影响到了不久之后出身的通用网关接口(CGI)。

在这些历史遗产之外,感谢妙不可言的互联网光阴机Internet Archive使得 Perl HTTPD 在本日依然保留在一种我们依然可以获取的形式,你可以从这里下载 tarball[27]。

历史展望

对付技能天下的颠覆来说,技能的改变总是在一个相互对立的过程中。
现有的技能是思考新技能的根本与出发点。
过期的编程形式启迪了本日人们干事的新办法。
网络天下的创新可能看起来更像是对付旧技能的扩展,不仅仅是 Perl。

在抽芽事宜的大略的韶光轴之外,Web 历史学者也容许以从 Perl 获取更多的线索。
个中一部份的寻衅在于材料的获取。
更多须要做的事情包括从可获取的大量凌乱的数据中梳理出它的构造,将分散在邮件列表、归档网站,书本和杂志中的信息内容组合在一起。
还有一部分的寻衅是须要认识到 Web 的历史不仅仅是新技能发布的日子,它同时包括了个人影象、人类情绪与社会进程等,并且这不仅仅是单一的历史线而是有许许多多条相似的历史线组合而成的。
就如 Perl 的信条一样“殊途同归。
There's More Than One Way To Do It.”

(题图来自:pinterest.com[28])

via: https://opensource.com/life/16/11/perl-and-birth-dynamic-web

作者:Michael Stevenson[29] 译者:wcnnbdk1 校正:wxy

本文由 LCTT[30] 原创编译,Linux中国 名誉推出

[1]: 宣告 - https://groups.google.com/forum/#!msg/alt.hypertext/eCTkkOoWTAY/bJGhZyooXzkJ

[2]: CERN - https://tenyears-www.web.cern.ch/tenyears-www/

[3]: 初版 NCSA Mosaic 浏览器 - http://1997.webhistory.org/www.lists/www-talk.1993q1/0099.html

[4]: 新闻组 - https://en.wikipedia.org/wiki/Usenet_newsgroup

[5]: 首个实现 - http://1997.webhistory.org/www.lists/www-talk.1993q4/0518.html

[6]: Matt's Scripts Archive - https://web.archive.org/web/19980709151514/http://scriptarchive.com/

[7]: Not Matt‘s Scripts - http://nms-cgi.sourceforge.net/

[8]: “信息软件” - https://web.archive.org/web/20000815230603/http://www.edventure.com/release1/1198.html

[9]: 第一个网站 - http://info.cern.ch/hypertext/WWW/TheProject.html

[10]: HTML 该当和 SGML 保持多近的关系 - http://1997.webhistory.org/www.lists/www-talk.1993q1/0096.html

[11]: 是否该当实现一个图像标签 - http://1997.webhistory.org/www.lists/www-talk.1993q1/0182.html

[12]: 编写做事程序 - http://info.cern.ch/hypertext/WWW/Daemon/Overview.html

[13]: 广域信息查询系统(WAIS) - https://en.wikipedia.org/wiki/Wide_area_information_server

[14]: Brewster Kahle - http://brewster.kahle.org/about/

[15]: Internet Archive - https://archive.org/index.php

[16]: 如何添加一个搜索功能 - http://1997.webhistory.org/www.lists/www-talk.1993q1/0109.html

[17]: Gateway to the U Mich Geography server - https://lists.w3.org/Archives/Public/www-talk/1992NovDec/0060.html

[18]: 回答了 - https://lists.w3.org/Archives/Public/www-talk/1992NovDec/0069.html

[19]: Perl HTTPD - https://web.archive.org/web/19970720025822/http://www.cs.indiana.edu/perl-server/code.html

[20]: 设计原则 - https://web.archive.org/web/19970720025822/http://www.cs.indiana.edu/perl-server/intro.html

[21]: 提到过 - https://web.archive.org/web/19980122184328/http://www.cs.indiana.edu/perl-server/history.html

[22]: Finger 网关 - https://web.archive.org/web/19990429014629/http://www.cs.indiana.edu:800/finger/gateway

[23]: 公布 - https://web.archive.org/web/19970720205155/http://www.cs.indiana.edu/canada/karla.html

[24]: 一种基于 Web 的、可搜索的出版物索引 - https://web.archive.org/web/19990428030253/http://www.cs.indiana.edu:800/cstr/search

[25]: Plexus - https://web.archive.org/web/19990421192342/http://www.earth.com/server/doc/plexus.html

[26]: 直接影响了 - http://1997.webhistory.org/www.lists/www-talk.1993q4/0516.html

[27]: 这里下载 tarball - https://web.archive.org/web/20011126190051/http://www.cs.indiana.edu/perl-server/httpd.pl.tar.Z

[28]: pinterest.com - https://www.pinterest.com/pin/146930006563199552/

[29]: Michael Stevenson - https://opensource.com/users/mstevenson

[30]: LCTT - https://github.com/LCTT/TranslateProject

标签:

相关文章

日本IT公司,引领全球科技创新的先锋力量

日本,这个被誉为“科技大国”的国家,在全球IT领域有着举足轻重的地位。众多日本IT公司凭借其卓越的创新能力和前瞻性战略,在全球市场...

网站建设 2024-12-27 阅读0 评论0

日本IT证书,开启职业新篇章的钥匙

随着信息技术的飞速发展,IT行业逐渐成为我国乃至全球的热门行业。为了提升自身的专业能力和职业竞争力,越来越多的人开始关注IT证书。...

网站建设 2024-12-27 阅读0 评论0

单线通讯协议,网络时代的“绿洲”

随着互联网的快速发展,通讯技术也在日新月异。单线通讯协议作为一种高效、稳定的通讯方式,逐渐成为网络时代的一道“绿洲”。本文将从单线...

网站建设 2024-12-27 阅读0 评论0

协议账户B户,金融创新中的稳健基石

随着金融科技的不断发展,金融行业正经历着前所未有的变革。在这个变革的时代,协议账户B户作为一种创新的金融工具,以其稳健性、便捷性和...

网站建设 2024-12-27 阅读0 评论0

日本信息技术引进的历史、现状与展望

自20世纪80年代以来,信息技术(IT)在全球范围内迅速发展,对各国经济、社会和文化产生了深远的影响。日本作为世界第二大经济体,在...

网站建设 2024-12-27 阅读0 评论0