90 के दशक की शुरुआत में HTML फॉर्म की व्याख्या कैसे की गई थी?


109

आधुनिक वेब में एक HTML <form>तत्व प्रस्तुत किया जाता है और फिर स्क्रिप्टिंग द्वारा व्याख्या की जाती है। या तो यह एक सर्वर साइड प्रोग्रामिंग भाषा (आमतौर पर PHP) द्वारा व्याख्या की जाती है या इसकी व्याख्या क्लाइंट साइड स्क्रिप्ट (लगभग हमेशा जावास्क्रिप्ट) द्वारा की जाती है।

90 के दशक की शुरुआत में भी फॉर्म मौजूद थे। फिर उनकी व्याख्या कैसे की गई?

इस विकिपीडिया लेख के अनुसार एक ईमेल आधारित HTML फॉर्म सबमिशन था, लेकिन यह अविश्वसनीय था। क्या यह सब कुछ था? यदि स्क्रिप्टिंग के बिना वे बेकार थे तो HTML में भी फॉर्म क्यों थे? या यह एक चिकन और अंडे की स्थिति थी?


25
मैं cgi के साथ पर्ल का उपयोग करता था

67
हमेशा सर्वर-साइड स्क्रिप्टिंग होती थी
ऑरेंजडॉग

22
तस्वीर को पूरा करने के लिए, कुछ शुरुआती रूपों का इस्तेमाल किया गया, action="mailto:staff@example.com"जो एक वेब ब्राउज़र को एक ई-मेल क्लाइंट शुरू करने और एक नए ई-मेल के कच्चे माल के रूप में सबमिट किए गए फ़ील्ड्स को स्थानांतरित करने के लिए कहते थे। शून्य प्रोग्रामिंग, ई-मेल को हाथ से संसाधित करने के लिए सिर्फ कुछ कर्मचारी।
kubanczyk

2
रूपों से पहले, यहां तक ​​कि, वहाँ था <ISINDEX>, जो अक्सर एक WAIS सर्वर में प्लग किया गया था ।
zwol

जवाबों:


182

सर्वर साइड स्क्रिप्टिंग (PHP, Ruby, node.js) से पहले सर्वर साइड प्रोग्रामिंग थी।

वेब सर्वर और बैक-एंड प्रक्रियाओं के बीच मूल इंटरफेस में से एक कॉमन गेटवे इंटरफेस (CGI) था। यह 90 के दशक की शुरुआत में NCSA बैक-एंड टीम द्वारा उसी समय के रूप में पेश किया गया था, जिसे टिम बर्नर्स-ली (जो उस समय NCSA में भी था) द्वारा HTML में पेश किया गया था। तो उसी समय सीजीआई का आविष्कार किया गया था।

प्रारंभ में बहुत से लोगों ने सीजीआई के कार्यक्रमों को लिखा था। सी। मैं उन लोगों में से एक था जिन्हें होमवर्क असाइनमेंट के रूप में ऐसा करना था। एक विशाल सर्वव्यापी ढाँचे के बजाय हमने छोटे सी प्रोग्राम लिखे जो स्टडिन और प्रिंट से स्टडआउट तक पढ़े (हमने HTTP प्रतिक्रिया छापी, न कि केवल HTML सीजीआई युक्ति के अनुसार)। एक वेबसाइट के पास इन छोटे कार्यक्रमों में से प्रत्येक में एक छोटी सी चीज होती थी और कुछ डेटाबेस को अपडेट किया जाता था (कभी-कभी वह डेटाबेस केवल एक सपाट फ़ाइल थी)।

लगभग जैसे ही इसे पेश किया गया लोगों ने भी पर्ल में सीजीआई स्क्रिप्ट लिखना शुरू कर दिया। इसलिए सी कार्यक्रमों और स्क्रिप्टिंग भाषाओं के बीच वास्तव में कोई संक्रमण काल ​​नहीं था। लोगों ने बस सी में सीजीआई स्क्रिप्ट लिखना बंद कर दिया क्योंकि यह स्क्रिप्टिंग भाषाओं में ऐसा करने के लिए तेज़ था।


4
आप और @Dekel दोनों से शानदार जवाब। ये उत्तर और सुझाए गए लिंक वास्तव में अंतर भरते हैं। मैं मदद नहीं कर सकता, लेकिन आश्चर्य है कि वेब, स्क्रिप्टिंग के लिए जेएस, पर्ल, पीएचपी जैसे टेक से पहले कितनी वेबसाइटें वास्तव में इस सामान को लागू करने से परेशान थीं। लेकिन यह एक और दिन के लिए एक सवाल है।
जेम्स जोन्स

