Come venivano interpretati i moduli HTML nei primi anni '90?


109

Nel Web moderno <form>viene inviato un elemento HTML e quindi interpretato tramite script. O è interpretato da un linguaggio di programmazione lato server (solitamente PHP) o è interpretato da uno script lato client (quasi sempre JavaScript).

Le forme esistevano anche nei primi anni '90. Come venivano interpretati allora?

Secondo questo articolo di Wikipedia , all'epoca c'era un modulo HTML basato su e-mail, ma non era affidabile. Era tutto quello che c'era? Perché l'HTML aveva anche dei moduli se erano così inutili senza script? O era una specie di gallina e uova?


25
ho usato perl con cgi

67
C'era sempre scripting lato server
OrangeDog

22
Per completare il quadro, sono stati utilizzati alcuni primi moduli action="mailto:staff@example.com"che indicavano a un browser web di avviare un client di posta elettronica e trasferire i campi inviati come contenuti grezzi di una nuova e-mail. Zero programmazione, solo un po 'di personale per elaborare manualmente le e-mail.
kubanczyk

2
Prima dei moduli, anche, c'era <ISINDEX>, che era spesso collegato a un server WAIS .
zwol

Risposte:


182

Prima dello scripting lato server (PHP, Ruby, node.js) c'era la programmazione lato server.

Una delle interfacce originali tra server web e processi di back-end era la Common Gateway Interface (CGI). È stato introdotto all'inizio degli anni '90 dal team di back-end dell'NCSA nello stesso momento in cui i moduli sono stati introdotti in HTML da Tim Berners-Lee (che all'epoca era anche all'NCSA). Quindi i moduli sono stati introdotti all'incirca nello stesso periodo in cui è stato inventato il CGI.

