Как интерпретировались HTML-формы в начале 90-х годов?

В современной веб-среде представлен элемент HTML <form>, а затем интерпретируется сценарием. Либо он интерпретируется языком программирования на стороне сервера (обычно PHP), либо интерпретируется клиентской стороной script (почти всегда JavaScript).

Формы существовали даже в начале 90-х годов. Как они тогда были интерпретированы?

В соответствии с этой статьей в Википедии, тогда было представление HTML-формы на основе электронной почты, но оно было ненадежным. Это все было? Почему у HTML даже есть формы, если они были бесполезны без скриптов? Или это была ситуация с курицей и яйцом?

Ответ 1

Перед серверными сценариями (PHP, Ruby, node.js) было программирование на стороне сервера.

Одним из исходных интерфейсов между веб-серверами и внутренними процессами был интерфейс Common Gateway (CGI). Это было введено в начале 90-х командой NCSA back-end, в то же время формы были введены в HTML Тимом Бернерс-Ли (который также был в NCSA в то время). Таким образом, формы были введены примерно в то же время, когда был изобретен CGI.

Изначально многие люди писали программы CGI на C. Я был одним из тех, кто должен был сделать это как домашнее задание. Вместо гигантской всеобъемлющей структуры мы написали небольшие C-программы, которые читали из stdin и print to stdout (мы напечатали HTTP-ответ, а не только HTML в соответствии со спецификацией CGI). На веб-сайте было много этих небольших программ, каждый из которых делал одну небольшую вещь и обновлял некоторую базу данных (иногда эта база данных была всего лишь плоским файлом).

Почти сразу же после его появления люди также начали писать сценарии CGI в Perl. Таким образом, между программами C и скриптовыми языками не было никакого периода перехода. Люди просто перестали писать сценарии CGI в C, потому что это было быстрее делать на языках сценариев.

Ответ 2

Серверная сторона всегда была на картинке.

Apache HTTP Server был доступен с 1995 года, а в 1996 году он также имел Поддержка Perl (который использовался в качестве языка программирования на стороне сервера).

JavaScript был созданный в 1996 году, и Netscape был первым браузером, поддерживающим клиентский язык (другие реализации поставщиков браузеров были основаны на работе, которая было сделано в Netscape).

В 1993 году браузер Mosaic выпущен с поддержкой изображений, вложенных списков и форм заполнения.

В принципе - каждый HTTP-сервер, который может обрабатывать запрос и передавать его в какое-либо приложение (независимо от того, на каком языке это приложение записано), является серверным приложением. Он может быть написан на языке сценариев (Perl/Python/PHP/Ruby), высокоуровневом языке (Java/С#), и если вы действительно хотите - даже сборку. Все, что вам нужно сделать, это убедиться, что вы "следуете протоколу".

Ответ 3

JavaScript не был настолько продвинут (ад Ajax еще не вышел). Так что это была чистая серверная сторона. В основном CGI (являющийся Perl) и PHP.

Был также Coldfusion, но не был популярным фаворитом.

В конце концов, в конце 1999 и начале 2000-х годов появились ASP.NET(aspx) и JavaServer Pages (jsp), хотя многие коммерческие сайты использовали aspx и jsp по понятным причинам.

Примечание. Java-апплеты также существовали (в основном, для рендеринга), но их нужно было отдельно загружать и поддерживать браузером.

Ответ 4

Кроме того, я наткнулся на интересную часть истории в Википедии. HTML-формы также могут быть отправлены по электронной почте, используя адрес mailto: в атрибуте target. Кажется, это не популярно, но все равно классно!

Цитата Статья в Википедии:

Поддержка пользовательского агента для отправки HTML-формы по электронной почте с использованием URL-адрес mailto в качестве действия формы был предложен в разделе 5.6 RFC 1867, в эпоху HTML 3.2. Различные веб-браузеры реализовали его вызывая отдельную программу электронной почты или используя свой собственный рудиментарный SMTP возможностей. Хотя он иногда ненадежный, он был ненадолго популярен как простой способ передачи данных формы без привлечения веб-сервера или CGI-скрипты.

И RFC 1867 (ноябрь 1995 года):

5.6 Разрешить форму ACTION как "mailto:"

Независимо от этого предложения, это было бы очень полезно для HTML
интерпретация пользовательских агентов, чтобы позволить ACTION в форме быть URL "mailto:". Это кажется хорошей идеей, с этим или без этого предложение. Аналогично, ACTION для HTML-формы, которая получена через mail должен, вероятно, по умолчанию "отвечать на:" сообщения.
Эти два предложения позволят HTML-формам обслуживаться через HTTP/ серверы, но отправленные обратно по почте или, альтернативно, разрешить HTML-формы
для отправки по почте, заполненной получателями почты, поддерживающей HTML, и результаты отправлены по почте.