realfp.com

User-Agent คืออะไร?

เมื่อพูดถึงลายนิ้วมือของเบราว์เซอร์ สิ่งแรกที่มักจะถูกกล่าวถึงคือ User-Agent มันคือส่วนหัว HTTP ที่เบราว์เซอร์ส่งไปยังเซิร์ฟเวอร์ของเว็บไซต์ ซึ่งประกอบด้วยข้อมูลต่างๆ เช่น ประเภทของเบราว์เซอร์ เวอร์ชัน และระบบปฏิบัติการ

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

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

ส่วนหัว HTTP ประกอบด้วยข้อมูลหลายประเภท เช่น:
User-Agent — เหมือนกับการบอกชื่อของคุณให้พนักงานเสิร์ฟทราบ เพื่อให้เขารู้ว่าใครเป็นคนสั่งอาหาร มันจะบอกเซิร์ฟเวอร์ว่าคุณใช้เบราว์เซอร์และระบบปฏิบัติการอะไร
Accept — เหมือนกับการระบุประเภทอาหารที่คุณรับได้ในเมนู (เช่น อาหารจีน อาหารตะวันตก หรืออาหารมังสวิรัติ) มันจะบอกเซิร์ฟเวอร์ว่าเบราว์เซอร์ของคุณสามารถรับรูปแบบการตอบสนองใดได้บ้าง เช่น หน้าเว็บ HTML รูปภาพ หรือวิดีโอ
Referer — เหมือนกับการบอกพนักงานเสิร์ฟว่าคุณมาร้านนี้เพราะเพื่อนแนะนำ มันจะบอกเซิร์ฟเวอร์ว่าคุณมาจากหน้าเว็บใด
Cookie — เหมือนกับการเขียนคำขอพิเศษลงในเมนู เช่น “ไม่เผ็ด” หรือ “เค็มน้อย” คุกกี้คือไฟล์ข้อความขนาดเล็กที่จัดเก็บไว้ในเบราว์เซอร์ ซึ่งมีข้อมูลที่เกี่ยวข้องกับการเข้าชมเว็บไซต์ของคุณ

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

User-Agent ประกอบด้วยอะไรบ้าง
สตริง User-Agent ประกอบด้วยหลายส่วน แต่ละส่วนมีข้อมูลเฉพาะ — ตั้งแต่ประเภทของเบราว์เซอร์ไปจนถึงเวอร์ชันของระบบปฏิบัติการ เรามาดูตัวอย่างเพื่อแยกส่วนประกอบกัน:

ตัวอย่างที่ 1 (Chrome บน Windows):
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36

ตัวอย่างที่ 2 (Firefox บน Windows):
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0

ตัวอย่างที่ 3 (Safari บน macOS):
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Safari/605.1.15

ความหมายของแต่ละส่วนมีดังนี้:
Mozilla/5.0 — ตัวระบุทั่วไปที่บ่งชี้ว่า User-Agent นี้เป็นไปตามข้อกำหนดของ Mozilla เวอร์ชัน 5.0
ข้อมูลระบบปฏิบัติการ — ข้อมูลโดยละเอียดและเวอร์ชันของระบบปฏิบัติการของผู้ใช้ สิ่งนี้สำคัญสำหรับนักพัฒนา เนื่องจากระบบปฏิบัติการที่แตกต่างกันอาจมีคุณสมบัติหรือข้อจำกัดที่แตกต่างกันไป ตัวอย่างเช่น (Windows NT 10.0; Win64; x64) หมายถึงระบบปฏิบัติการ Windows 10 64 บิต
ข้อมูลเอนจินการเรนเดอร์ — ส่วนประกอบหลักที่เบราว์เซอร์ใช้ในการเรนเดอร์หน้าเว็บ การทำความเข้าใจเอนจินการเรนเดอร์ช่วยให้นักพัฒนาสามารถปรับปรุงเว็บไซต์ให้เหมาะสมกับเบราว์เซอร์เฉพาะได้ ตัวอย่างเช่น AppleWebKit/537.36 หมายถึงการใช้เอนจิน WebKit ของ Apple
ข้อมูลโหมดความเข้ากันได้ — บ่งชี้ว่าเบราว์เซอร์กำลังทำงานในโหมดความเข้ากันได้เฉพาะหรือไม่ ซึ่งช่วยให้นักพัฒนาสามารถมั่นใจได้ว่าเว็บไซต์จะสามารถปรับให้เข้ากับโหมดเบราว์เซอร์ต่างๆ ได้ (KHTML, like Gecko) หมายความว่าเบราว์เซอร์ใช้เอนจินการเรนเดอร์ที่คล้ายกับ KHTML และ Gecko ในการประมวลผลหน้าเว็บ
ข้อมูลแอปพลิเคชัน — ชื่อและหมายเลขเวอร์ชันเฉพาะของเบราว์เซอร์ ตัวอย่างเช่น Chrome/94.0.4606.81 หมายความว่าผู้ใช้กำลังใช้ Chrome เวอร์ชัน 94.0.4606.81

