top
logo
articleบล็อก
custom iconภาพรวมฟีเจอร์
language-switch

สรุปความแตกต่างของตัวแทนผู้ใช้เบราว์เซอร์ iOS/Android และวิธีการแยกวิเคราะห์

สรุปความแตกต่างของตัวแทนผู้ใช้เบราว์เซอร์ iOS/Android และวิธีการแยกวิเคราะห์TestdateTime2025-12-09 04:15
iconiconiconiconicon

User-Agent (เรียกสั้น ๆ ว่า UA) อาจดูเหมือนเป็นสตริงที่ยุ่งเหยิง แต่จริง ๆ แล้วมันเป็นเหมือน “บัตรประจำตัวของเบราว์เซอร์” ที่สำคัญมาก

ที่สำคัญกว่านั้นคือ UA ของ iOS และ Android แตกต่างกันมาก หากไม่เข้าใจอย่างถูกต้อง อาจเกิดปัญหาได้ง่ายระหว่างการดีบัก WebView, ตรวจจับรุ่นอุปกรณ์ หรือทำ browser fingerprinting

ต่อไปเรามาดูรายละเอียดเกี่ยวกับ ความแตกต่างระหว่าง User-Agent ของ iOS/Android, วิธีการวิเคราะห์ UA ที่ใช้บ่อย และวิธีตรวจสอบ User-Agent บนมือถือ

ScreenShot_2025-11-14_153131_463.webp

1. User-Agent คืออะไร และทำไมถึงสำคัญ?

โดยสรุป User-Agent คือสตริงที่เบราว์เซอร์ส่งไปทุกครั้งที่ร้องขอเว็บเพจ—เปรียบเสมือนการรายงาน “ตัวตน” ของมัน

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

2. ความแตกต่างสำคัญระหว่าง User-Agent ของ iOS และ Android คืออะไร?

1. ความแตกต่างด้านข้อมูลของเอนจินเบราว์เซอร์

  • UA ของ Android ให้ข้อมูลละเอียดกว่า: มักมีข้อมูลเอนจินเบราว์เซอร์ (เช่น Chrome/95.xx, WebView) และเลขเวอร์ชันที่ชัดเจน
  • UA ของ iOS ค่อนข้างเรียบง่าย: เบราว์เซอร์ส่วนใหญ่บน iOS “แสร้งทำตัวเป็น Safari” ทำให้ UA เกือบเหมือนกันหมด

ตัวอย่าง:

Android:

Mozilla/5.0 (Linux; Android 12; Pixel 5) AppleWebKit/537.36 Chrome/116.0.0.0 Mobile Safari/537.36 

iOS (ไม่ว่าจะใน WeChat หรือ Chrome):

Mozilla/5.0 (iPhone; CPU iPhone OS 16_3 like Mac OS X) AppleWebKit/605.1.15 Mobile/15E148 Safari/604.1 

จะเห็นว่า: UA บน iOS มักลงท้ายด้วย Safari ทำให้ยากมากที่จะใช้ UA แยกแยะความแตกต่างของเบราว์เซอร์บน iOS

2. ความแตกต่างในการแสดงรุ่นอุปกรณ์

Android แสดงรุ่นอุปกรณ์จริง (Pixel, Xiaomi, Samsung ฯลฯ)
iPhone ไม่เคยแสดงรุ่นเครื่องจริงใน UA
UA บน iOS แสดงแค่ “iPhone” หรือ “iPad” เท่านั้น ไม่เคยเผยว่าเป็น iPhone 13 หรือ iPhone 15

นั่นหมายความว่า:

  • Android สามารถระบุอุปกรณ์ได้แม่นยำกว่า
  • iOS จำเป็นต้องใช้ วิธี fingerprinting เช่นของ ToDetect

3. พฤติกรรมของ WebView ต่างกัน

