Computer >> คอมพิวเตอร์ >  >> ระบบเครือข่าย >> อินเทอร์เน็ต

HTTP ทำงานอย่างไรและเหตุใดจึงสำคัญ – อธิบายเป็นภาษาอังกฤษธรรมดา

ลองนึกภาพว่าบ้านของคุณเป็นคอมพิวเตอร์ขนาดใหญ่ แทนที่จะเป็น Goodison Street หรือ 4th Avenue ที่อยู่บ้านของคุณประกอบด้วยตัวเลข ตัวอย่างเช่น:112.231.31.20

เช่นเดียวกับในภาพยนตร์แห่งอนาคต เมืองของคุณประกอบด้วยหุ่นยนต์ไฮเทคบนท้องฟ้าเป็นส่วนใหญ่ที่เดินทางไปตามบ้าน ส่งข้อความและตอบกลับ

มีภาพไหม

ภาพรวมวิธีการทำงานของอินเทอร์เน็ต

เรียบง่ายขึ้นเล็กน้อย นี่คือสิ่งที่เกิดขึ้นเมื่อคุณพิมพ์ที่อยู่เว็บลงในเบราว์เซอร์ของคุณ:

  • พบที่อยู่ของ “บ้าน” ที่คุณต้องการส่งคำขอ
  • ส่งคำขอโดยใช้หุ่นยนต์บุรุษไปรษณีย์
  • รอคำตอบจากหุ่นยนต์บุรุษไปรษณีย์อย่างอดทน

ตอนนี้ ทั้งหมดนี้แยกออกจากคุณในฐานะผู้ใช้ปลายทาง คุณพิมพ์ที่อยู่เว็บในเบราว์เซอร์และหน้าเว็บจะปรากฏขึ้นต่อหน้าต่อตาคุณราวกับเวทมนตร์

เช่นเดียวกับเทคโนโลยีขั้นสูงที่เพียงพอ ผู้ใช้ทั่วไปจะไม่สามารถใช้อินเทอร์เน็ตได้หากไม่มีสิ่งที่เป็นนามธรรมเหล่านี้

โดยส่วนใหญ่ คุณไม่จำเป็นต้องกังวลว่าบางสิ่งทำงานอย่างไร คุณเพียงแค่ต้องรู้ว่ามันได้ผล

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

คุณจะไม่กลายเป็นผู้เชี่ยวชาญในรายละเอียดทางเทคนิคของอินเทอร์เน็ตโดยการอ่านบทความนี้ ซึ่งจะใช้เวลาและความพยายามมากขึ้น แต่คุณจะได้มุมมองจากมุมสูงและความเข้าใจที่ดีขึ้น

หากคุณพบว่าต้องการเรียนรู้เพิ่มเติม เรามีเพลย์ลิสต์บน YouTube ที่เจาะลึกยิ่งขึ้น

ระบบส่งข้อความ

จากคำอุปมาในตอนต้นของบทความนี้ เราได้เรียนรู้ว่าอินเทอร์เน็ตประกอบด้วยข้อความที่ส่งต่อ โดยส่วนใหญ่ ข้อความเหล่านี้จะถูกส่งโดยใช้สิ่งที่เรียกว่าโปรโตคอล HTTP

มาตรการ. นั่นเป็นคำที่น่ากลัว นั่นคือดวงตาที่จ้องมองและปิดคำประเภทเบราว์เซอร์ของคุณ เรามาแยกเป็นคำที่ง่ายกว่ากัน

โปรโตคอลเป็นเพียงคำแฟนซีสำหรับข้อตกลง

มาทำให้ชัดเจนยิ่งขึ้นด้วยการเปรียบเทียบ

สมมติว่าคุณและเพื่อนสนิทฝากข้อความลับถึงกัน เมื่อคุณพบกระดาษแผ่นหนึ่งที่หน้าประตูบ้านที่มีคำว่า "ballfoot" คุณรู้ว่าเพื่อนของคุณต้องการพบคุณสำหรับฟุตบอลคืนนี้เวลา 20.00 น.

คุณทราบเรื่องนี้เพราะคุณเห็นด้วยว่าคำว่า "ballfoot" บนกระดาษที่ส่งถึงบ้านของคุณแสดงถึงคำเชิญให้เล่น

