รันเซิร์ฟเวอร์บนคอมพิวเตอร์ของคุณเอง แล้วเข้าใจว่าทำไมคนอื่นถึงมองไม่เห็นมัน
เปิดบทเรียนนี้ใน Kodokonตอนที่คุณกำลังสร้างเว็บไซต์ คุณคงไม่เผยแพร่มันขึ้นอินเทอร์เน็ตทุกครั้งที่แก้ไขหรอก คุณจะรันเซิร์ฟเวอร์ บนคอมพิวเตอร์ของคุณเอง แล้วเข้าดูมันด้วยเบราว์เซอร์ เครื่องนั้น เครื่องของคุณ มีชื่อที่สงวนไว้ให้: localhost ซึ่งแปลตรงตัวว่า "โฮสต์ท้องถิ่น" มันยังมีที่อยู่ IP ที่สงวนไว้ด้วยคือ 127.0.0.1 ซึ่งหมายถึง "ตัวฉันเอง" เสมอ บนเครื่องไหนก็ตามในโลกนี้
แต่คอมพิวเตอร์เครื่องหนึ่งรันเซิร์ฟเวอร์ได้หลายตัวพร้อมกัน แล้วคุณจะรู้ได้อย่างไรว่ากำลังคุยอยู่กับตัวไหน? ก็ด้วย พอร์ต ไงล่ะ ถ้าที่อยู่ IP คือที่อยู่ของตึก พอร์ตก็คือหมายเลขห้อง: ตัวเลขระหว่าง 1 ถึง 65535 ที่ระบุว่าโปรแกรมไหนควรเป็นคนตอบ บางหมายเลขเป็นธรรมเนียมปฏิบัติ: พอร์ต 80 สำหรับ http และ 443 สำหรับ https ในการพัฒนา เรามักใช้ 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)