รูปแบบ HTML ถูกตีความอย่างไรในช่วงต้นทศวรรษที่ 90


109

ในเว็บสมัยใหม่<form>จะมีการส่งองค์ประกอบHTML แล้วตีความโดยการเขียนสคริปต์ ไม่ว่าจะตีความโดยภาษาโปรแกรมฝั่งเซิร์ฟเวอร์ (โดยปกติคือ PHP) หรือตีความโดยสคริปต์ฝั่งไคลเอ็นต์ (JavaScript เกือบตลอดเวลา)

แบบฟอร์มมีอยู่ในช่วงต้นทศวรรษที่ 90 ตอนนั้นพวกเขาตีความอย่างไร?

จากบทความ Wikipedia นี้มีการส่งแบบฟอร์ม HTML ทางอีเมลในตอนนั้น แต่ก็ไม่น่าเชื่อถือ ทั้งหมดนี้มีหรือไม่? เหตุใด HTML จึงมีรูปแบบหากไม่มีประโยชน์โดยไม่ต้องเขียนสคริปต์ หรือเป็นสถานการณ์แบบไก่กับไข่?


25
ฉันใช้ perl กับ cgi

67
มีการเขียนสคริปต์ฝั่งเซิร์ฟเวอร์เสมอ
OrangeDog

22
ในการทำภาพให้เสร็จสมบูรณ์ต้องใช้แบบฟอร์มแรก ๆaction="mailto:staff@example.com"ซึ่งบอกให้เว็บเบราว์เซอร์เริ่มต้นไคลเอนต์อีเมลและโอนฟิลด์ที่ส่งเป็นเนื้อหาหยาบของอีเมลใหม่ การเขียนโปรแกรมเป็นศูนย์มีเพียงพนักงานบางส่วนในการประมวลผลอีเมลด้วยมือ
kubanczyk

2
ก่อนที่จะมีแบบฟอร์มก็มี<ISINDEX>ซึ่งมักจะเสียบเข้ากับเซิร์ฟเวอร์WAIS
zwol

คำตอบ:


182

ก่อนการเขียนสคริปต์ฝั่งเซิร์ฟเวอร์ (PHP, Ruby, node.js) มีการเขียนโปรแกรมฝั่งเซิร์ฟเวอร์

หนึ่งในอินเทอร์เฟซดั้งเดิมระหว่างเว็บเซิร์ฟเวอร์และกระบวนการส่วนหลังคือ Common Gateway Interface (CGI) ได้รับการแนะนำในช่วงต้นทศวรรษที่ 90 โดยทีมงานแบ็คเอนด์ของ NCSA ในเวลาเดียวกันรูปแบบถูกนำเข้าสู่ HTML โดย Tim Berners-Lee (ซึ่งอยู่ที่ NCSA ในเวลานั้นด้วย) ดังนั้นรูปแบบจึงถูกนำมาใช้ในเวลาเดียวกันกับที่มีการคิดค้น CGI

เริ่มแรกมีคนจำนวนมากเขียนโปรแกรม CGI ในภาษา C ฉันเป็นหนึ่งในคนที่ต้องทำเพื่อเป็นการบ้าน แทนที่จะเป็นเฟรมเวิร์กขนาดใหญ่ที่ครอบคลุมทั้งหมดเราเขียนโปรแกรม C ขนาดเล็กที่อ่านจาก stdin และพิมพ์เป็น stdout (เราพิมพ์การตอบสนอง HTTP ไม่ใช่แค่ HTML ตามข้อกำหนด CGI) เว็บไซต์มีโปรแกรมขนาดเล็กจำนวนมากซึ่งแต่ละโปรแกรมทำสิ่งเล็ก ๆ น้อย ๆ และอัปเดตฐานข้อมูลบางส่วน (บางครั้งฐานข้อมูลนั้นเป็นเพียงไฟล์แบบแบน)

เกือบจะทันทีที่มีการแนะนำผู้คนก็เริ่มเขียนสคริปต์ CGI ใน Perl ดังนั้นจึงไม่มีช่วงการเปลี่ยนแปลงระหว่างโปรแกรม C และภาษาสคริปต์ ผู้คนเลิกเขียนสคริปต์ CGI ในภาษา C เพราะทำได้เร็วกว่าในภาษาสคริปต์


4
คำตอบที่ดีจากทั้งคุณและ @Dekel คำตอบและลิงก์ที่แนะนำเหล่านี้เติมเต็มช่องว่าง ฉันอดไม่ได้ที่จะสงสัยว่ามีเว็บไซต์กี่แห่งที่ใส่ใจในการใช้งานสิ่งเหล่านี้ก่อนที่จะมีเทคโนโลยีเช่น JS, Perl, PHP สำหรับการเขียนสคริปต์เว็บ แต่นั่นเป็นคำถามสำหรับวันอื่น
James Jones

