แล้วเว็บไซต์ทำงานอย่างไร?
ตอนนี้ฉันมีหลักสูตรการพัฒนาเว็บทั้งหมดแล้ว ดังนั้นเนื่องจากนี่เป็นหลักสูตรหลาม เราจึงจะไม่เจาะลึกเข้าไปในหัวข้อนี้
เราจะเน้นที่ด้าน Python แทน
แต่ฉันต้องการช่วยให้คุณเข้าใจสิ่งที่เรากำลังสร้างและทุกอย่างทำงานอย่างไร เพราะหวังว่าเมื่อจบหลักสูตรนี้
คุณจะสามารถเปลี่ยนพอร์ตโฟลิโอของคุณ อัปเดตพอร์ตโฟลิโอของคุณตามความชอบของคุณเอง และแสดงโครงการที่
เราได้สร้างไว้ตลอดหลักสูตร
ดังนั้นฉันจึงมีเว็บไซต์สำหรับคุณที่นี่
เรามี xkcd ซึ่งเป็นเว็บไซต์การ์ตูนตลกๆ
หากฉันคลิกรีเฟรชที่นี่หรือป้อน URL นี้ ฉันจะถูกนำไปที่เว็บไซต์นี้
แต่สิ่งนี้ทำงานอย่างไร?
เบราว์เซอร์ของฉันในกรณีนี้ Google Chrome สามารถแสดงหน้าเว็บนี้ให้ฉันได้อย่างไร
ฉันต้องเชื่อมต่อกับอินเทอร์เน็ตใช่ไหม
มีข้อมูลบางประเภทที่ถ่ายโอนให้ฉันดูได้
ลองมาสำรวจกันว่ามันทำงานอย่างไร
และดูนั่นสิ
ฉันสร้างไดอะแกรมเล็ก ๆ ที่ดีสำหรับคุณ
และในแผนภาพนี้ ฉันจะพยายามบอกคุณว่ามันทำงานอย่างไร
มันค่อนข้างง่าย
เรามีบราวเซอร์ของเราตรงนี้ ซึ่งจะเป็น Google Chrome ก็ได้ Safari ก็ได้ Firefox ก็ได้
ไม่เป็นไร
เบราว์เซอร์นี้เราสามารถพิมพ์เว็บไซต์หรือ Google สำหรับเว็บไซต์จากนั้นคลิกที่เว็บไซต์
เมื่อเราคลิกบนเว็บไซต์ สิ่งที่เกิดขึ้นคือผ่านอินเทอร์เน็ต เบราว์เซอร์ส่งคำขอไปยังอีกเครื่องหนึ่ง
และเครื่องนี้ ซึ่งเราเรียกว่าเซิร์ฟเวอร์ ตั้งอยู่ที่ใดก็ได้ในโลก
มันไม่สำคัญหรอกเพราะผ่านเครือข่ายอินเทอร์เน็ตของเรา เบราว์เซอร์จะบอกว่า เฮ้ เว็บไซต์นี้
ใครเป็นเจ้าของเว็บไซต์นั้น
หรือเครื่องใดที่สามารถให้บริการไฟล์สำหรับเว็บไซต์นั้น
และใช้ตรรกะที่ซับซ้อนบางอย่าง เซิร์ฟเวอร์จะพบเซิร์ฟเวอร์นี้ ซึ่งท้ายที่สุดแล้วจะเป็นเพียงแค่คอมพิวเตอร์
และเราจะแสดงให้คุณเห็นและปรับใช้เซิร์ฟเวอร์ของเราเอง
มันพูดง่ายๆ ว่า เฮ้ ให้ข้อมูลกับฉันหน่อย เพราะหากไม่มีข้อมูล ฉันก็ไม่สามารถแสดงอะไรบนเว็บเพจได้
และเซิร์ฟเวอร์
อย่างแรกเลย พวกเขาสื่อสารผ่านสิ่งที่เรียกว่า HTTP และ https เพราะเบราว์เซอร์และเซิร์ฟเวอร์เป็นเครื่องสองเครื่องที่แตกต่างกัน
ถูกต้อง.
เบราว์เซอร์อยู่บนแล็ปท็อปของฉันตอนนี้
และเครื่องซึ่งเป็นเซิร์ฟเวอร์
มันสามารถเป็นที่ใดก็ได้ในโลก
พวกเขาจำเป็นต้องสื่อสารด้วยวิธีใดวิธีหนึ่ง
และเราต้องการกฎที่จะบอกว่า เราไม่ต้องการให้เครื่องจักรเหล่านี้คุยกันโดยไม่มีกฎเกณฑ์ใดๆ
ตัวอย่างเช่น เราสามารถตกลงกันได้ว่าเมื่อเราสื่อสารกันระหว่างคุณกับฉัน ฉันจะพูดภาษาอังกฤษในลักษณะเดียวกัน
HTTP และ https ซึ่งเป็นเวอร์ชันการสื่อสารที่มีการเข้ารหัสที่ปลอดภัย ทำให้ฉันพูดว่า เฮ้ คุณช่วยให้ข้อมูลและเซิร์ฟเวอร์ให้ฉันเข้าใจได้ไหม
โอ้.
เว็บไซต์นี้หรือเบราว์เซอร์นี้ต้องการข้อมูลที่ฉันมี
ถ้าผมกลับมาที่เว็บนี้ตรงนี้
คุณเห็นว่าฉันกำลังใช้ HTTPS และมันบอกว่าฉันต้องการใช้โปรโตคอล HTTPS
นั่นคือภาษาที่ใช้สื่อสารนั่นเอง
ฉันต้องการไปที่เว็บไซต์นี้
ทันทีที่ฉันกด Enter มันจะส่งคำขอนั้นไปยังเซิร์ฟเวอร์ที่ใดที่หนึ่ง จากนั้นเซิร์ฟเวอร์ก็จะตอบสนองด้วยข้อมูลนี้
มาต่อกับไดอะแกรมของเรากัน
คำขอจึงเพิ่งเกิดขึ้น
เซิร์ฟเวอร์นี้มีไฟล์สามไฟล์ที่เราต้องการ
ไฟล์หนึ่งคือไฟล์ HTML และไฟล์นี้คือข้อความหรือเนื้อหาของเว็บไซต์
อีกไฟล์หนึ่งคือไฟล์ CSS และสิ่งนี้มีการจัดสไตล์ทั้งหมดของเว็บไซต์
นั่นคือสี บางทีฟอนต์ บางทีตำแหน่งขององค์ประกอบ อะไรก็ได้ที่เกี่ยวกับสไตล์
ดังนั้นจึงไม่ดูเหมือนข้อความที่น่าเบื่อ
แล้วเราก็มีจาวาสคริปต์
JavaScript เป็นสิ่งที่ทำให้เว็บไซต์มีพฤติกรรม
เมื่อฉันเข้าสู่ระบบ Facebook หรือทวีตบางอย่างบน Twitter JavaScript ช่วยให้ฉันดำเนินการดังกล่าวได้
เนื่องจากมีเพียง HTML และ CSS เราจึงมีข้อความและสไตล์ที่สวยงาม
ด้วย JavaScript เราสามารถดำเนินการต่างๆ ได้ แต่เราไม่จำเป็นต้องให้ความสำคัญกับสิ่งนั้นมากเกินไป
ทั้งหมดที่เราต้องรู้ก็คือเซิร์ฟเวอร์ เนื่องจากเป็นคอมพิวเตอร์ในไฟล์ มีสามไฟล์นี้สำหรับเรา
และไฟล์ทั้งสามนี้ เกิดอะไรขึ้นจึงถูกส่งไปที่เบราว์เซอร์ เพราะเบราว์เซอร์นั้นใจดีจริงๆ และถามว่า เฮ้
คุณช่วยให้ข้อมูลฉันหน่อยได้ไหม
และเซิร์ฟเวอร์บอกว่า "ได้สิ นี่ไง และส่งไฟล์ทั้งสามนี้และสามไฟล์นี้มาให้เรา
เมื่อพวกเขาถูกส่งกลับ เบราว์เซอร์จะเข้าใจพวกเขา
และเนื่องจากมันเข้าใจพวกเขา แม้ว่าเราอาจดูเหมือนพูดพล่อยๆ แต่ก็สามารถแสดงเว็บไซต์นั้นให้เราได้
แต่ให้ฉันถามคำถามคุณ
จนถึงตอนนี้ ฉันไม่ได้พูดถึง Python เลยจริงๆ
ฉันคิดว่านี่เป็นหลักสูตร Python
อังเดร คุณกำลังพูดถึงเรื่องทั้งหมดนี้ที่ฉันไม่สนใจที่ไหน
เพราะในนี้ มีชิ้นเดียวที่สามารถเขียนด้วยภาษาไพทอนได้
คุณเดาได้ไหมว่ามันคืออะไร?
หากคุณเดาเซิร์ฟเวอร์
ยินดีด้วย.
คุณได้รับ 5,000 คะแนน
คุณเห็นไหมว่าเบราว์เซอร์เป็นแอปพลิเคชันที่เราดาวน์โหลดบนคอมพิวเตอร์ของเรา
ถูกต้อง.
แต่จนถึงตอนนี้ เซิร์ฟเวอร์เป็นเหมือนกล่องปริศนา เครื่องจักร คอมพิวเตอร์อยู่ที่ไหนสักแห่ง
แต่โปรแกรมเมอร์ Python สามารถเขียนตรรกะและกฎที่เซิร์ฟเวอร์สามารถดำเนินการได้จริง
ดังนั้นการสื่อสารทั้งหมดนี้ของ เฮ้ คุณช่วยแปลข้อมูลให้ฉันได้ไหม สามารถแปลเป็น Python แล้วส่งข้อมูลนี้ไปยังเบราว์เซอร์โดยใช้
Python
และเรากำลังจะสร้างเซิร์ฟเวอร์ของเราเองในวิดีโอสองสามวิดีโอถัดไป แต่ยังรวมถึงไฟล์ HTML, CSS และ JavaScript
เหล่านี้ด้วย เพื่อให้เราสามารถแสดงบางอย่างเช่นเว็บไซต์ได้จริง
ตอนนี้ฉันต้องการปิดวิดีโอนี้ด้วยคำถามเดียว
คุณคิดว่าเซิร์ฟเวอร์นี้ต้องเขียนด้วย Python หรือไม่?
คุณคิดอย่างไร?
ไม่มันไม่ได้
ใช่ไหม
เบราว์เซอร์ไม่สนใจว่าเครื่องนี้เป็นอย่างไร
สิ่งที่สนใจคือสามไฟล์นี้
และเนื่องจากเรากำลังพูดถึงโปรโตคอล http https นี้
เบราว์เซอร์บอกว่า เฮ้ ฉันไม่สนใจว่าคุณพูดภาษาอะไร ฉันไม่สนอะไรทั้งนั้น
ฉันจะบอกคุณผ่าน https นี้ เพียงแค่ให้ข้อมูลที่ฉันต้องการ และเราสามารถทำทุกอย่างที่เราต้องการในที่นี้
ฉันสามารถส่งอีเมลจากที่นี่หากต้องการ
ฉันสามารถส่งข้อความ ฉันสามารถทำการคำนวณทางคณิตศาสตร์ได้
ฉันสามารถเล่นเกมบนคอมพิวเตอร์เครื่องนี้ได้ถ้าต้องการ
ไม่สำคัญหรอก ตราบใดที่ฉันส่งไฟล์เหล่านี้กลับไปยังเบราว์เซอร์ได้
ดังนั้นเราจึงสามารถทำได้ด้วย Python
แต่เราสามารถทำได้กับภาษาอื่นๆ เช่น Node เช่น PHP เช่น Java ดังนั้นเราจึงสามารถเขียนเซิร์ฟเวอร์ในภาษาใดก็ได้
สิ่งเดียวที่เราทำได้จริงๆคือทางฝั่งเบราว์เซอร์
ทางฝั่งเบราว์เซอร์ เราต้องใช้สามไฟล์นี้ เพราะอย่างน้อยก็ในแง่ทั่วไป มันสามารถเข้าใจ
JavaScript เท่านั้น ซึ่งเป็นภาษาโปรแกรมอีกภาษาหนึ่ง
เอาล่ะ มาสำรวจหัวข้อนี้กันอีกสักหน่อยในวิดีโอหน้า