15
@JamesJones, बहुत सारे और बहुत सारे हमने किया। आरंभ करने के लिए यह सब कठिन नहीं था, हालांकि बड़े और उच्च प्रदर्शन करने वाले वेब ऐप में बड़े पैमाने पर उपकरण की कमी थी। मैंने 90 के दशक के उत्तरार्ध में वर्ल्ड वाइड वेब पर सीजीआई प्रोग्रामिंग पढ़ा और एक किशोर के रूप में सभी प्रकार के सीजीआई कोड लिखना शुरू कर दिया।
दान लैंस्की

12
दरअसल, एक मूल सीजीआई कार्यक्रम लिखना बहुत आसान है। बस कुछ स्थैतिक हेडर, और कुछ HTML को आपके डेटा के साथ मिलाया गया है। यह सिर्फ इतना है कि तकनीक (HTML कोड के साथ हेडर के साथ मिश्रित ...) जटिल अनुप्रयोगों के लिए अच्छी तरह से पैमाने पर नहीं है। इसलिए चौखटे का आविष्कार किया गया ...
सिल्क्स

12
यदि आप अभी भी CGI को कार्रवाई में देखना चाहते हैं, तो स्विस रेलवे की समय सारिणी देखें: sbb.ch - एक प्रस्थान और गंतव्य स्थान दर्ज करें - लाल बटन दबाएं - फिर ब्राउज़र में URL पर एक नज़र डालें, विशेष रूप से query.exe भाग: -)
theDmi

8
फिर से "यह कितना व्यापक था": ठीक है, अभी तक अधिक वेबसाइटें पूरी तरह से स्थिर थीं। लेकिन सक्रिय सामग्री के दो सामान्य रूप से देखे जाने वाले बिट्स "गेस्टबुक" (ब्लॉग्स / सोशल मीडिया / स्पैम द्वारा आबंटित) और "हिट काउंटर" थे।
pjc50

70

सर्वर साइड वास्तव में हमेशा तस्वीर में था।

अपाचे HTTP सर्वर 1995 के बाद से उपलब्ध था, और 1996 में यह भी था पर्ल समर्थन (जो एक सर्वर साइड प्रोग्रामिंग भाषा के रूप में इस्तेमाल किया गया था)।

जावास्क्रिप्ट 1996 में बनाया गया था और नेटस्केप क्लाइंट-साइड भाषा का समर्थन करने वाला पहला ब्राउज़र था (अन्य ब्राउज़र विक्रेताओं के कार्यान्वयन नेटस्केप में किए गए काम पर आधारित थे)।

1993 में मोज़ेक ब्राउज़र को छवियों, नेस्टेड सूचियों और भरने के फॉर्म के समर्थन के साथ जारी किया गया है।

