HTML表单在90年代初如何被解释?
在现代网页中,HTML <form>
元素被提交,然后通过脚本解释。 它要么被服务器端编程语言(通常是PHP)解释,要么被客户端脚本解释(几乎总是JavaScript)。
forms甚至在90年代初就存在。 那他们怎么解释呢?
根据这篇维基百科文章 ,当时有一个基于电子邮件的HTML表单提交,但是它不可靠。 这是所有的? 为什么HTML如果没有脚本就没用了,就算是没有forms呢? 还是鸡鸡蛋?
在服务器端脚本(PHP,Ruby,node.js)之前,有服务器端编程。
Web服务器和后端进程之间的原始接口之一是公共网关接口(CGI)。 它由NCSA后端团队在90年代初期引入,同时Tim Berners-Lee(当时也是NCSA)将表格引入到了HTML中。 所以forms是在CGI被发明的同时被引入的。
最初很多人用C语言编写CGI程序。我是其中一个必须做的家庭作业。 我们写了一个从stdin读取并打印到stdout的小型C程序(我们打印了HTTP响应,而不仅仅是按照CGI规范的HTML),而不是一个巨大的包含所有框架的框架。 一个网站有很多这样的小程序,每个程序都做一件小事,并更新了一些数据库(有时候这个数据库只是一个平面文件)。
几乎刚推出时,人们也开始用Perl编写CGI脚本。 所以C程序和脚本语言之间确实没有过渡期。 人们只是停止在C中编写CGI脚本,因为在脚本语言中这样做更快。
服务器端实际上总是在图片中。
Apache HTTP服务器自1995年以来就可以使用,并且在1996年它也有Perl支持 (它被用作服务器端编程语言)。
JavaScript是在1996年创build的 ,Netscape是第一个支持客户端语言的浏览器(其他浏览器供应商的实现是基于Netscape的工作)。
1993年 ,Mosaic浏览器发布,支持图像,嵌套列表和填写表单。
基本上 – 每个可以处理请求并将其传递给某个应用程序的HTTP服务器(无论应用程序使用何种语言编写)都是服务器端应用程序。 它可以用脚本语言(Perl / Python / PHP / Ruby),高级语言(Java / C#)编写,如果你真的想要 – 甚至是组装。 所有你需要做的是确保你“遵循协议”。
JavaScript并没有如此先进(地狱Ajax甚至还没有)。 所以这是纯粹的服务器端。 主要是CGI(Perl)和PHP。
也有Coldfusion,但不是一个受欢迎的最爱。
最终,在1999年底和21世纪初,ASP.NET(aspx)和JavaServer Pages(jsp)出现了,尽pipe许多商业网站使用aspx和jsp的原因很明显。
请注意,Java小程序也存在(主要是为了渲染),但必须单独下载并支持浏览器。
另外,我在维基百科上偶然发现了一段有趣的历史。 也可以使用target
属性中的mailto:
地址通过电子邮件发送HTML表单。 似乎没有stream行,但仍然很酷!
引用维基百科的文章 :
在HTML 3.2时代期间,RFC 1867第5.6节提出了使用“mailto”URL作为表单动作的基于电子邮件的HTML表单提交的用户代理支持。 各种networking浏览器通过调用一个单独的电子邮件程序或使用他们自己的基本的SMTPfunction来实现它。 尽pipe有时并不可靠,但它作为一种传输表单数据的简单方式而不受networking服务器或CGI脚本的影响而简单stream行。
和RFC 1867(1995年11月):
5.6允许表单ACTION为“mailto:”
独立于这个build议,对于HTML来说非常有用
解释用户代理以允许表单中的ACTION成为a
“mailto:”url。 这似乎是一个好主意,不pipe有没有这个
提案。 同样,通过邮件接收的HTML表单的ACTION可能应该默认为消息的“reply-to:”。
这两个提议将允许通过HTTP提供HTML表单
服务器,但通过邮件发回,或者,允许HTML表单
通过邮件发送,由HTML感知的邮件收件人填写,结果邮寄回来。