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感知的邮件收件人填写,结果邮寄回来。