मूल रूप से - प्रत्येक HTTP सर्वर जो अनुरोध को संभाल सकता है और इसे कुछ एप्लिकेशन को पास कर सकता है (कोई फर्क नहीं पड़ता कि आवेदन किस भाषा में लिखा गया है) सर्वर-साइड एप्लिकेशन है। यह पटकथा भाषा (पर्ल / पायथन / पीएचपी / रूबी), उच्च-स्तरीय भाषा (जावा / सी #) में लिखी जा सकती है और यदि आप वास्तव में चाहते हैं - यहां तक ​​कि विधानसभा भी। आपको केवल यह सुनिश्चित करने की ज़रूरत है कि आप "प्रोटोकॉल का पालन करें"।


1
अच्छा इतिहास है। Upvoted। हालांकि, रूपों 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 से पहले प्रथाओं का वर्णन है?
जेम्स जोन्स

3
@JamesJones: कॉमन गेटवे इंटरफेस पर विकिपीडिया प्रविष्टि की जाँच करें
स्लीबेटमैन

2
@JamesJones, मोज़ेक ब्राउज़र और भरण फ़ॉर्म के बारे में कुछ जानकारी जोड़ी। आपके पास सीजीआई के बारे में स्लीवमैन द्वारा एक शानदार उत्तर है।
डेकेल

1
@JamesJones मानक स्पष्ट-कट नहीं हैं, और यह वेब के चारों ओर अधिकांश चीज़ों पर लागू होता है (हालांकि संपूर्ण रूप से इंटरनेट नहीं)। HTML मानक (और वास्तव में, अभी भी है) भयानक था, और सभी ने अपने स्वयं के एक्सटेंशन बनाए। मोज़ेक, नेटस्केप और इंटरनेट एक्सप्लोरर सबसे कुख्यात थे - उनके अधिकांश एक्सटेंशन बाद में HTML मानकों में जोड़े गए, नेटस्केप और IE उस पर काफी थोड़ा सह रहे थे। HTML में तब भी एंबेडेड इमेजेज नहीं थे ( img) तब - लेखक ने हाइपर-टेक्स्ट के विचार के अनुरूप माना; केवल मोज़ेक / नेटस्केप की सफलता ने मानक में परिवर्तन को मजबूर किया।
लुआॅन

3
यह उत्तर आवश्यक रूप से गलत नहीं है, लेकिन मुझे यकीन नहीं है कि ब्राउज़र में फॉर्म उपलब्ध होने के बाद कम से कम 2-3 साल पहले पेश की गई चीजें इस बात का सबूत हैं कि फॉर्म के लिए हमेशा सर्वर-साइड का समर्थन रहा है।
8bittree

1

जावास्क्रिप्ट इतना अग्रिम नहीं था (नरक अजाक्स अभी तक बाहर नहीं था)। तो यह शुद्ध सर्वर-साइड था। अधिकतर सीजीआई (पर्ल) और पीएचपी।

कोल्डफ्यूज़न भी था लेकिन एक लोकप्रिय पसंदीदा नहीं था।

आखिरकार, 1999 के अंत में और 2000 के दशक के प्रारंभ में ASP.NET (aspx) और JavaServer Pages (jsp) सामने आए, हालाँकि बहुत से वाणिज्यिक साइटों ने स्पष्ट कारणों के लिए aspx और jsp का उपयोग किया।

ध्यान दें, जावा एप्लेट्स भी मौजूद थे (ज्यादातर हालांकि प्रतिपादन के लिए), लेकिन ब्राउज़र द्वारा अलग से डाउनलोड और समर्थित होना चाहिए था।


3
दरअसल, मैंने 1998 की शुरुआत तक प्रोग्राम एएसपी किया था। इससे पहले, एक और एमएस मानक था जिसे htxटेम्प्लेट कहा जाता था ।
छोटी संटी

1
^ लगता है कि आप मूल में से एक थे! बहुत समय पहले दोस्त! : D: D
१२:१६ पर

1

इसके अतिरिक्त, मैंने विकिपीडिया पर इतिहास के एक दिलचस्प टुकड़े पर ठोकर खाई। HTML फॉर्म को ई-मेल द्वारा भी भेजा जा सकता है, mailto:जो targetविशेषता में एक पते का उपयोग करता है। लोकप्रिय नहीं लग रहा था, लेकिन अभी भी अच्छा है!

विकिपीडिया लेख का हवाला देते हुए :

ईमेल आधारित HTML फॉर्म सबमिशन के लिए यूजर-एजेंट का समर्थन, फॉर्म एक्शन के रूप में 'mailto' URL का उपयोग करके, HTML 3.2 के दौरान RFC 1867 सेक्शन 5.6 में प्रस्तावित किया गया था। विभिन्न वेब ब्राउज़रों ने इसे एक अलग ईमेल प्रोग्राम को लागू करके या अपनी स्वयं की अल्पविकसित एसएमटीपी क्षमताओं का उपयोग करके लागू किया। यद्यपि कभी-कभी अविश्वसनीय होते हैं, यह वेब सर्वर या सीजीआई लिपियों को शामिल किए बिना फॉर्म डेटा संचारित करने के लिए एक सरल तरीका के रूप में संक्षिप्त रूप से लोकप्रिय था।

और RFC 1867 (नवंबर 1995):

५.६ प्रपत्र कार्रवाई को "मेलआउट:" होने दें।

इस प्रस्ताव के स्वतंत्र, यह HTML के लिए बहुत उपयोगी होगा कि
उपयोगकर्ता एजेंटों को
"mailto:" URL के रूप में एक कार्रवाई की अनुमति दें । यह एक अच्छा विचार लगता है, इस
प्रस्ताव के साथ या इसके बिना । इसी तरह, एक HTML फॉर्म के लिए जो मेल के माध्यम से प्राप्त होता है, वह कार्रवाई संभवतः संदेश के "उत्तर-से:" के लिए डिफ़ॉल्ट होनी चाहिए।
ये दो प्रस्ताव एचटीएमएल फॉर्म को एचटीटीपी
सर्वरों के माध्यम से सेवा करने की अनुमति देते हैं, लेकिन मेल के माध्यम से वापस भेजा जाता है, या, वैकल्पिक रूप से, एचटीएमएल रूपों
को मेल से भेजने की अनुमति देता है , एचटीएमएल-जागरूक मेल प्राप्तकर्ताओं द्वारा भरा जाता है, और परिणाम वापस मेल किया जाता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.