ตอนนี้ ปัญหาเกิดขึ้นเมื่อคุณเริ่มทิ้งโน้ต "ballfoot" ให้เพื่อนคนอื่นๆ ของคุณโดยไม่บอกความหมายลับให้พวกเขาทราบ พวกเขาไม่รู้ว่าจะทำอย่างไรกับข้อมูล

พวกเขาจะพบโน้ตที่หน้าประตูบ้าน เกาหัวสักครู่ แล้วเล่น Fortnite ต่อไปในห้องนั่งเล่น และคุณกับเพื่อนอีกคนหนึ่งจะส่งบอลระหว่างคุณ ไปมา. ไปมา. จนกว่าความเบื่อจะทนไม่ไหวและคุณทั้งคู่ก็กลับบ้าน

แต่มันไม่จำเป็นต้องเป็นอย่างนั้น จะเกิดอะไรขึ้นถ้าคุณบอกเพื่อนของคุณว่า "ballfoot" คืออะไร? ตอนนี้เพื่อนของคุณทุกคนคงรู้และแบ่งปันข้อตกลงที่ว่าข้อความกับโลก "ballfoot" หมายถึงการแสดงและเล่นฟุตบอลที่ศาลท้องถิ่นเวลา 20:00 น.

สำเร็จ

นี่คือสิ่งที่โปรโตคอล HTTP เป็นตัวแทน เราตกลงกันว่าหากเราส่งข้อความด้วยวิธีใดวิธีหนึ่ง เซิร์ฟเวอร์จะเข้าใจและตอบกลับ

โครงสร้างของข้อความ

มาดูข้อตกลง HTTP กันดีกว่า ประกอบด้วยคำขอและการตอบสนอง พูดง่ายๆ ก็คือ คุณขออะไรบางอย่างแล้วได้คำตอบกลับมาจากสิ่งที่เรียกว่าเซิร์ฟเวอร์

ก่อนที่เราจะดำเนินการต่อ เรามาแก้ไขคำอุปมาตั้งแต่ต้นเพื่อให้เข้าใจรอบคำขอ/การตอบสนองของ HTTP มากขึ้น

จำหุ่นยนต์ที่ไปจากบ้านหนึ่งไปอีกบ้านหนึ่งแบกข้อความ? ลองจินตนาการว่าหุ่นยนต์เหล่านั้นทั้งหมดเป็นของใครบางคน

คุณมีหุ่นยนต์ส่วนตัว และคุณสามารถขอให้หุ่นยนต์ส่งไปยังที่อยู่ใดก็ได้ (ที่อยู่ IP) พร้อมข้อความ เมื่อหุ่นยนต์ของคุณมาถึงพร้อมกับข้อความของคุณตามที่อยู่ที่กำหนด หุ่นยนต์จะเข้ามาและประกาศอย่างกล้าหาญว่ามีข้อความที่จะส่ง จากนั้นมันจะพูดข้อความ

เพื่อประโยชน์ในการอุปมา จินตนาการว่าประตูสู่บ้าน (เซิร์ฟเวอร์) เปรียบเสมือนทางเข้าเหมืองแห่งโมเรียในลอร์ดออฟเดอะริงส์ ประตูจะเปิดและให้คุณเข้าไปได้ก็ต่อเมื่อพูดถูกต้องเท่านั้น

ในกรณีนี้ เฉพาะในกรณีที่หุ่นยนต์ของคุณพูดข้อความในลักษณะเฉพาะเท่านั้นที่พวกเขาจะได้รับข้อความตอบกลับเพื่อตอบกลับคุณ

นี่คือโปรโตคอล HTTP ในที่ทำงาน มีชุดกฎที่กำหนดไว้ล่วงหน้าซึ่งชี้นำว่าข้อความคำขอและข้อความตอบกลับมีลักษณะอย่างไร

ณ จุดนี้คุณอาจสงสัยว่าข้อความเหล่านี้มาจากไหน คุณไม่ได้เขียนด้วยตัวเองอย่างแน่นอนเมื่อคุณป้อนที่อยู่เว็บไซต์ลงในเว็บเบราว์เซอร์ของคุณ

เบราว์เซอร์จะจัดการให้คุณโดยอัตโนมัติ เมื่อคุณเขียนที่อยู่ เบราว์เซอร์ของคุณจะเขียนข้อความคำขอ HTTP ให้คุณและส่งไปยังเซิร์ฟเวอร์ ข้อความคำขอ HTTP มีลักษณะดังนี้:

