अपने ही कंप्यूटर पर एक सर्वर चलाएँ और समझें कि उसे कोई और क्यों नहीं देख सकता।
इस पाठ को Kodokon में खोलेंजब आप कोई साइट बना रहे होते हैं, तो हर एक बदलाव के बाद उसे इंटरनेट पर प्रकाशित नहीं करने जा रहे। आप अपने ही कंप्यूटर पर एक सर्वर चलाते हैं, और अपने ब्राउज़र से उसे देखते हैं। उस मशीन का, यानी आपकी मशीन का, एक आरक्षित नाम है: localhost, अक्षरशः "स्थानीय होस्ट"। इसका एक आरक्षित IP पता भी है, 127.0.0.1, जिसका दुनिया की किसी भी मशीन पर हमेशा मतलब होता है "मैं खुद"।
लेकिन एक कंप्यूटर एक ही समय में कई सर्वर चला सकता है। तो आप कैसे जानेंगे कि आप किससे बात कर रहे हैं? पोर्ट के ज़रिए। अगर IP पता इमारत का पता है, तो पोर्ट फ़्लैट का नंबर है: 1 और 65535 के बीच की एक संख्या जो बताती है कि जवाब कौन सा प्रोग्राम देगा। कुछ पोर्ट तय परंपरा से हैं: http के लिए पोर्ट 80, https के लिए 443। डेवलपमेंट में हम अक्सर 3000, 5173 या 8000 इस्तेमाल करते हैं। पोर्ट नाम के बाद, कोलन से अलग करके लिखा जाता है: http://localhost:8000।
cd my-site
python3 -m http.server 8000
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...उस टर्मिनल विंडो को खुला छोड़ दीजिए: जब तक कमांड चल रही है, सर्वर जवाब देता रहता है। अब अपने ब्राउज़र में http://localhost:8000 खोलिए, और आपको my-site फ़ोल्डर की फ़ाइलें दिखेंगी। सर्वर रोकने के लिए, टर्मिनल में वापस जाइए और Ctrl + C दबाइए।
इतनी मेहनत करने की ज़रूरत ही क्या है, जब index.html पर डबल-क्लिक करने से भी पेज खुल जाता है? क्योंकि डबल-क्लिक फ़ाइल को file:///C:/Users/... पते पर खोलता है, http:// पर नहीं। और वेब की कई सुविधाएँ http प्रोटोकॉल के बाहर काम करने से साफ़ मना कर देती हैं: सर्वर को भेजे जाने वाले अनुरोध, JavaScript मॉड्यूल, कुछ फ़ॉन्ट। आपको ऐसी उलझाने वाली त्रुटियाँ मिलेंगी जो localhost से गुज़रते ही जादू की तरह गायब हो जाती हैं।
lsof -i :8000
COMMAND PID USER FD TYPE NODE NAME
python3 4821 sarah 3u IPv4 TCP *:8000 (LISTEN)