User agent ของฉันคืออะไร?
user agent ของคุณคือข้อความที่เบราว์เซอร์ส่งใน header User-Agent ของทุกคำขอ HTTP และสคริปต์สามารถอ่านได้ผ่าน navigator.userAgent เครื่องมือแยกวิเคราะห์จะเติมสตริงของเบราว์เซอร์คุณเองโดยอัตโนมัติเมื่อหน้าโหลด ส่วนคู่มือนี้ใช้สตริง Chrome บน macOS แบบคงที่หนึ่งรายการ เพื่อให้รายละเอียดเหมือนกันสำหรับผู้อ่านทุกคน
ตัวอย่างพร้อมคำอธิบาย
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
- เบราว์เซอร์
- Chrome 120.0.0.0
- เอนจิน
- Blink
- ระบบปฏิบัติการ
- macOS 10.15.7
- ประเภทอุปกรณ์
- เดสก์ท็อป
- อุปกรณ์
- ไม่ทราบ
- สถาปัตยกรรม CPU
- ไม่ทราบ
- Bot / crawler
- ไม่
รายละเอียดโทเค็น
| โทเค็น | การตีความ |
|---|---|
| Mozilla/5.0 | โทเค็นความเข้ากันได้ที่สืบทอดมาจากอดีต เบราว์เซอร์แทบทุกตัวขึ้นต้นด้วยโทเค็นนี้ ไม่ได้หมายความว่าเบราว์เซอร์นั้นคือ Firefox |
| (Macintosh; Intel Mac OS X 10_15_7) | ส่วนคอมเมนต์แพลตฟอร์ม Chrome และ Safari ตรึงเวอร์ชัน macOS ไว้ที่ 10_15_7 ดังนั้น macOS รุ่นใหม่กว่าและ Mac ที่ใช้ Apple silicon จะส่งค่าเดียวกัน |
| AppleWebKit/537.36 | โทเค็นเอนจิน เอนจิน Blink ของ Chrome เริ่มต้นจากการ fork มาจาก WebKit และยังคงรายงานค่าคงที่นี้ |
| (KHTML, like Gecko) | คอมเมนต์ด้านความเข้ากันได้: WebKit สืบเชื้อสายมาจาก KHTML และ “like Gecko” ถูกเพิ่มเข้ามาสำหรับเว็บไซต์ที่ส่งหน้าเว็บสมัยใหม่ให้เฉพาะเบราว์เซอร์ Gecko |
| Chrome/120.0.0.0 | เบราว์เซอร์จริงและเวอร์ชันของมัน มีเพียงเวอร์ชันหลัก (120) ที่มีความหมาย Chrome ส่ง 0.0.0 สำหรับ minor, build และ patch |
| Safari/537.36 | โทเค็นความเข้ากันได้อีกตัวหนึ่ง เพื่อให้เว็บไซต์ที่มองหา Safari ปฏิบัติต่อ Chrome เหมือนเบราว์เซอร์ตระกูล WebKit ไม่ได้หมายความว่าเบราว์เซอร์นั้นคือ Safari |
ตัวแยกวิเคราะห์ระบุว่าเป็น Chrome 120 บน macOS 10.15.7 พร้อมเอนจิน Blink ทั้งเวอร์ชัน macOS และ 0.0.0 ที่ต่อท้ายเป็นค่าที่ถูกตรึงไว้ ระบบจริงจึงอาจใหม่กว่าที่สตริงระบุ สถาปัตยกรรม CPU ยังคงไม่ทราบ: ตัวแยกวิเคราะห์ไม่ถือว่า Intel เป็นคำใบ้ CPU และ Mac ที่ใช้ Apple silicon ก็ส่งข้อความเดียวกัน
กฎสำคัญ
- สตริง user agent คือรายการโทเค็นผลิตภัณฑ์/เวอร์ชันที่คั่นด้วยช่องว่าง โดยมีรายละเอียดแพลตฟอร์มอยู่ในวงเล็บ
- โทเค็นส่วนใหญ่มีไว้เพื่อความเข้ากันได้: เบราว์เซอร์คัดลอกโทเค็นของกันและกันเพื่อให้โค้ดตรวจจับรุ่นเก่ายังทำงานได้ ตัวแยกวิเคราะห์จึงต้องดูว่าโทเค็นใดปรากฏและเรียงลำดับอย่างไร ไม่ใช่ดูคำเดี่ยวๆ
- เครื่องมือแยกวิเคราะห์จะเติม user agent ของคุณเองจากเบราว์เซอร์เมื่อหน้าโหลด การแยกวิเคราะห์ทำงานในเบราว์เซอร์ของคุณ ไม่ใช่บนเซิร์ฟเวอร์
- ส่วนขยายเบราว์เซอร์ การตั้งค่าความเป็นส่วนตัว การจำลองอุปกรณ์ในเครื่องมือนักพัฒนา และเบราว์เซอร์ภายในแอปสามารถเปลี่ยน user agent ได้ จึงอาจไม่ได้อธิบายอุปกรณ์จริง
- หากต้องการเปรียบเทียบเบราว์เซอร์ ให้วางสตริงจากอุปกรณ์อื่นหรือเลือกพรีเซ็ตตัวอย่างในเครื่องมือ