Inizialmente molte persone scrivevano programmi CGI in C. Io ero uno di quelli che dovevano farlo come compito a casa. Invece di un gigantesco framework onnicomprensivo, abbiamo scritto piccoli programmi C che leggono da stdin e stampano su stdout (abbiamo stampato la risposta HTTP, non solo l'HTML secondo le specifiche CGI). Un sito web aveva molti di questi piccoli programmi, ciascuno che faceva una piccola cosa e aggiornava alcuni database (a volte quel database era solo un file flat).

Non appena è stato introdotto, le persone hanno anche iniziato a scrivere script CGI in Perl. Quindi non c'è stato davvero alcun periodo di transizione tra i programmi C e i linguaggi di scripting. Le persone hanno semplicemente smesso di scrivere script CGI in C perché era più veloce farlo nei linguaggi di scripting.


4
Ottima risposta sia da te che da @Dekel. Queste risposte ei link suggeriti colmano davvero il vuoto. Non posso fare a meno di chiedermi quanti siti web si siano effettivamente preoccupati di implementare qualsiasi di queste cose prima che tecnologie come JS, Perl, PHP fossero disponibili per lo scripting web. Ma questa è una domanda per un altro giorno.
James Jones,

15
@JamesJones, molti di noi lo hanno fatto. Non è stato poi così difficile iniziare, anche se mancavano gli strumenti per scalare fino ad applicazioni web di grandi dimensioni e ad alte prestazioni. Ho letto Programmazione CGI sul World Wide Web alla fine degli anni '90 e ho iniziato a scrivere tutti i tipi di codice CGI da adolescente.
Dan Lenski

12
In realtà, un programma CGI di base è molto facile da scrivere. Basta stampare alcune intestazioni statiche e un po 'di HTML con i tuoi dati intervallati. È solo che la tecnologia (HTML mescolato con intestazioni mescolate con codice ...) non si adatta bene alle applicazioni complesse. Quindi i quadri sono stati inventati ...
sleske

12
Se vuoi ancora vedere CGI in azione, prova l'orario ferroviario svizzero: ffs.ch - inserisci una posizione di partenza e di destinazione - premi il pulsante rosso - quindi dai un'occhiata all'URL nel browser, in particolare la parte query.exe: -)
theDmi

8
Riguardo a "quanto era diffuso": beh, allora molti più siti web erano completamente statici. Ma i due bit di contenuto attivo comunemente visti erano "guestbook" (obsoleti da blog / social media / spam) e "hit counter".
pjc50

70

Il lato server era in realtà sempre nella foto.

L' Apache HTTP Server era disponibile dal 1995 e nel 1996 aveva anche il supporto Perl (che era usato come linguaggio di programmazione lato server).

JavaScript è stato creato nel 1996 e Netscape è stato il primo browser a supportare il linguaggio lato client (le implementazioni di altri fornitori di browser erano basate sul lavoro svolto in Netscape).

Nel 1993 viene rilasciato il browser Mosaic con supporto per immagini, elenchi annidati e moduli da compilare.

Fondamentalmente, ogni server HTTP in grado di gestire la richiesta e passarla a qualche applicazione (indipendentemente dalla lingua in cui è scritta l'applicazione) è un'applicazione lato server. Può essere scritto in linguaggio di scripting (Perl / Python / PHP / Ruby), linguaggio di alto livello (Java / C #) e, se lo si desidera, anche assembly. Tutto quello che devi fare è assicurarti di "seguire il protocollo".


1
Buona storia. Upvoted. Tuttavia, i moduli sono stati implementati prima del 1995. Non riesco a capire quando, ma in en.wikipedia.org/wiki/HTML 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.Il tuo ultimo paragrafo che descrive le pratiche prima del 1995?
James Jones,

3
@JamesJones: controlla la voce di wikipedia su Common Gateway Interface
slebetman

2
@JamesJones, ha aggiunto alcune informazioni sul browser Mosaic e sui moduli di compilazione. Hai anche un'ottima risposta da Slebetman riguardo alla CGI.
Dekel

1
@JamesJones Gli standard non sono chiari e si applicano pienamente alla maggior parte delle cose sul Web (anche se non a Internet nel suo insieme). Lo standard HTML era (e lo è ancora) orribile e ognuno ha creato le proprie estensioni. Mosaic, Netscape e Internet Explorer erano i più noti: la maggior parte delle loro estensioni furono aggiunte agli standard HTML successivi, con Netscape e IE che collaborarono parecchio su questo. All'epoca l'HTML non aveva nemmeno immagini incorporate ( img) - l'autore lo considerava inadatto all'idea dell'ipertesto; solo il successo di Mosaic / Netscape ha imposto il cambiamento nello standard.
Luaan

3
Questa risposta non è necessariamente sbagliata, ma non sono del tutto sicuro di come le cose introdotte almeno 2-3 anni dopo che i moduli fossero disponibili nel browser dimostrino che c'è sempre stato supporto lato server per i moduli.
8bittree

1

JavaScript non era così avanzato (diavolo Ajax non era ancora uscito). Quindi era puro lato server. Principalmente CGI (essendo Perl) e PHP.

C'era anche Coldfusion ma non era un favorito popolare.

Alla fine, alla fine del 1999 e all'inizio degli anni 2000 ASP.NET (aspx) e JavaServer Pages (jsp) sono usciti, sebbene molti siti commerciali usassero aspx e jsp per ovvie ragioni.

Nota, esistevano anche applet Java (principalmente per il rendering) ma dovevano essere scaricate separatamente e supportate dal browser.


3
In realtà, ho programmato ASP all'inizio del 1998. Prima di allora, c'era un altro standard MS chiamato htxmodelli.
Little Santi

1
^ sembra che tu fossi uno degli originali! Molto tempo fa amico! : D: D
fino al

1

Inoltre, mi sono imbattuto in un interessante pezzo di storia su Wikipedia. I moduli HTML possono anche essere inviati tramite e-mail, utilizzando un mailto:indirizzo targetnell'attributo. Non sembrava essere popolare, ma comunque interessante!

Citando l' articolo di Wikipedia :

Il supporto dell'agente utente per l'invio di moduli HTML basati su e-mail, utilizzando un URL "mailto" come azione del modulo, è stato proposto nella sezione 5.6 della RFC 1867, durante l'era HTML 3.2. Vari browser Web lo hanno implementato invocando un programma di posta elettronica separato o utilizzando le proprie funzionalità SMTP rudimentali. Sebbene a volte inaffidabile, è stato brevemente popolare come un modo semplice per trasmettere i dati dei moduli senza coinvolgere un server Web o script CGI.

E RFC 1867 (novembre 1995):

5.6 Consenti al modulo ACTION di essere "mailto:"

Indipendentemente da questa proposta, sarebbe molto utile per l'
interpretazione dei programmi utente HTML consentire a ACTION in una forma di essere un
URL "mailto:". Sembra una buona idea, con o senza questa
proposta. Allo stesso modo, l'ACTION per un modulo HTML ricevuto tramite posta dovrebbe probabilmente essere il valore predefinito "reply-to:" del messaggio.
Queste due proposte consentirebbero di fornire moduli HTML tramite
server HTTP ma di rispedirli via posta o, in alternativa, consentirebbero l'
invio di moduli HTML per posta, la compilazione da parte di destinatari di posta compatibili con HTML e l'invio dei risultati.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.