สำรวจแผงเครือข่ายเครื่องมือสำหรับนักพัฒนาเว็บ

เจฟ พอสนิก
เจฟฟ์ พอสนิก

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

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

  1. หากต้องการดูตัวอย่างเว็บไซต์ ให้กดดูแอป แล้วกดเต็มหน้าจอ เต็มหน้าจอ

  2. กด "Control+Shift+J" (หรือ "Command+Option+J" ใน Mac) เพื่อเปิดเครื่องมือสำหรับนักพัฒนาเว็บ

  3. คลิกแท็บเครือข่าย

  4. โหลดหน้านี้ซ้ำเพื่อดูการจราจรของข้อมูลในเครือข่าย

แผงเครือข่ายจะแสดงเนื้อหาทั้งหมดที่โหลดเนื่องจากการนำทางครั้งแรกของคุณ ดังนี้

แผงเครือข่ายของเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome

วิธีตีความรายการ

การจราจรของข้อมูลในเครือข่ายที่บันทึกไว้แต่ละแถวจะแทนคำขอและคู่การตอบสนอง 1 คู่

แถวแรกซึ่งเป็นประเภท document เป็นคำขอการนำทางเริ่มต้นสำหรับ HTML ของเว็บแอป นี่คือแหล่งที่มาของ Waterfall โดยคำขอชิ้นงานเพิ่มเติมแต่ละรายการ (หรือที่เรียกว่าทรัพยากรย่อยของเอกสารหลัก) ที่ตามมาจากแหล่งที่มาเดิมนี้

แถวที่ 2 และ 3 ที่แสดง CSS stylesheet และทรัพยากรย่อย script ที่กำลังโหลดเป็นคำขอที่เกี่ยวข้องซึ่งเริ่มต้นโดยเอกสารหลัก

เมื่อดูเวลาที่มีการส่งคำขอดังกล่าว แผนภาพ Waterfall แสดงให้เห็นว่าไม่มีการเริ่มคำขอจนกระทั่งช้ามากในการตอบสนองต่อคำขอการนำทาง

เมื่อใช้ร่วมกัน จะต้องมีคำขอเอกสาร HTML, CSS และ JavaScript เพื่อแสดงทั้งหน้าระหว่างการนำทางครั้งแรก

สร้างคำขอรันไทม์เพิ่มเติม

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

เรียกให้แสดงคำขอเพิ่มเติมเหล่านี้โดยคลิกค้นหาฉันในแอป จากนั้นคลิกอนุญาตในป๊อปอัปที่ปรากฏขึ้น การดำเนินการนี้จะช่วยให้เว็บไซต์เข้าถึงตำแหน่งปัจจุบันของคุณได้:

ข้อความแจ้งการอนุญาตสิทธิ์เข้าถึงตำแหน่ง

เมื่อเว็บแอปมีตำแหน่งที่จะใช้งานแล้ว การคลิกค้นหารายการ Wikipedia ใกล้เคียงจะส่งผลให้มีคำขอเครือข่ายเพิ่มเติมหลายรายการ คุณควรจะเห็นข้อความแบบนี้

รูปภาพ

ตีความรายการใหม่

เช่นเดียวกับก่อนหน้านี้ การจราจรของข้อมูลในเครือข่ายที่บันทึกไว้แต่ละแถวจะแสดงคู่คำขอและคำตอบ 1 คู่

แถวแรกของรายการใหม่จะแสดงคำขอที่มีประเภท fetch ซึ่งสอดคล้องกับวิธีที่เว็บแอปขอข้อมูลจาก Wikipedia API

แถวต่อไปนี้ทั้งหมดเป็นรูปภาพ (png หรือ jpeg) ที่เชื่อมโยงกับรายการ Wikipedia แม้ว่าจะสังเกตได้ยากจากภาพหน้าจอ แต่รายการในคอลัมน์ Waterfall จะมาจากการตอบกลับจาก API โดยตรง

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

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

สรุปสิ่งต่างๆ

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

แผงเครือข่ายช่วยให้คุณตอบคําถามที่ว่าอะไรที่กําลังโหลดผ่าน URL ในคอลัมน์ชื่อและข้อมูลในคอลัมน์ประเภท รวมถึงเวลาที่โหลดผ่านการแสดง Waterfall

นอกจากนี้ คุณจะเห็นว่าคำขอจากหน้าเว็บสามารถ (มัก) จัดกลุ่มเป็น 1 ใน 2 หมวดหมู่ต่อไปนี้

  1. คำขอเริ่มต้นซึ่งดำเนินการทันทีหลังจากไปยังหน้าใหม่สำหรับ HTML, JavaScript, CSS (และเนื้อหาที่เป็นไปได้อื่นๆ)
  2. คำขอรันไทม์ซึ่งเกิดจากการโต้ตอบของผู้ใช้กับหน้าเว็บ ซึ่งมักจะเริ่มต้นจากคำขอที่ส่งไปยัง API จากนั้นเปลี่ยนเป็นคำขอติดตามผลหลายรายการตามข้อมูล API ที่ดึงมา