Bagaimana bentuk HTML ditafsirkan di awal 90-an?

109

Di web modern, <form>elemen HTML dikirimkan dan kemudian diinterpretasikan dengan skrip. Entah itu ditafsirkan oleh bahasa pemrograman sisi server (biasanya PHP) atau ditafsirkan oleh skrip sisi klien (hampir selalu JavaScript).

Bentuk ada bahkan di awal 90-an. Bagaimana mereka ditafsirkan saat itu?

Menurut artikel Wikipedia ini ada pengiriman formulir HTML berbasis email saat itu, tetapi tidak dapat diandalkan. Apakah hanya ini yang ada? Mengapa HTML bahkan memiliki bentuk jika tidak berguna tanpa skrip? Atau situasi semacam ayam dan telur?

James Jones
sumber
25
saya menggunakan perl dengan cgi
67
Selalu ada skrip sisi server
OrangeDog
22
Untuk melengkapi gambar, beberapa formulir awal digunakan action="mailto:[email protected]"yang memberi tahu browser web untuk memulai klien email dan mentransfer kolom yang dikirimkan sebagai konten mentah dari email baru. Nol pemrograman, hanya beberapa staf yang memproses email dengan tangan.
kubanczyk
2
Sebelum formulir, bahkan ada <ISINDEX>, yang sering dicolokkan ke server WAIS .
zwol

Jawaban:

182

Sebelum skrip sisi server (PHP, Ruby, node.js) ada pemrograman sisi server.

Salah satu antarmuka asli antara server web dan proses back-end adalah Common Gateway Interface (CGI). Ini diperkenalkan pada awal 90-an oleh tim back-end NCSA pada saat yang sama formulir diperkenalkan ke HTML oleh Tim Berners-Lee (yang juga di NCSA pada saat itu). Jadi formulir diperkenalkan pada waktu yang kira-kira bersamaan dengan CGI diciptakan.

Awalnya banyak orang menulis program CGI di C. Saya adalah salah satu orang yang harus mengerjakannya sebagai pekerjaan rumah. Alih-alih kerangka kerja raksasa yang mencakup semua, kami menulis program C kecil yang membaca dari stdin dan mencetak ke stdout (kami mencetak respons HTTP, bukan hanya HTML sesuai spesifikasi CGI). Sebuah situs web memiliki banyak program kecil ini, masing-masing melakukan satu hal kecil dan memperbarui beberapa database (terkadang database itu hanya file datar).

Hampir segera setelah diperkenalkan orang juga mulai menulis skrip CGI di Perl. Jadi sebenarnya tidak ada periode transisi antara program C dan bahasa skrip. Orang-orang berhenti menulis skrip CGI di C karena lebih cepat melakukannya dalam bahasa skrip.

slebetman
sumber
4
Jawaban bagus dari Anda dan @Dekel. Jawaban ini dan tautan yang disarankan benar-benar mengisi celah tersebut. Saya tidak bisa tidak bertanya-tanya berapa banyak situs web yang benar-benar repot mengimplementasikan hal-hal ini sebelum teknisi seperti JS, Perl, PHP tersedia untuk skrip web. Tapi itu pertanyaan untuk hari lain.
James Jones
15
@JamesJones, banyak dan banyak dari kita yang melakukannya. Tidak terlalu sulit untuk memulai, meskipun alat untuk meningkatkan aplikasi web yang besar dan berkinerja tinggi masih kurang. Saya membaca Pemrograman CGI di World Wide Web pada akhir tahun 90-an dan mulai menulis semua jenis kode CGI saat remaja.
Dan Lenski
12
Sebenarnya, program CGI dasar sangat mudah untuk ditulis. Cukup cetak beberapa header statis, dan beberapa HTML dengan data Anda yang tersebar. Hanya saja teknologinya (HTML dicampur dengan header yang dicampur dengan kode ...) tidak berskala dengan baik untuk aplikasi yang kompleks. Karenanya kerangka kerja ditemukan ...
sleske
12
Jika Anda masih ingin melihat CGI beraksi, coba jadwal kereta Swiss: sbb.ch - masukkan lokasi keberangkatan dan tujuan - tekan tombol merah - lalu lihat URL di browser, terutama bagian query.exe: -)
theDmi
8
Mengenai "seberapa luasnya": jauh lebih banyak situs web yang sepenuhnya statis saat itu. Tetapi dua bagian dari konten aktif yang umum terlihat adalah "buku tamu" (usang oleh blog / media sosial / spam) dan "penghitung hit".
pjc50
70

Sisi server sebenarnya selalu ada dalam gambar.

The Apache HTTP Server tersedia sejak tahun 1995, dan pada tahun 1996 itu juga memiliki dukungan Perl (yang digunakan sebagai bahasa pemrograman server-side).

JavaScript dibuat pada tahun 1996 dan Netscape adalah browser pertama yang mendukung bahasa sisi klien (implementasi vendor browser lain didasarkan pada pekerjaan yang dilakukan di Netscape).

