คำนวณ $ _SERVER [“ HTTP_ACCEPT_LANGUAGE”] อย่างไร


3

ฉันรู้ว่าเนื้อหาของตัวแปรนี้มีลักษณะen-us,en;q=0.5และเป็นตัวแทนของภาษาที่ผู้ใช้ใช้ แต่เบราว์เซอร์คำนวณตัวแปรนี้อย่างไร

เบราว์เซอร์ Firefox มีตัวเลือกSettings -> Languageที่หนึ่งอาจเพิ่มภาษา มีอะไรอีกบ้างที่ใช้? ภาษาของระบบหรือประเทศปัจจุบันที่ใช้คอมพิวเตอร์ / แล็ปท็อป / โทรศัพท์เปลี่ยนค่านี้หรือไม่ และเบราว์เซอร์คำนวณqค่าสำหรับแต่ละภาษาอย่างไร

คำตอบ:


1

วิธีการที่แตกต่างกันอย่างมากระหว่างเบราว์เซอร์ นอกจากนี้เว็บไซต์จำนวนมากอาจใช้เว็บไซต์เหล่านี้ในวิธีที่ต่างกันหรืออาจเพิกเฉยต่อส่วนหัวนี้อย่างสมบูรณ์แทนที่จะให้ความสำคัญกับวิธีอื่น ๆ เช่นการระบุตำแหน่งทางภูมิศาสตร์ด้วยความเกลียดชังตามที่อยู่ IP

เบราว์เซอร์ส่วนใหญ่ใช้ภาษาที่ต้องการตามที่กำหนดไว้ในการกำหนดค่า (การตั้งค่าสำหรับภาษา) หรือใช้วิธีที่ง่ายโดยใช้ภาษาของเบราว์เซอร์ UI ดูบทความ W3 การตั้งค่าภาษาในเบราว์เซอร์ส่วน การเปลี่ยนการตั้งค่าของคุณวิธีเปลี่ยนการตั้งค่าเหล่านี้สำหรับอุปกรณ์มือถือ, Edge, Chrome, Firefox และ Safari

IE, Edge และ Safari เป็นภาษาเดียวที่ใช้โดยค่าเริ่มต้นเป็นภาษาที่ติดตั้งในระบบปฏิบัติการ

คุณสามารถใช้ Internationalization Checker เพื่อค้นหาภาษาที่เบราว์เซอร์ของคุณร้องขอ


ดังนั้นถ้าฉันเข้าใจคุณอย่างถูกต้องแล้วการแปลงตำแหน่งทางภูมิศาสตร์ของที่อยู่ IP จะไม่เปลี่ยนค่าของHTTP_ACCEPT_LANGUAGEส่วนหัว? ผมใช้การเชื่อมโยงที่คุณกล่าวถึงและผมพบว่าเบราว์เซอร์ของฉัน (Firefox) Accept-Language: de,en-US;q=0.7,en;q=0.3ใช้ ฉันมาจากประเทศเยอรมนีพร้อมระบบปฏิบัติการเยอรมันฉันไม่เคยเปลี่ยนการตั้งค่าภาษาของเบราว์เซอร์ ดังนั้นอาจHTTP_ACCEPT_LANGUAGEได้รับการเปลี่ยนแปลงเช่นกันหากคุณเพิ่งเข้าชมหน้าเว็บในภาษาอื่นบ่อยเพียงพอ
Adam

ไม่มีเอกสารมากและไม่มีมาตรฐานแน่นอน Firefox อาจพิจารณาพจนานุกรมที่ติดตั้งและคำแนะนำอื่น ๆ Chrome อาจทำต่างออกไป ไวยากรณ์ข้างต้นหมายถึง: "ฉันชอบภาษาเยอรมัน แต่จะยอมรับภาษาอังกฤษแบบอเมริกันและภาษาอังกฤษอื่น ๆ " ทั้งหมดนี้เป็นเพียงการวิเคราะห์พฤติกรรมที่เซิร์ฟเวอร์ยังใช้เวลาส่วนหนึ่ง - ดูการเจรจาต่อรองเนื้อหา
harrymc

สิ่งที่ไม่qพารามิเตอร์ที่มีความหมาย?
BugWhisperer


ใช่ฉันพบว่าหลังจากนั้นไม่นาน ภาษาที่ต้องการจะเป็นพารามิเตอร์แรกในHTTP_ACCEPT_LANGUAGEส่วนหัวเสมอหรือไม่
BugWhisperer
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.