เบราว์เซอร์ภายในแอปหลายตัวจริง ๆ แล้วคือ WebView

  • Android WebView
    มักมีตัวบ่งชี้แอป เช่น MicroMessenger, Weibo เป็นต้น
  • iOS WebView
    เนื่องจากระบบจัดการแบบรวม ทำให้ตัวบ่งชี้แอปไม่คงที่ จำเป็นต้องวิเคราะห์ UA อย่างลึกเพื่อแยกแยะ

3. วิธีเช็ก UA ของเบราว์เซอร์บนมือถืออย่างรวดเร็ว

ใช้เครื่องมือตรวจ UA ผ่านเบราว์เซอร์โดยตรง

เครื่องมือตรวจ fingerprint ของ ToDetect (รองรับ UA + fingerprint อื่น ๆ)
หน้าเว็บตรวจ UA ออนไลน์ต่าง ๆ
เครื่องมือดีบักเบราว์เซอร์ (Safari บน iOS ต้องเชื่อมต่อ Mac)

ในจำนวนนี้ ToDetect สามารถดู UA พร้อม canvas, WebGL, ฟอนต์ และข้อมูล fingerprint อื่น ๆ—มีประโยชน์มากในการดีบักหรือทำระบบความเสี่ยง

4. วิธีวิเคราะห์ User-Agent บนมือถือ

1. ตรวจแพลตฟอร์มของระบบปฏิบัติการ

ตรวจหา string เช่น: Android, iPhone, iPad, Windows, Mac

2. ตรวจประเภทเบราว์เซอร์

Chrome / Safari / Firefox / Edge

เบราว์เซอร์ในแอป (เช่น Alipay, WeChat) ตรวจได้จาก string เช่น MicroMessenger

3. ตรวจรุ่นอุปกรณ์

  • Android: สามารถดึงรุ่นจาก UA ได้โดยตรง
  • iOS: ไม่สามารถระบุรุ่นจาก UA ต้องใช้ การทดสอบ JS หรือ fingerprinting

4. ตรวจว่าเป็น WebView หรือไม่

  • Android: คำบ่งชี้เช่น Version/4.0, wv, Chrome/... Mobile Safari/...
  • iOS: ตรวจหาการหายไปของ Safari หรือมีข้อมูลเฉพาะของ WebView

สามารถใช้ regex, ไลบรารี UA-parser หรือกฎที่กำหนดเองเพื่อดึงข้อมูลเหล่านี้

5. คำแนะนำจริง: ควรใช้ UA บนมือถืออย่างไรให้ถูกต้อง?

อย่าพึ่ง UA เพียงอย่างเดียว สำหรับการปรับหน้าเว็บ mobile
UA ของ Chrome บน iOS เหมือน Safari แทบหมด—ควรใช้ feature detection แทน
ใช้ข้อมูลรุ่นอุปกรณ์ของ Android เมื่อแก้ปัญหาความเข้ากันได้
สำหรับระบบป้องกันบอท UA ไม่เพียงพอ—ต้องใช้ fingerprinting + พฤติกรรม
หากจำเป็นต้องแยก WebView ในแอป ควรเก็บตัวอย่าง UA จำนวนมากเพื่อสร้างกฎที่แม่นยำขึ้น

สรุป

ความแตกต่างที่ใหญ่ที่สุดของ User-Agent ระหว่าง iOS และ Android คือ: Android โปร่งใสมากกว่า ในขณะที่ iOS ระมัดระวังมากกว่า

ในการพัฒนาจริง UA เพียงอย่างเดียวไม่เพียงพอ การผสานกับ browser fingerprinting จะให้ผลการจำแนกที่เสถียรขึ้นมาก

ไม่ว่าคุณจะทำ frontend, ระบุ crawler, วิเคราะห์ข้อมูล หรือดีบัก WebView ในแอป การเข้าใจโครงสร้าง UA และข้อจำกัด—รวมถึงการใช้เครื่องมืออย่าง ToDetect—จะช่วยให้งานราบรื่นกว่ามาก