User-Agent ของเบราว์เซอร์ทั้งหมดเหมือนกันหรือไม่
ไม่เหมือนกันทั้งหมด แม้ว่า User-Agent ของเบราว์เซอร์หลักๆ เช่น Chrome, Firefox, Safari และ Edge จะมีข้อมูลเกี่ยวกับระบบปฏิบัติการ ประเภทเบราว์เซอร์ เวอร์ชัน และเอนจินการเรนเดอร์ แต่ก็ยังมีความแตกต่างเล็กน้อยระหว่างกัน

เปรียบเทียบ:

จะเห็นได้ว่า นอกจากตัวระบุทั่วไปแล้ว User-Agent ของเบราว์เซอร์แต่ละตัวยังมีความแตกต่างที่ชัดเจน

ทำไมถึงมี User-Agent สองตัว
เมื่อคุณใช้เครื่องมืออย่าง realfp เพื่อตรวจจับลายนิ้วมือ User-Agent ของเบราว์เซอร์ คุณอาจพบว่ามีการแสดง User-Agent ที่แตกต่างกันสองตัว ทำไมถึงเป็นเช่นนั้น

ในความเป็นจริง มีสองวิธีในการรับ User-Agent ของผู้ใช้:
รับผ่านคำขอ HTTP — ดำเนินการที่ฝั่งเซิร์ฟเวอร์ โดยเซิร์ฟเวอร์จะแยกวิเคราะห์ฟิลด์ User-Agent ในส่วนหัว HTTP
รับผ่าน JavaScript — ดำเนินการที่ฝั่งไคลเอ็นต์ (เบราว์เซอร์ของผู้ใช้) โดยใช้ฟังก์ชัน JavaScript เช่น window.navigator.userAgent โดยไม่ต้องอาศัยคำขอ HTTP ของเซิร์ฟเวอร์

ตัวอย่างเช่น: สมมติว่าคุณมีคอมพิวเตอร์ที่ไม่ได้เชื่อมต่ออินเทอร์เน็ต เบราว์เซอร์จึงไม่สามารถส่งคำขอไปยังเว็บไซต์ใดๆ ได้ แต่คุณยังคงต้องการทราบ User-Agent ของเบราว์เซอร์นี้ — คุณสามารถเปิด Chrome กด F12 เพื่อเปิดเครื่องมือสำหรับนักพัฒนา คลิกที่แท็บ Console และพิมพ์ window.navigator.userAgent ในคอนโซล คุณก็จะเห็น User-Agent ของเบราว์เซอร์นั้นได้โดยตรง

หากคุณเขียนสคริปต์เพื่อดึงข้อมูลจากเว็บไซต์บ่อยครั้ง การตรวจสอบให้แน่ใจว่า User-Agent ทั้งสองนี้ถูกแก้ไขให้สอดคล้องกันเป็นสิ่งสำคัญอย่างยิ่ง คุณควรใช้เครื่องมืออย่าง realfp เพื่อตรวจสอบเสมอว่า User-Agent ที่แก้ไขแล้วนั้นสอดคล้องกับสถานการณ์จริงหรือไม่