15
@JamesJones พวกเรามากมาย การเริ่มต้นใช้งานไม่ใช่เรื่องยากเลยแม้ว่าจะขาดเครื่องมือในการขยายขนาดให้กับเว็บแอปขนาดใหญ่และประสิทธิภาพสูงก็ตาม ฉันอ่านการเขียนโปรแกรม CGI บนเวิลด์ไวด์เว็บในช่วงปลายยุค 90 และเริ่มเขียนโค้ด CGI ทุกประเภทตั้งแต่ยังเป็นวัยรุ่น
Dan Lenski

12
จริงๆแล้วโปรแกรม CGI พื้นฐานนั้นเขียนได้ง่ายมาก เพียงพิมพ์ส่วนหัวแบบคงที่และ HTML บางส่วนที่มีข้อมูลของคุณสลับกัน เป็นเพียงว่าเทคโนโลยี (HTML ผสมกับส่วนหัวผสมกับโค้ด ... ดังนั้นเฟรมเวิร์กจึงถูกคิดค้นขึ้น ...
sleske

12
หากคุณยังต้องการดู CGI ให้ลองใช้ตารางเวลารถไฟของสวิส: sbb.ch - ป้อนสถานที่ออกเดินทางและปลายทาง - กดปุ่มสีแดงจากนั้นดู URL ในเบราว์เซอร์โดยเฉพาะส่วน query.exe: -)
theDmi

8
ในอีกครั้ง "มันแพร่หลายเพียงใด": ในตอนนั้นมีเว็บไซต์จำนวนมากที่หยุดนิ่งโดยสิ้นเชิง แต่เนื้อหาที่ใช้งานอยู่สองส่วนที่พบเห็นได้ทั่วไปคือ "สมุดเยี่ยม" (เลิกใช้โดยบล็อก / โซเชียลมีเดีย / สแปม) และ "ตัวนับจำนวนการเข้าชม"
pjc50

70

ฝั่งเซิร์ฟเวอร์อยู่ในภาพเสมอ

Apache HTTP Serverที่มีอยู่ตั้งแต่ปี 1995 และในปี 1996 ก็ยังมีการสนับสนุน Perl (ซึ่งถูกนำมาใช้เป็นภาษาโปรแกรมที่ฝั่งเซิร์ฟเวอร์)

JavaScript ถูกสร้างขึ้นในปี 1996และ Netscape เป็นเบราว์เซอร์ตัวแรกที่รองรับภาษาฝั่งไคลเอ็นต์ (การใช้งานของผู้จำหน่ายเบราว์เซอร์อื่น ๆ จะขึ้นอยู่กับงานที่ทำใน Netscape)

ในปี 1993เบราว์เซอร์ Mosaic ได้รับการเผยแพร่โดยรองรับรูปภาพรายการที่ซ้อนกันและแบบฟอร์มกรอกข้อมูล

