ตัวแยกวิเคราะห์ User agent
ตัวแยกวิเคราะห์ User agent เป็นเครื่องมือฟรีที่อ่านข้อความ User agent แล้วระบุเบราว์เซอร์ ระบบปฏิบัติการ และประเภทอุปกรณ์
ข้อความ User agent บอกอะไรได้บ้าง?
ข้อความ User agent คือค่าของฟิลด์ HTTP User-Agent สำหรับเว็บเบราว์เซอร์ ค่านี้มักประกอบด้วยชื่อผลิตภัณฑ์ หมายเลขเวอร์ชัน โทเค็นของระบบปฏิบัติการ และข้อมูลที่ช่วยบ่งชี้อุปกรณ์ ไคลเอนต์แบบบรรทัดคำสั่ง โปรแกรมรวบรวมข้อมูล โปรแกรมอ่านฟีด และเบราว์เซอร์ภายในแอปก็ส่งข้อความ User agent ได้เช่นกัน
รูปแบบนี้ไม่ได้เป็นระเบียบอย่างที่เห็นในตอนแรก เบราว์เซอร์มักใส่โทเค็นเพื่อความเข้ากันได้ซึ่งเกี่ยวข้องกับเบราว์เซอร์อื่น การเลือกชื่อผลิตภัณฑ์แรกที่รู้จักจึงอาจให้ผลลัพธ์ผิด ตัวอย่างเช่น เบราว์เซอร์ที่พัฒนาจาก Chromium มักมีทั้งโทเค็นที่เกี่ยวข้องกับ Chrome และ Safari ตัวแยกวิเคราะห์จึงตรวจสอบทั้งชุดและลำดับของโทเค็น แทนที่จะมองค่าเหล่านี้เป็นเพียงรายการธรรมดา
ข้อมูล User agent ยังเป็นข้อมูลที่ไคลเอนต์ระบุเอง ไคลเอนต์สามารถแก้ไขหรือปลอมแปลงได้ และเบราว์เซอร์บางตัวก็ลดรายละเอียดเกี่ยวกับเวอร์ชันและอุปกรณ์ที่เปิดเผย ดังนั้นข้อมูลที่แยกวิเคราะห์แล้วจึงมีประโยชน์ต่อการจัดประเภทและแก้ไขข้อบกพร่อง แต่ไม่ใช่หลักฐานยืนยันตัวตนของอุปกรณ์
ใช้ตัวแยกวิเคราะห์ User agent อย่างไร?
วางค่าเฮดเดอร์แบบเต็มลงในช่อง User agent แล้วเรียกใช้เครื่องมือ ระบบจะแสดงผลสามฟิลด์ ได้แก่ เบราว์เซอร์ ระบบปฏิบัติการ และ ประเภทอุปกรณ์
- คัดลอกค่าหลัง User-Agent จากคำขอ HTTP บันทึกการเข้าถึง หรือเครื่องมือสำหรับนักพัฒนาของเบราว์เซอร์
- คงช่องว่าง วงเล็บ อัฒภาค เครื่องหมายทับ และหมายเลขเวอร์ชันตามต้นฉบับไว้ อักขระเหล่านี้ใช้แยกผลิตภัณฑ์และหมายเหตุภายในข้อความ
- ส่งค่าเพื่อประมวลผล แล้วเปรียบเทียบการจัดประเภทที่ได้กับบริบทของคำขอ
- เก็บข้อความต้นฉบับไว้คู่กับผลลัพธ์ที่แยกวิเคราะห์ในบันทึกการแก้ไขข้อบกพร่องของคุณ เพราะผลการจัดประเภทเพียงอย่างเดียวอาจซ่อนโทเค็นเวอร์ชันหรือโทเค็นความเข้ากันได้ที่มีประโยชน์
ตัวแยกวิเคราะห์ทำงานบนเซิร์ฟเวอร์ ข้อความ User agent ของคุณจะถูกส่งไปยังเซิร์ฟเวอร์ผ่าน HTTPS และจะไม่ถูกจัดเก็บ ถึงอย่างนั้น ก่อนส่งข้อมูลควรตรวจสอบรายการบันทึกที่คัดลอกมาว่ามีพารามิเตอร์คำค้นหา ตัวระบุเซสชัน หรือชื่อโฮสต์ภายในที่ไม่เกี่ยวข้องหรือไม่
ควรอ่านผลการแยกวิเคราะห์อย่างไร?
ให้อ่านแต่ละฟิลด์เป็นการจัดประเภทที่อนุมานจากโทเค็นซึ่งไคลเอนต์ส่งมา ไม่ใช่ข้อมูลฮาร์ดแวร์หรือซอฟต์แวร์ที่ผ่านการตรวจสอบยืนยันโดยอิสระ
- เบราว์เซอร์ ระบุตระกูลของเบราว์เซอร์หรือไคลเอนต์ที่ตรวจพบจากข้อความ เว็บวิวแบบฝังและเบราว์เซอร์ที่พัฒนาจาก Chromium อาจแยกออกจากกันได้ยากกว่า เพราะใช้โทเค็นหลายรายการร่วมกัน
- ระบบปฏิบัติการ แสดงแพลตฟอร์มตามตัวบ่งชี้ เช่น Windows NT, Android, iPhone OS, Mac OS X หรือ Linux เลเยอร์ความเข้ากันได้และ User agent ที่ถูกแก้ไขอาจทำให้ระบุรายละเอียดได้น้อยลง
- ประเภทอุปกรณ์ จัดไคลเอนต์ให้อยู่ในกลุ่มรูปแบบอุปกรณ์กว้างๆ โดยอนุมานจากตัวบ่งชี้อุปกรณ์และแพลตฟอร์ม ให้ใช้เป็นหมวดหมู่สำหรับงานทั่วไป ไม่ใช่รุ่นฮาร์ดแวร์ที่แน่นอน
ฟิลด์ผลลัพธ์ที่แสดงไม่ได้เป็นรายงานตรวจสอบความถูกต้องของไวยากรณ์ User agent ที่มีรูปแบบผิด ถูกตัดให้สั้น หรือไม่เป็นที่รู้จักอาจมีข้อมูลไม่พอสำหรับการจัดประเภทที่มีประโยชน์ แต่ไม่มีรายการข้อผิดพลาดมาตรฐานสากลเหมือนข้อผิดพลาดของ JSON เช่น เครื่องหมายจุลภาคส่วนเกินท้ายรายการหรือคีย์ที่ไม่มีเครื่องหมายคำพูด การแยกวิเคราะห์ User agent ส่วนใหญ่อาศัยหลักการอนุมาน เพราะข้อความจริงแตกต่างกันไปในแต่ละไคลเอนต์และมักคงไวยากรณ์เก่าไว้เพื่อความเข้ากันได้
ค่าว่างไม่มีข้อมูลให้จัดประเภท ค่าที่ยาวมากอาจมีส่วนขยาย ตัวระบุแอปพลิเคชัน หรือโทเค็นผลิตภัณฑ์ที่ซ้ำกัน ส่วนตัวเลขมักมีความหมายก็ต่อเมื่ออยู่ข้างโทเค็นผลิตภัณฑ์ที่ตัวเลขนั้นขยายความ อักขระที่มีเครื่องหมายกำกับเสียงหรืออักขระที่ไม่ใช่ละตินอาจปรากฏในข้อความของไคลเอนต์ที่กำหนดเอง แต่ไม่ได้หมายความว่าจะระบุเบราว์เซอร์ ระบบปฏิบัติการ หรืออุปกรณ์ได้โดยอัตโนมัติ
ตัวอย่างการใช้งาน
ข้อมูลนำเข้า Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36
โดยทั่วไป ตัวแยกวิเคราะห์จะจัดประเภทค่านี้เป็น Chrome บน Windows และเป็นอุปกรณ์เดสก์ท็อป โทเค็น Safari มีไว้เพื่อความเข้ากันได้ การมีโทเค็นนี้เพียงอย่างเดียวจึงไม่ควรทำให้ระบบระบุเบราว์เซอร์เป็น Safari
ข้อมูลนำเข้า Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Mobile/15E148 Safari/604.1
ค่านี้บ่งชี้ว่าเป็น Safari บน iOS และเป็นอุปกรณ์เคลื่อนที่ วลี "like Mac OS X" เป็นส่วนหนึ่งของข้อมูลเพื่อความเข้ากันได้ ส่วนตัวบ่งชี้ iPhone และ Mobile ให้เบาะแสเกี่ยวกับอุปกรณ์ที่ชัดเจนกว่า
หากเก็บ User agent ไว้ในพารามิเตอร์คำค้นหาของ URL ค่านั้นอาจผ่านการเข้ารหัสแบบเปอร์เซ็นต์ ใช้ตัวแยกวิเคราะห์ URL เพื่อแยกและถอดรหัสพารามิเตอร์ก่อนนำค่า User agent ที่ได้ไปแยกวิเคราะห์
การแยกวิเคราะห์ User agent เหมาะกับกรณีใด และไม่เหมาะกับกรณีใด?
การแยกวิเคราะห์มีประโยชน์เมื่อต้องการคำอธิบายที่อ่านเข้าใจง่ายสำหรับคำขอที่ไม่คุ้นเคย หรือต้องการตรวจสอบตรรกะการจัดประเภทก่อนนำระบบไปใช้งาน กรณีที่พบบ่อย ได้แก่ การตรวจสอบรายการในบันทึกการเข้าถึงของ Apache หรือ nginx การตรวจสอบรายงานปัญหาการแสดงผลที่เกิดกับเบราว์เซอร์บางตัว การตรวจสอบทราฟฟิกจากแอปแบบฝัง หรือการอ่านข้อมูลดิบที่ส่งออกจากแพลตฟอร์มวิเคราะห์
โดยทั่วไปไม่จำเป็นต้องแยกวิเคราะห์ หากระบบอื่นมีข้อมูลเบราว์เซอร์ ระบบปฏิบัติการ และอุปกรณ์เป็นฟิลด์แบบมีโครงสร้างอยู่แล้ว และแทบไม่มีประโยชน์หากบริการของคุณเพียงส่งต่อหรือเก็บเฮดเดอร์ต้นฉบับไว้ หลีกเลี่ยงการใช้ผลลัพธ์นี้เป็นเกณฑ์เพียงอย่างเดียวสำหรับการยืนยันตัวตน การตรวจจับการฉ้อโกง หรือการควบคุมการเข้าถึง เพราะผู้ส่งสามารถปลอมแปลงข้อความได้
สำหรับเลย์เอาต์ที่ปรับตามขนาดหน้าจอ CSS media queries และการตรวจหาฟีเจอร์มักเชื่อถือได้มากกว่าการคาดเดาอุปกรณ์จากฝั่งเซิร์ฟเวอร์ ควรแยกวิเคราะห์ User agent เมื่อต้องการบริบทสำหรับการวินิจฉัยหรือการรายงาน ไม่ใช่เพื่อสรุปว่าเบราว์เซอร์รองรับความสามารถใดเป็นพิเศษ
คำถามที่พบบ่อย
ตัวแยกวิเคราะห์บอกได้ไหมว่าคำขอมาจากบอต?
ไม่ได้โดยตรง เพราะฟิลด์ผลลัพธ์ไม่มีการจัดประเภทบอตโดยเฉพาะ โปรแกรมรวบรวมข้อมูลบางตัวระบุตัวตนอย่างชัดเจนใน User agent แต่บางตัวเลียนแบบเบราว์เซอร์หรือตัดรายละเอียดที่มีประโยชน์ออก หากเหมาะสม ควรยืนยันทราฟฟิกอัตโนมัติจากรูปแบบอัตราการส่งคำขอ การตรวจสอบ IP ของโปรแกรมรวบรวมข้อมูลตามข้อมูลที่ผู้ให้บริการเผยแพร่ และพฤติกรรมของคำขอ
ทำไม User agent ของ Edge ถึงมีทั้ง Chrome และ Safari?
Edge รุ่นใหม่พัฒนาจาก Chromium และมีโทเค็นเพื่อความเข้ากันได้ซึ่งเว็บไซต์ที่ตรวจสอบ User agent ต้องใช้ ตัวแยกวิเคราะห์ต้องมองหาโทเค็น Edge ที่เจาะจงกว่าก่อนจะจัดคำขอเป็น Chrome หรือ Safari ทั่วไป ทั้งลำดับและความเฉพาะเจาะจงของโทเค็นจึงมีความสำคัญ
ใช้ประเภทอุปกรณ์เพื่อเปลี่ยนเส้นทางผู้เข้าชมบนมือถือได้ไหม?
ใช้เป็นข้อมูลประกอบได้ แต่การบังคับเปลี่ยนเส้นทางอาจจัดประเภทแท็บเล็ต เบราว์เซอร์ที่ใช้โหมดเดสก์ท็อป และ User agent ที่ถูกแก้ไขผิด ควรใช้หน้าเว็บที่ปรับตามขนาดหน้าจอ และหากจำเป็นต้องมีประสบการณ์สำหรับมือถือแยกต่างหาก ให้ผู้เข้าชมเลือกเปลี่ยนไปใช้เวอร์ชันอื่นได้
Browser Client Hints ใช้แทนการแยกวิเคราะห์ User agent ได้ไหม?
Client Hints ให้ข้อมูลเบราว์เซอร์และแพลตฟอร์มแบบมีโครงสร้างได้เมื่อทั้งเบราว์เซอร์และเซิร์ฟเวอร์รองรับ แต่ไม่ได้อยู่ในทุกคำขอหรือทุกไคลเอนต์ ระบบที่ต้องรองรับเบราว์เซอร์รุ่นเก่า โปรแกรมรวบรวมข้อมูล และบันทึกการเข้าถึงเดิมอาจยังต้องแยกวิเคราะห์ User agent จัดเก็บเฉพาะผลการจัดประเภท User agent ที่จำเป็นต่องาน และปฏิบัติตามข้อกำหนดด้านความเป็นส่วนตัวที่เกี่ยวข้อง
เครื่องมือยอดนิยม
สร้างลายเซ็นแบบกำหนดเองของคุณได้อย่างง่ายดายและดาวน์โหลดได้อย่างสะดวก
ใช้เครื่องมือ ping ของเราเพื่อตรวจสอบสถานะและเวลาตอบสนองของเว็บไซต์ เซิร์ฟเวอร์ หรือพอร์ตใด ๆ ได้อย่างรวดเร็วและมีประสิทธิภาพ
เครื่องมือค้นหา IP ของ Digily Link ให้ข้อมูลโดยละเอียดเกี่ยวกับที่อยู่ IP ใด ๆ ใช้บริการออนไลน์ฟรีนี้เพื่อดูข้อมูล IP อย่างครบถ้วน
สร้างลิงก์ WhatsApp ฟรีได้ทันทีด้วยเครื่องมือสร้างลิงก์ WhatsApp ของเรา เพิ่มข้อความที่กำหนดเองและเริ่มแชทได้ในคลิกเดียว โดยไม่ต้องเข้าสู่ระบบหรือเขียนโค้ด