User-Agent มีประโยชน์อย่างไร
ในสภาพแวดล้อมดิจิทัลปัจจุบัน User-Agent มีการใช้งานจริงอย่างกว้างขวาง:
การวิเคราะห์ปริมาณการเข้าชมเว็บไซต์ — เครื่องมือวิเคราะห์ใช้ข้อมูล User-Agent เพื่อติดตามเบราว์เซอร์ ระบบปฏิบัติการ และประเภทอุปกรณ์ของผู้เข้าชม ซึ่งช่วยให้ผู้ดูแลเว็บไซต์เข้าใจกลุ่มเป้าหมายและปรับปรุงประสบการณ์ผู้ใช้
ความเข้ากันได้ของเว็บไซต์ — นักพัฒนาวิเคราะห์ข้อมูล User-Agent เพื่อให้แน่ใจว่าเว็บไซต์สามารถทำงานได้อย่างถูกต้องบนเบราว์เซอร์และอุปกรณ์ต่างๆ
การตรวจจับกิจกรรมที่เป็นอันตราย — ทีมรักษาความปลอดภัยและผู้ดูแลระบบใช้ข้อมูล User-Agent เพื่อตรวจจับกิจกรรมที่น่าสงสัยหรือผิดปกติ เนื่องจากสตริง User-Agent บางอย่างอาจบ่งชี้ถึงการโจมตีหรือการใช้งานในทางที่ผิด
การกำหนดเป้าหมายโฆษณาที่แม่นยำ — ทีมการตลาดใช้ข้อมูล User-Agent เพื่อกำหนดเป้าหมายโฆษณาได้ดีขึ้น เนื่องจากผู้ใช้บนอุปกรณ์และเบราว์เซอร์ที่แตกต่างกันอาจตอบสนองต่อรูปแบบโฆษณาที่แตกต่างกัน
การวิเคราะห์ข้อมูลและการวิจัยตลาด — นักวิจัยและนักวิเคราะห์ใช้ข้อมูล User-Agent เพื่อทำความเข้าใจพฤติกรรมของผู้ใช้บนเบราว์เซอร์และอุปกรณ์ต่างๆ ซึ่งช่วยให้เข้าใจถึงความชอบและแนวโน้มของผู้ใช้

การจัดการหลายบัญชี
จากการอภิปรายก่อนหน้านี้ จะเห็นได้ว่าเว็บไซต์สามารถรับข้อมูลจำนวนมากเกี่ยวกับอุปกรณ์และพฤติกรรมการท่องเว็บของผู้ใช้ผ่าน User-Agent ได้ ซึ่งรวมถึง:
· ประเภทและเวอร์ชันของเบราว์เซอร์
· ระบบปฏิบัติการ (Windows, macOS, Android เป็นต้น)
· ประเภทอุปกรณ์ (คอมพิวเตอร์หรือโทรศัพท์มือถือ)

หากคุณจัดการหลายบัญชี คุณต้องแน่ใจว่าลักษณะข้อมูลระหว่างบัญชีต่างๆ มีความแตกต่างกัน มิฉะนั้น เว็บไซต์อาจเชื่อมโยงบัญชีหลายบัญชีของคุณเข้าด้วยกันโดยอาศัยข้อมูลเหล่านี้

การใช้ส่วนขยายของเบราว์เซอร์เพื่อแก้ไข User-Agent ไม่สามารถปลอมแปลงเบราว์เซอร์ของคุณได้อย่างมีประสิทธิภาพ และมาตรการป้องกันนี้ไม่ปลอดภัย โดยเฉพาะอย่างยิ่งเมื่อลายนิ้วมือ User-Agent ถูกรวมเข้ากับข้อมูลลายนิ้วมืออื่นๆ มันจำเป็นต้องตรงกับลักษณะของอุปกรณ์จริง

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