Pada tahun 1993 browser Mosaic dirilis dengan dukungan untuk gambar, daftar bersarang dan formulir isian.

Pada dasarnya - setiap server HTTP yang dapat menangani permintaan dan meneruskannya ke beberapa aplikasi (tidak peduli dalam bahasa apa aplikasi itu ditulis) adalah aplikasi sisi server. Ini dapat ditulis dalam bahasa skrip (Perl / Python / PHP / Ruby), bahasa tingkat tinggi (Java / C #) dan jika Anda benar-benar ingin - bahkan perakitan. Yang perlu Anda lakukan adalah memastikan Anda "mengikuti protokol".

Dekel
sumber
1
Sejarah yang bagus. Suara positif. Namun, formulir diterapkan sebelum tahun 1995. Saya tidak dapat menentukan kapan, tetapi di en.wikipedia.org/wiki/HTML ada Dave Raggett's competing Internet-Draft, "HTML+ (Hypertext Markup Format)", from late 1993, suggested standardizing already-implemented features like tables and fill-out forms.Apakah paragraf terakhir Anda menjelaskan praktik sebelum 1995?
James Jones
3
@JamesJones: Periksa entri wikipedia di Common Gateway Interface
slebetman
2
@JamesJones, menambahkan beberapa info tentang Mosaic Browser dan mengisi formulir. Anda juga memiliki jawaban yang bagus dari slebetman tentang CGI.
Dekel
1
Standar @JamesJones tidak jelas, dan ini berlaku secara penuh untuk sebagian besar hal di seluruh web (meskipun bukan internet secara keseluruhan). Standar HTML (dan masih) mengerikan, dan setiap orang membuat ekstensi mereka sendiri. Mosaic, Netscape dan Internet Explorer adalah yang paling terkenal - sebagian besar ekstensi mereka ditambahkan ke standar HTML yang lebih baru, dengan Netscape dan IE bekerja sama sedikit dalam hal itu. HTML bahkan tidak memiliki gambar yang disematkan ( img) saat itu - penulis menganggapnya tidak sesuai dengan gagasan hyper-text; hanya keberhasilan Mosaic / Netscape yang memaksa perubahan standar.
Luaan
3
Jawaban ini tidak selalu salah, tetapi saya tidak begitu yakin bagaimana hal-hal yang diperkenalkan setidaknya 2-3 tahun setelah formulir tersedia di browser adalah bukti bahwa selalu ada dukungan sisi server untuk formulir.
8bittree
1

JavaScript belum begitu maju (bahkan Ajax belum keluar). Jadi itu murni sisi server. Kebanyakan CGI (menjadi Perl) dan PHP.

Ada juga Coldfusion tapi bukan favorit yang populer.

Akhirnya, pada akhir 1999 dan awal 2000-an ASP.NET (aspx) dan JavaServer Pages (jsp) keluar, meskipun banyak situs komersial menggunakan aspx dan jsp untuk alasan yang jelas.

Perhatikan, applet Java juga ada (sebagian besar untuk rendering) tetapi harus diunduh dan didukung secara terpisah oleh browser.

tfont
sumber
3
Sebenarnya, saya melakukan program ASP pada awal tahun 1998. Sebelumnya, ada standar MS lain yang disebut htxtemplate.
Little Santi
1
^ terdengar seperti Anda salah satu aslinya! Dulu sobat! : D: D
tfont
1

Selain itu, saya menemukan bagian sejarah yang menarik di Wikipedia. Formulir HTML juga dapat dikirim melalui email, menggunakan mailto:alamat di targetatribut. Sepertinya tidak populer, tapi tetap keren!

Mengutip artikel Wikipedia :

Dukungan agen pengguna untuk pengiriman formulir HTML berbasis email, menggunakan URL 'mailto' sebagai tindakan formulir, telah diusulkan di RFC 1867 bagian 5.6, selama era HTML 3.2. Berbagai browser web menerapkannya dengan menjalankan program email terpisah atau menggunakan kemampuan SMTP mereka sendiri yang belum sempurna. Meskipun terkadang tidak dapat diandalkan, ini sempat populer sebagai cara sederhana untuk mengirimkan data formulir tanpa melibatkan server web atau skrip CGI.

Dan RFC 1867 (November 1995):

5.6 Izinkan bentuk TINDAKAN menjadi "mailto:"

Terlepas dari proposal ini, akan sangat berguna bagi
agen pengguna yang menafsirkan HTML untuk mengizinkan TINDAKAN dalam formulir menjadi
URL "mailto:". Ini sepertinya ide yang bagus, dengan atau tanpa
proposal ini . Demikian pula, TINDAKAN untuk formulir HTML yang diterima melalui email mungkin harus default ke "balas ke:" pada pesan.
Kedua proposal ini akan memungkinkan formulir HTML untuk disajikan melalui
server HTTP tetapi dikirim kembali melalui surat, atau, sebagai alternatif, memungkinkan formulir HTML
untuk dikirim melalui surat, diisi oleh penerima surat yang memahami HTML, dan hasilnya dikirimkan kembali.

Baptiste Candellier
sumber