GET / HTTP/1.1
Host: google.com
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) 
Version/11.0 Mobile/15A372 Safari/604.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,
image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
...etc

มันดูน่ากลัวใช่มั้ย

สิ่งที่ดีที่เบราว์เซอร์ทำสิ่งนี้ให้เรา

มาดูเฉพาะบรรทัดแรกกันดีกว่า:GET / HTTP/1.1 . บรรทัดนี้ทำให้หุ่นยนต์ของคุณขึ้นไปที่บ้านของ Google และพูดว่า "ฉันขอสิ่งที่คุณมีที่รากของไซต์ของคุณได้ไหม" (ซึ่งหมายความว่าเราต้องการดึงข้อมูลที่อยู่ใน www.google.com ไม่ใช่ www.google.com/home)

ตอนนี้เราได้ส่งข้อความของเราไปยังบ้านของ Google (เซิร์ฟเวอร์) ในลักษณะที่ถูกต้องแล้ว ประตูสว่างขึ้นและแกว่งเปิดออก

ข้างในคุณจะเห็นหุ่นยนต์อีกตัว ด้านหลังเป็นชุดกล่องล็อกที่มีข้อความเช่น GET / HTTP/1.1 และ GET /search HTTP/1.1 . หากคำขอของคุณตรงกับกล่องล็อคใดกล่องหนึ่ง หุ่นยนต์จะปลดล็อกและมอบเนื้อหาให้หุ่นยนต์ของคุณ ซึ่งจะแจ้งให้คุณตอบกลับอย่างรวดเร็วด้วยการตอบสนอง

การตอบสนอง

คำตอบที่คุณได้รับจะมีลักษณะดังนี้:

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
Content-Length: 88
Content-Type: text/html
Connection: Closed

ตอนนี้ คุณจะไม่เห็นการตอบสนองนี้ เว้นแต่ว่าคุณต้องการตรวจสอบในเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ของเบราว์เซอร์ของคุณจริงๆ แต่อย่างไรก็ตาม คุณได้รับมัน

สิ่งที่เกิดขึ้นต่อไปขึ้นอยู่กับชนิดของการตอบสนองที่คุณได้รับ และสิ่งที่อยู่ภายใน lockbox ของเซิร์ฟเวอร์

ในหลายกรณี สิ่งที่คุณได้รับกลับเป็นเอกสาร HTML HTML แสดงถึงโครงสร้างของหน้าเว็บและกำหนดสิ่งที่เบราว์เซอร์ควรแสดง

หากคุณไปที่ www.google.com คุณจะได้รับไฟล์ HTML เป็นการตอบแทนซึ่งกำหนดวิธีที่ไซต์ google.com จะแสดงในเบราว์เซอร์ของคุณ

หากคุณมีเวลา วิดีโอความยาว 11 นาทีนี้จะเจาะลึกถึงคำขอและการตอบกลับ HTTP:

บทสรุป

ในบทความนี้ เราได้ทบทวนวิธีการทำงานของอินเทอร์เน็ต และวิธีที่เราใช้ HTTP เพื่อสื่อสารทางอินเทอร์เน็ต

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

นอกจากนี้เรายังได้สำรวจความสำคัญของการมีมาตรฐานการสื่อสารดังกล่าวและประโยชน์ของการมีมาตรฐานที่ตกลงกันโดยทั่วไป

มีหลายแง่มุมในการทำความเข้าใจวิธีการทำงานของอินเทอร์เน็ตและประเภทของคำตอบที่คุณจะได้รับ

หากคุณมีเวลา วิดีโอ 18 นาทีนี้ที่สอนวิธีสร้างเว็บเซิร์ฟเวอร์จะทบทวนหัวข้อมากมายที่กล่าวถึงในบทความนี้ และทบทวนหัวข้อใหม่ๆ:

ตอนนี้คุณควรมีความเข้าใจทั่วไปว่าการสื่อสารบนอินเทอร์เน็ตทำงานอย่างไร

หากคุณคิดว่ามีคนอื่นสามารถได้รับประโยชน์จากบทความนี้ โปรดกระจายข่าว และถ้าคุณต้องการทราบเมื่อฉันโพสต์เนื้อหาเพิ่มเติม คุณสามารถสมัครรับข้อมูลจากช่อง YouTube ของฉัน หรือคุณสามารถติดตามฉัน @foseberg บน Twitter