Request · Browser → Server
Host: example.org
Accept: application/json
Method และ path เลือกงาน Headers บอกบริบท Body มีหรือไม่มีตามคำขอ
จากเบราว์เซอร์ถึงเซิร์ฟเวอร์
เริ่มจากพิมพ์ URL แล้วตามว่าชื่อถูกค้นอย่างไร คำขอถูกส่งไปไหน และคำตอบกลับมาอย่างไร
แยก URL เป็น scheme hostname port path และ query ก่อน แล้วตามคำขอหนึ่งรายการของเว็บ ในตัวอย่าง ผ่าน ถ้าไม่ใช้ connection หรือข้อมูลจาก cache เดิม ต้องหา เชื่อม TCP ทำ และส่ง ก่อนนำ response ไปแสดง หน้าเว็บหนึ่งอาจมีคำขอภาพ script และ เพิ่มอีกหลายรายการ
example.org เป็นชื่อ ส่วน /search?q=it เป็นเป้าหมายงาน DNS ให้ข้อมูลของชื่อ ไม่สร้างหน้าเว็บ
เชื่อมบริการปลายทางตาม IP และพอร์ต จัดการ byte stream
ตรวจชื่อ อายุและ chain ของ certificate ตามความเชื่อถือ แล้วใช้กุญแจ session ปกป้องข้อมูล
Method path headers และ body ตามคำขอ แอปตรวจสิทธิ์และประมวลผล
Status headers body ส่งกลับ Browser อ่าน HTML CSS JS หรือข้อมูลที่ได้รับเพื่อแสดงผล
Method และ path เลือกงาน Headers บอกบริบท Body มีหรือไม่มีตามคำขอ
Status บอกผลคำขอ ชนิดเนื้อหาบอกวิธีอ่าน รายการว่างยังเป็น response ที่สำเร็จได้
ตัวอย่างรูปแบบ HTTP/1.1 หลังช่องทางพร้อม ไม่ใช่ wire format ของทุกเวอร์ชัน และไม่ได้แสดงทุก header ที่ระบบใช้งาน
QUIC เพิ่มกลไก reliable streams ของตนเอง การใช้ UDP จึงไม่ได้หมายความว่าแอปส่งแบบไม่มีการรับรองทั้งหมด Connection negotiation, cache และ connection เดิมอาจทำให้ลำดับเปิดเว็บต่างจากภาพสอนครั้งแรก
/3 ใช้ QUIC แทน จึงไม่ควรใช้ภาพนี้กับทุกเวอร์ชันโดยไม่อ่านบริบท 404 แสดงว่าได้รับคำตอบ HTTP ที่ไม่พบทรัพยากร ไม่ใช่ยืนยันสายขาด 200 หมายถึงคำขอนั้นสำเร็จตาม HTTP แต่ body หรือ JavaScript ยังทำให้หน้าจอผิดได้ ปกป้องช่องทาง ไม่รับรองความน่าเชื่อถือของผู้ขาย
Browser เป็นโปรแกรมใช้เว็บ URL ระบุทรัพยากร Domain เป็นชื่อที่ใช้ในที่อยู่นั้น
เบราว์เซอร์เป็นโปรแกรมที่อ่านเอกสารเว็บและแสดงผล URL เป็นที่อยู่ของทรัพยากรหนึ่งชิ้น ส่วน domain เป็นชื่อของโฮสต์ แยก scheme, hostname, port, path และ query ก่อน จึงจะรู้ว่าร้องขออะไรจากที่ไหน
วิธีเชื่อมต่อ
ปลายทางที่ต้องค้น IP
ทรัพยากรและค่าที่แอปใช้
ใน https://example.org/search?q=network นั้น บอกวิธีเชื่อม example.org บอกโฮสต์ /search บอกเส้นทาง และ q เป็นค่าที่ส่งให้แอป หน้าเว็บเดียวอาจดึงภาพและข้อมูลจากหลาย URL
คำอธิบายและภาพในหน้านี้เรียบเรียงใหม่ ชื่อบทต้นทางด้านล่างใช้ตรวจที่มา ไม่ได้แทนเนื้อหาที่คุณต้องไปอ่านเพิ่มเพื่อเข้าใจหน้านี้ และไม่ยืนยันว่าทุกประโยคมีอยู่ในคอร์ส
Browser ค้นชื่อผ่าน DNS แล้วสื่อสารกับบริการเว็บเพื่อส่ง HTTP request
เมื่อไม่มีคำตอบที่ใช้ได้ในแคช เครื่องค้น ของชื่อเว็บผ่าน แล้วจึงเชื่อมปลายทาง สำหรับ แบบ จะตั้ง TCP และ ก่อนส่ง ส่วน HTTP/3 ใช้ QUIC ที่รวมหน้าที่ต่างออกไป
ได้ IP จากชื่อ
สร้างช่องทางสื่อสารที่เหมาะ
ร้องขอแล้วแสดงผล
สำเร็จพิสูจน์เพียงว่าหาชื่อได้ ไม่พิสูจน์ว่าเว็บทำงาน คำขอเว็บต้องผ่านเครือข่าย บริการรับ connection และแอปสร้าง response เบราว์เซอร์จึงนำเนื้อหาไปแสดง
คำอธิบายและภาพในหน้านี้เรียบเรียงใหม่ ชื่อบทต้นทางด้านล่างใช้ตรวจที่มา ไม่ได้แทนเนื้อหาที่คุณต้องไปอ่านเพิ่มเพื่อเข้าใจหน้านี้ และไม่ยืนยันว่าทุกประโยคมีอยู่ในคอร์ส
เอกสารหลักที่ใช้ตรวจแนวคิดเพิ่มเติม
Method ระบุการกระทำ Status บอกผล Headers เก็บข้อมูลประกอบของคำขอและคำตอบ
request มี method, เป้าหมาย, headers และอาจมี body GET ใช้ร้องขอ representation POST ส่งข้อมูลให้ทรัพยากรประมวลผล response มี status, headers และอาจมี body โดย headers อธิบายชนิดเนื้อหา แคช หรือการยืนยันตัวตน
สิ่งที่ขอให้บริการทำ
ผลของคำขอนั้น
ข้อมูลกำกับและเนื้อหา
200 หมายถึงคำขอนั้นสำเร็จ 401 ต้องยืนยันตัวตน 403 ปฏิเสธ 404 ไม่พบเป้าหมาย และ 5xx คือปัญหาด้านเซิร์ฟเวอร์ การได้ 200 แต่หน้าจอว่างอาจเป็น JavaScript หรือข้อมูลใน body ไม่ใช่เครือข่ายเสีย
คำอธิบายและภาพในหน้านี้เรียบเรียงใหม่ ชื่อบทต้นทางด้านล่างใช้ตรวจที่มา ไม่ได้แทนเนื้อหาที่คุณต้องไปอ่านเพิ่มเพื่อเข้าใจหน้านี้ และไม่ยืนยันว่าทุกประโยคมีอยู่ในคอร์ส
เอกสารหลักที่ใช้ตรวจแนวคิดเพิ่มเติม
HTTPS ใช้ TLS ป้องกันการสื่อสาร ใบรับรองช่วยตรวจตัวตนปลายทางตามระบบความเชื่อถือ
ปกป้องการสื่อสารด้วยการเข้ารหัส ตรวจความถูกต้อง และยืนยันปลายทางตาม certificate เบราว์เซอร์ตรวจชื่อโฮสต์ อายุ certificate และ trust chain ก่อนใช้กุญแจของ session
certificate ตรงชื่อและเชื่อถือได้
กุญแจปกป้องการเชื่อมครั้งนี้
ข้อมูลเดินทางถูกเข้ารหัสและตรวจความถูกต้อง
Certificate ออกให้ example.org ใช้ยืนยัน other.org ไม่ได้ วันเวลาบนเครื่องผิดก็ทำให้ตรวจอายุไม่ผ่าน เครื่องหมาย ไม่รับรองว่าคนขายน่าเชื่อถือหรือโปรแกรมปลอดช่องโหว่ แต่บอกการปกป้องช่องทางตามที่ตรวจได้
ใน 1.3 แบบ full handshake ที่ยืนยัน server ด้วย certificate ClientHello กับ ServerHello ตกลงพารามิเตอร์และข้อมูลสำหรับสร้างกุญแจ จากนั้น server ให้ certificate และหลักฐานตาม handshake ผู้ตรวจต้องตรวจ chain ชื่อและเงื่อนไข รวมหลักฐานการครอบครองกุญแจตาม protocol ไม่รับเพียงไฟล์ certificate มองเห็นได้
เมื่อพร้อมจึงใช้กุญแจ traffic ปกป้อง application data การใช้ public key กับ signature และการสร้าง shared secrets ไม่ใช่เอา private key ส่งให้ browser ระบบมีรูปแบบ PSK/resumption และรายละเอียดที่ต่างจากภาพ full handshake นี้ error ต้องอ่านว่าไม่ผ่านชื่อ อายุ ความเชื่อถือ negotiation หรือช่วงใด ไม่กดข้ามแล้วถือว่าช่องทางยืนยันได้
คำอธิบายและภาพในหน้านี้เรียบเรียงใหม่ ชื่อบทต้นทางด้านล่างใช้ตรวจที่มา ไม่ได้แทนเนื้อหาที่คุณต้องไปอ่านเพิ่มเพื่อเข้าใจหน้านี้ และไม่ยืนยันว่าทุกประโยคมีอยู่ในคอร์ส
เอกสารหลักที่ใช้ตรวจแนวคิดเพิ่มเติม
DNS สำเร็จยังไม่พอ เว็บอาจตอบ 404 เพราะทรัพยากรไม่มี หรือ 403 เพราะไม่ได้รับอนุญาต
เริ่มจากพิมพ์ URL แล้วตามว่าชื่อถูกค้นอย่างไร คำขอถูกส่งไปไหน และคำตอบกลับมาอย่างไร
ใช้ภาพกับตัวอย่างด้านบนเชื่อมหน้าที่ของแต่ละส่วน แล้วตรวจความเข้าใจด้วยการอธิบายเหตุผลของผลที่เห็น ก่อนเปิดบทถัดไป
transcript ที่เคยใช้ตรวจแนวคิดพื้นฐานและตัวอย่างบางส่วน: T0422 · 2.The Bits and Bytes of Computer Networking · T0413 · 2.The Bits and Bytes of Computer Networking คำอธิบายเป็นการเขียนใหม่ ไม่ใช่การแปลครบทุกประโยค ภาพและตัวอย่างเป็นการเรียบเรียงเพื่อเชื่อมความเข้าใจ
คำอธิบายหน้านี้เขียนใหม่ตามหัวข้อใน Atlas รายการด้านล่างเป็นชื่อ Video/Reading ที่เคยจับคู่ไว้ แสดงไว้ให้ตรวจที่มาของชื่อหัวข้อ และไม่รับรองว่าคอร์สสอนทุกส่วนของคำอธิบายนี้