โดยพื้นฐานแล้ว - เซิร์ฟเวอร์ HTTP ทุกตัวที่สามารถจัดการคำขอและส่งต่อไปยังแอปพลิเคชันบางตัว (ไม่ว่าแอปพลิเคชันจะเขียนด้วยภาษาใด) เป็นแอปพลิเคชันฝั่งเซิร์ฟเวอร์ สามารถเขียนด้วยภาษาสคริปต์ (Perl / Python / PHP / Ruby) ภาษาระดับสูง (Java / C #) และถ้าคุณต้องการจริงๆ - แม้แต่แอสเซมบลี สิ่งที่คุณต้องทำคือตรวจสอบให้แน่ใจว่าคุณ "ปฏิบัติตามโปรโตคอล"


1
ประวัติดี. โหวตแล้ว อย่างไรก็ตามมีการใช้แบบฟอร์มก่อนปี 1995 ฉันไม่สามารถสรุปได้ว่าเมื่อใด แต่ในen.wikipedia.org/wiki/HTMLมี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 หรือไม่
James Jones

3
@JamesJones: ตรวจสอบรายการวิกิพีเดียบน Common Gateway Interface
slebetman

2
@JamesJones เพิ่มข้อมูลบางอย่างเกี่ยวกับ Mosaic Browser และแบบฟอร์มกรอกข้อมูล นอกจากนี้คุณยังมีคำตอบที่ยอดเยี่ยมจาก slebetman เกี่ยวกับ CGI
Dekel

1
มาตรฐานของ @JamesJones ไม่ชัดเจนและใช้กับสิ่งต่างๆในเว็บได้อย่างเต็มที่ (แม้ว่าจะไม่ใช่อินเทอร์เน็ตโดยรวม) มาตรฐาน HTML นั้นแย่มาก (และจริงๆแล้วก็ยังคง) แย่และทุกคนก็สร้างส่วนขยายของตัวเอง Mosaic, Netscape และ Internet Explorer เป็นสิ่งที่มีชื่อเสียงมากที่สุด - ส่วนขยายส่วนใหญ่ถูกเพิ่มเข้าไปในมาตรฐาน HTML ในภายหลังโดย Netscape และ IE ทำงานร่วมกันได้ไม่น้อย HTML ไม่ได้มีภาพฝัง ( img) ในตอนนั้น - ผู้เขียนคิดว่าไม่เหมาะสมกับแนวคิดเรื่องไฮเปอร์เท็กซ์ เฉพาะความสำเร็จของ Mosaic / Netscape เท่านั้นที่บังคับให้มีการเปลี่ยนแปลงมาตรฐาน
Luaan

3
คำตอบนี้ไม่จำเป็นต้องผิด แต่ฉันไม่ค่อยแน่ใจว่าสิ่งต่างๆที่นำมาใช้อย่างน้อย 2-3 ปีหลังจากมีแบบฟอร์มในเบราว์เซอร์เป็นหลักฐานว่ามีการสนับสนุนแบบฟอร์มทางฝั่งเซิร์ฟเวอร์มาโดยตลอด
8bittree

1

JavaScript ยังไม่ก้าวหน้านัก (Ajax ยังไม่ออก) ดังนั้นมันจึงเป็นฝั่งเซิร์ฟเวอร์ล้วนๆ CGI ส่วนใหญ่ (เป็น Perl) และ PHP

นอกจากนี้ยังมี Coldfusion แต่ไม่ได้เป็นที่ชื่นชอบ

ในที่สุดเมื่อปลายปี 2542 และต้นปี 2000 ASP.NET (aspx) และ JavaServer Pages (jsp) ก็ออกมาแม้ว่าไซต์เชิงพาณิชย์จำนวนมากใช้ aspx และ jsp ด้วยเหตุผลที่ชัดเจน

หมายเหตุแอพเพล็ต Java ยังมีอยู่ (ส่วนใหญ่สำหรับการแสดงผล) แต่เบราว์เซอร์ต้องดาวน์โหลดและสนับสนุนแยกต่างหาก


3
อันที่จริงฉันทำโปรแกรม ASP เมื่อต้นปี 1998 ก่อนหน้านั้นมีมาตรฐาน MS อื่นที่เรียกว่าhtxเทมเพลต
สันติน้อย

1
^ ดูเหมือนว่าคุณเป็นหนึ่งในต้นฉบับ! นานมาแล้วเพื่อน! : D: D
tfont

1

นอกจากนี้ฉันได้พบกับประวัติศาสตร์ที่น่าสนใจใน Wikipedia นอกจากนี้ยังสามารถส่งแบบฟอร์ม HTML ทางอีเมลโดยใช้ที่mailto:อยู่ในtargetแอตทริบิวต์ ดูเหมือนจะไม่ได้รับความนิยม แต่ก็ยังเจ๋ง!

อ้างถึงบทความ Wikipedia :

การสนับสนุน User-agent สำหรับการส่งแบบฟอร์ม HTML ทางอีเมลโดยใช้ URL 'mailto' เป็นรูปแบบการดำเนินการได้รับการเสนอใน RFC 1867 ส่วน 5.6 ในยุค HTML 3.2 เว็บเบราว์เซอร์ต่างๆใช้งานได้โดยเรียกใช้โปรแกรมอีเมลแยกต่างหากหรือใช้ความสามารถ SMTP พื้นฐานของตนเอง แม้ว่าบางครั้งจะไม่น่าเชื่อถือ แต่ก็เป็นที่นิยมในช่วงสั้น ๆ เนื่องจากเป็นวิธีง่ายๆในการส่งข้อมูลแบบฟอร์มโดยไม่ต้องเกี่ยวข้องกับเว็บเซิร์ฟเวอร์หรือสคริปต์ CGI

และ RFC 1867 (พฤศจิกายน 1995):

5.6 อนุญาตให้ฟอร์ม ACTION เป็น "mailto:"

โดยไม่ขึ้นกับข้อเสนอนี้ข้อเสนอนี้จะมีประโยชน์มากสำหรับ HTML ใน
การตีความตัวแทนผู้ใช้เพื่ออนุญาตให้ ACTION ในรูปแบบเป็น
URL "mailto:" ดูเหมือนจะเป็นความคิดที่ดีไม่ว่าจะมีหรือไม่มี
ข้อเสนอนี้ ในทำนองเดียวกันการดำเนินการสำหรับรูปแบบ HTML ที่ได้รับทางไปรษณีย์น่าจะเป็นค่าเริ่มต้นของ "ตอบกลับ:" ของข้อความ
ข้อเสนอทั้งสองนี้จะอนุญาตให้ใช้รูปแบบ HTML ผ่าน
เซิร์ฟเวอร์HTTP แต่ส่งกลับทางไปรษณีย์หรืออีกทางหนึ่งคืออนุญาตให้
ส่งแบบฟอร์ม HTML ทางไปรษณีย์กรอกโดยผู้รับอีเมลที่รับรู้ HTML และผลลัพธ์ที่ส่งกลับ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.