आपकी चुनौती एक कोड-गोल्फ HTTP सर्वर लिखना है जो GET अनुरोधों को स्वीकार करता है। यह स्पष्ट रूप से पूरी तरह से चित्रित नहीं किया जाना है, लेकिन यह एक निर्देशिका से फ़ाइलों की सेवा करना चाहिए।
नियम:
- HTTP सर्वर को TCP पोर्ट 36895 (0x901F) पर सुनना चाहिए
- इसे
/var/www* NIX सिस्टम (जैसे लिनक्स), याC:\hgolfविंडोज पर से फ़ाइलों की सेवा करनी चाहिए । - आप
GETस्वयं को छोड़कर सभी आने वाले HTTP हेडर को अनदेखा कर सकते हैं । - अगर HTTP तरीका GET नहीं है, तो आपको "405 Not Supported" का एक स्टेटस कोड और "405 Not Supported" का बॉडी वापस भेजना होगा।
- यदि फ़ाइल मौजूद नहीं है, तो आपको "404 फ़ाइल नहीं मिला" का एक स्थिति कोड और "404 फ़ाइल मिला" का एक शरीर वापस भेजना होगा।
- यदि फ़ाइल मौजूद है, लेकिन किसी कारण से पढ़ा नहीं जा सका, तो आपको "500 सर्वर त्रुटि" और "500 सर्वर त्रुटि" का एक निकाय कोड वापस भेजना होगा।
- यदि उपयोगकर्ता अनुरोध करता है
/या किसी अन्य मौजूदा निर्देशिका रूट (जैसे/foo/जहां एक निर्देशिकाfooमौजूद है/var/www/), तो एक खाली पृष्ठ के साथ जवाब दें। - फ़ायरफ़ॉक्स 8.0 और इंटरनेट एक्सप्लोरर 8.0 पर सामग्री को प्रदर्शित करने की अनुमति देने के लिए आपकी प्रतिक्रिया में कम से कम न्यूनतम हेडर होना चाहिए
- आप के साथ जवाब चाहिए
Content-Typeहैडर सेट, लेकिन आप केवल समर्थन एक्सटेंशन के लिए हैhtml => text/htmlऔरtxt => text/plain। किसी भी अन्य फ़ाइल एक्सटेंशन के लिए,application/octet-streamसामग्री प्रकार के रूप में भेजें । - आपका कोड ASCII और बाइनरी डेटा दोनों को स्थानांतरित करने में सक्षम होना चाहिए, हालांकि आपको स्पष्ट रूप से दोनों के बीच अंतर नहीं करना है।
- आप 3 पार्टी पुस्तकालयों का उपयोग नहीं कर सकते हैं।
- आप HTTP अनुरोधों को संसाधित करने के लिए डिज़ाइन किए गए इन-बिल्ट वर्ग या सुविधाओं का उपयोग नहीं कर सकते हैं (जैसे
HttpListenerC # में) - यदि आपका कोड आपके द्वारा उपयोग किए गए सॉकेट APIs के कारण केवल एक विशिष्ट OS पर काम करेगा, तो कृपया इसे बताएं।
समाधान में एक छवि दिखाई जानी चाहिए जो HTML पृष्ठ को एक ब्राउज़र में दिखाती है।
यदि आपको कोई प्रश्न मिला है, तो कृपया बेझिझक पूछें! :)
httpNode.js ठीक में मॉड्यूल?












..परिभाषित दस्तावेज़ रूट से बाहर निकलने के मार्ग के रूप में अनुमति देंगे )।