ข้ามไปเนื้อหาหลัก
สารบัญคู่มือ · บทที่ 3 จาก 11

เว็บทำงานยังไง

บทที่ 3 จาก 11 · อ่านราว 10 นาที · อัปเดต 9 ตุลาคม 2569 · ระดับเริ่มต้น

สรุปใน 3 บรรทัด

อ่านจบแล้วคุณจะ

  • เล่าได้ว่าเกิดอะไรขึ้นตั้งแต่พิมพ์ชื่อเว็บจนเห็นหน้าเว็บ
  • แยกได้ว่าอะไรทำงานในเบราว์เซอร์ และอะไรทำงานบนเซิร์ฟเวอร์
  • เปิดดูคำขอที่เกิดขึ้นจริงด้วยเครื่องมือในเบราว์เซอร์

เว็บคือร้านอาหาร

ภาพที่ช่วยให้เข้าใจง่ายที่สุดคือร้านอาหาร

ในร้านอาหารในโลกของเว็บทำหน้าที่อะไร
ลูกค้าที่โต๊ะเบราว์เซอร์สั่งของ และแสดงสิ่งที่ได้รับ
ใบสั่งอาหารrequestบอกว่าต้องการอะไร
ห้องครัวเซิร์ฟเวอร์เตรียมคำตอบตามที่สั่ง
ห้องเก็บวัตถุดิบฐานข้อมูลเก็บข้อมูลไว้ถาวร
จานอาหารที่เสิร์ฟresponseสิ่งที่ส่งกลับไปให้ลูกค้า

ลูกค้าไม่ได้เดินเข้าไปหยิบของในครัวเอง ทุกอย่างผ่านการสั่งและการเสิร์ฟ เว็บก็เป็นแบบนั้น

จากพิมพ์ชื่อเว็บจนเห็นหน้าเว็บ

ลองดูว่าเกิดอะไรขึ้นเมื่อพิมพ์ milerdev.com แล้วกด Enter

  1. เบราว์เซอร์ถามระบบ DNS ว่าชื่อนี้อยู่ที่เครื่องไหน DNS เหมือนสมุดรายชื่อที่แปลงชื่อเว็บเป็นที่อยู่ของเครื่อง (IP address)
  2. เบราว์เซอร์ส่ง request ไปที่เครื่องนั้น ผ่าน HTTPS ซึ่งเข้ารหัสไว้ ระหว่างทางไม่มีใครอ่านได้
  3. เซิร์ฟเวอร์เตรียมคำตอบ บางครั้งต้องไปดึงข้อมูลจากฐานข้อมูล เช่น รายชื่อคอร์ส
  4. เซิร์ฟเวอร์ส่ง response กลับมาเป็นไฟล์ HTML
  5. เบราว์เซอร์อ่าน HTML แล้วพบว่าต้องใช้ไฟล์อื่นด้วย เช่น CSS JavaScript และรูปภาพ จึงส่ง request ตามไปขออีกหลายรอบ
  6. เมื่อได้ครบ เบราว์เซอร์วาดหน้าเว็บให้เราเห็น

ทั้งหมดนี้มักเกิดขึ้นในเวลาไม่ถึงหนึ่งวินาที

HTML, CSS และ JavaScript

ส่วนหน้าที่เปรียบเหมือน
HTMLโครงและเนื้อหา เช่น หัวข้อ ย่อหน้า ปุ่มโครงบ้าน
CSSหน้าตา เช่น สี ขนาด ตำแหน่งสีทาบ้านและการตกแต่ง
JavaScriptการทำงาน เช่น กดปุ่มแล้วเกิดอะไรขึ้นระบบไฟและประตูอัตโนมัติ

ตัวอย่าง HTML สั้น ๆ ที่สร้างหัวข้อหนึ่งอันและปุ่มหนึ่งปุ่ม

<h1>รายการที่ต้องทำ</h1>
<button>เพิ่มรายการ</button>

เบราว์เซอร์กับเซิร์ฟเวอร์ ทำอะไรต่างกัน

นี่คือเรื่องที่สำคัญที่สุดในบทนี้ โค้ดที่ทำงานในเบราว์เซอร์อยู่ในเครื่องของผู้ใช้ ผู้ใช้เปิดดูและแก้ไขได้ เหมือนลูกค้าแก้ราคาบนใบสั่งอาหารที่อยู่บนโต๊ะได้ แต่แก้ราคาในครัวไม่ได้

ที่ไหนเหมาะกับงานอะไรห้ามใช้ทำอะไร
เบราว์เซอร์แสดงผล ตอบสนองเมื่อกด ตรวจรูปแบบข้อมูลเบื้องต้นให้ผู้ใช้เห็นเร็ว ๆตัดสินเรื่องเงินหรือสิทธิ์ เก็บรหัสลับ
เซิร์ฟเวอร์ตรวจสิทธิ์ คิดราคา บันทึกคำสั่งซื้อส่งรหัสลับหรือข้อมูลของคนอื่นกลับไปให้เบราว์เซอร์
ฐานข้อมูลเก็บข้อมูลถาวร เช่น บัญชีและการชำระเงินไม่ควรเปิดให้เบราว์เซอร์คุยด้วยตรง ๆ

ลองเปิดดู request จริง

เบราว์เซอร์มีแท็บชื่อ Network ที่แสดงทุก request ที่เกิดขึ้น ลองเปิดเว็บไหนก็ได้ กด F12 เลือกแท็บ Network แล้วกดรีเฟรชหน้า

ตรวจผลยังไง

ตัวเลขสถานะที่เจอบ่อย

สถานะความหมาย
200สำเร็จ
301, 302ย้ายไปที่อยู่อื่น เบราว์เซอร์จะตามไปเอง
404ไม่พบสิ่งที่ขอ
500เซิร์ฟเวอร์มีปัญหา

ถ้าเห็นอะไรในแท็บ Network แล้วไม่เข้าใจ ลองให้ AI ช่วยอธิบาย

ลองถาม AI แบบนี้
ฉันเปิดแท็บ Network ใน Chrome แล้วเห็นรายการ
ชื่อ: [ชื่อรายการ]
สถานะ: [ตัวเลขสถานะ]
ประเภท: [Type ที่เห็น]

ช่วยอธิบายว่ารายการนี้คืออะไร และเบราว์เซอร์ขอมันไปทำอะไร สำหรับคนที่ไม่เคยเขียนโค้ด

ข้อผิดพลาดที่พบบ่อย

  1. ซ่อนปุ่มแล้วคิดว่าปลอดภัย คนที่เปิดเครื่องมือในเบราว์เซอร์ส่ง request เองได้ การป้องกันจริงต้องอยู่ที่เซิร์ฟเวอร์
  2. ใส่รหัสลับไว้ในโค้ดฝั่งเบราว์เซอร์ ทุกคนที่เปิดเว็บอ่านได้
  3. คิดว่าเว็บช้าเพราะอินเทอร์เน็ตเสมอ บางครั้งช้าเพราะเซิร์ฟเวอร์หรือฐานข้อมูล แท็บ Network ช่วยบอกได้ว่ารอที่ไหนนาน

เช็กความเข้าใจ

1. ใครควรเป็นคนตรวจว่าผู้ใช้มีสิทธิ์ดูบทเรียนที่ต้องจ่ายเงินหรือไม่

2. สถานะ 404 หมายถึงอะไร

ร่างโดย AI แล้วตรวจและแก้โดย ปฏิภาณ เพ็งเภา · เจอจุดที่ผิดหรือล้าสมัย? แจ้งเรา