В современном Интернете <form>
элемент HTML передается, а затем интерпретируется с помощью сценариев. Либо он интерпретируется серверным языком программирования (обычно PHP), либо интерпретируется клиентским скриптом (почти всегда JavaScript).
Формы существовали еще в начале 90-х. Как их тогда интерпретировали?
Согласно этой статье в Википедии, тогда была отправка HTML-формы по электронной почте, но она была ненадежной. Это все, что было? Почему в HTML были формы, если они были бесполезны без сценариев? Или это была ситуация с курицей и яйцом?
action="mailto:staff@example.com"
которые сообщали веб-браузеру, что нужно запустить почтовый клиент и передать отправленные поля как грубое содержимое нового электронного письма. Никакого программирования, только несколько сотрудников для обработки электронных писем вручную.<ISINDEX>
, который часто был подключен к серверу WAIS .Ответы:
До создания сценариев на стороне сервера (PHP, Ruby, node.js) программирование на стороне сервера существовало.
Одним из первоначальных интерфейсов между веб-серверами и внутренними процессами был Common Gateway Interface (CGI). Он был введен в начале 90-х бэкэнд-командой NCSA одновременно с тем, что формы были введены в HTML Тимом Бернерсом-Ли (который в то время также работал в NCSA). Таким образом, формы были введены примерно в то же время, когда была изобретена CGI.
Изначально многие люди писали программы CGI на C. Я был одним из тех, кому приходилось делать это в качестве домашнего задания. Вместо гигантского всеобъемлющего фреймворка мы написали небольшие программы на C, которые читают из стандартного ввода и выводят на стандартный вывод (мы печатали HTTP-ответ, а не только HTML согласно спецификации CGI). На веб-сайте было множество этих небольших программ, каждая из которых выполняла одну мелочь и обновляла некоторую базу данных (иногда эта база данных была просто плоским файлом).
Почти сразу после его появления люди также начали писать сценарии CGI на Perl. Так что переходного периода между программами на C и языками сценариев действительно не было. Люди просто перестали писать сценарии CGI на C, потому что это было быстрее на языках сценариев.
источник
Серверная сторона всегда была на виду.
Apache HTTP Server был доступен с 1995 года, а в 1996 году он также имел поддержку Perl (который был использован в качестве серверного языка программирования).
JavaScript был создан в 1996 году, и Netscape был первым браузером, поддерживающим клиентский язык (реализации других поставщиков браузеров основывались на работе, проделанной в Netscape).
В 1993 году был выпущен браузер Mosaic с поддержкой изображений, вложенных списков и форм для заполнения.
По сути, каждый HTTP-сервер, который может обрабатывать запрос и передавать его какому-либо приложению (независимо от того, на каком языке написано это приложение) является серверным приложением. Он может быть написан на языке сценариев (Perl / Python / PHP / Ruby), языке высокого уровня (Java / C #) и, если хотите, даже на ассемблере. Все, что вам нужно сделать, это убедиться, что вы «следуете протоколу».
источник
Dave Raggett's competing Internet-Draft, "HTML+ (Hypertext Markup Format)", from late 1993, suggested standardizing already-implemented features like tables and fill-out forms.
ваш последний абзац, описывающий практики до 1995 года?img
Тогда в HTML даже не было встроенных изображений ( ) - автор посчитал это неподходящим для идеи гипертекста; только успех Mosaic / Netscape заставил изменить стандарт.JavaScript не был таким продвинутым (черт возьми, Ajax еще даже не вышел). Так что это была чисто серверная часть. В основном CGI (являющийся Perl) и PHP.
Был еще Coldfusion, но он не пользовался популярностью.
В конце концов, в конце 1999 и начале 2000-х годов появились ASP.NET (aspx) и JavaServer Pages (jsp), хотя многие коммерческие сайты использовали aspx и jsp по очевидным причинам.
Обратите внимание, что Java-апплеты также существовали (в основном для визуализации), но их нужно было отдельно загружать и поддерживать браузером.
источник
htx
шаблонами.Вдобавок я наткнулся на интересную историю в Википедии. HTML-формы также можно отправлять по электронной почте, используя
mailto:
адрес вtarget
атрибуте. Не показалось популярным, но все равно круто!Цитата из статьи в Википедии :
И RFC 1867 (ноябрь 1995 г.):
источник