web-dev-qa-db-fra.com

Comment les formulaires HTML ont-ils été interprétés au début des années 90?

Dans le Web moderne, un HTML <form> l'élément est soumis puis interprété par script. Soit il est interprété par un langage de programmation côté serveur (généralement PHP), soit par un script côté client (presque toujours JavaScript).

Les formes existaient même au début des années 90. Comment ont-ils été interprétés à l'époque?

Selon cet article de Wikipedia , il y avait à l'époque une soumission de formulaire HTML par courrier électronique, mais elle n'était pas fiable. Était-ce tout ce qu'il y avait? Pourquoi HTML avait-il même des formulaires s'ils étaient si inutiles sans script? Ou était-ce une situation de type poulet et œuf?

109
James Jones

Avant les scripts côté serveur (PHP, Ruby, node.js), il y avait une programmation côté serveur.

L'une des interfaces originales entre les serveurs Web et les processus principaux était l'interface CGI (Common Gateway Interface). Il a été introduit au début des années 90 par l'équipe de back-end de la NCSA, au même moment que les formulaires étaient introduits en HTML par Tim Berners-Lee (qui était également à la NCSA à l'époque). Les formes ont donc été introduites à peu près au même moment que l’invention de CGI.

Au début, beaucoup de gens ont écrit les programmes CGI en C. J'étais l'un de ceux qui devaient le faire comme devoir. Au lieu d'un cadre géant englobant tous les domaines, nous avons écrit de petits programmes C lisant stdin et imprimant sur stdout (nous avons imprimé la réponse HTTP, pas seulement le code HTML selon les spécifications CGI). Un site Web avait beaucoup de ces petits programmes, chacun faisant une petite chose et mettant à jour une base de données (parfois, cette base de données n'était qu'un fichier plat).

Presque aussitôt introduit, les utilisateurs ont également commencé à écrire des scripts CGI en Perl. Il n'y avait donc vraiment pas de période de transition entre les programmes C et les langages de script. Les gens ont simplement arrêté d'écrire des scripts CGI en C car il était plus rapide de le faire dans les langages de script.

184
slebetman

Le côté serveur était en fait toujours dans l'image.

Apache HTTP Server était disponible depuis 1995. En 1996, il disposait également de support Perl (utilisé comme langage de programmation côté serveur).

JavaScript était créé en 1996 et Netscape était le premier navigateur prenant en charge le langage côté client (les implémentations des autres fournisseurs de navigateurs étaient basées sur le travail effectué dans Netscape).

En 199 le navigateur Mosaic est disponible avec prise en charge des images, des listes imbriquées et des formulaires à remplir.

Fondamentalement, chaque serveur HTTP pouvant gérer une requête et la transmettre à une application (quelle que soit la langue dans laquelle cette application est écrite) est une application côté serveur. Il peut être écrit en langage de script (Perl/Python/PHP/Ruby), en langage de haut niveau (Java/C #) et, si vous le souhaitez, même en Assembly. Tout ce que vous avez à faire est de vous assurer de "suivre le protocole".

71
Dekel

De plus, je suis tombé sur un morceau d’histoire intéressant sur Wikipedia. Les formulaires HTML pourraient également être envoyés par courrier électronique, en utilisant un mailto: adresse dans l'attribut target. N'a pas semblé être populaire, mais toujours cool!

Citant le article Wikipedia :

La prise en charge par l'agent utilisateur de la soumission de formulaires HTML par courrier électronique, utilisant une URL "mailto" comme action de formulaire, a été proposée dans la RFC 1867, section 5.6, au cours de l'ère HTML 3.2. Différents navigateurs Web l'ont mis en œuvre en appelant un programme de messagerie distinct ou en utilisant leurs propres capacités SMTP rudimentaires. Bien que parfois peu fiable, il s’est brièvement avéré être un moyen simple de transmettre des données de formulaire sans faire appel à un serveur Web ni à des scripts CGI.

Et RFC 1867 (novembre 1995):

5.6 Autoriser le formulaire ACTION à être "mailto:"

Indépendamment de cette proposition, il serait très utile pour HTML
interprétant les agents utilisateurs pour permettre à une ACTION sous une forme d'être une
"mailto:" URL. Cela semble être une bonne idée, avec ou sans cela
proposition. De même, le ACTION pour un formulaire HTML reçu par courrier électronique devrait probablement être défini par défaut sur "reply-to:" du message.
Ces deux propositions permettraient de servir les formulaires HTML via HTTP
serveurs mais renvoyés par courrier, ou bien autoriser les formulaires HTML
doit être envoyé par courrier, rempli par les destinataires de courrier au format HTML, et les résultats renvoyés.

2

JavaScript n'était pas aussi avancé (Ajax n'était pas encore sorti). Donc, c'était pur côté serveur. Principalement CGI (Perl) et PHP.

Il y avait aussi Coldfusion mais n'était pas un favori populaire.

ASP.NET (aspx) et JavaServer Pages (jsp) sont finalement apparus à la fin de 1999 et au début des années 2000, bien que de nombreux sites commerciaux aient utilisé aspx et jsp pour des raisons évidentes.

Remarque: Java existaient également (principalement pour le rendu)) mais devaient être téléchargés séparément et pris en charge par le navigateur.

2
tfont