Udacity sử dụng Cloudflare làm proxy cho các máy chủ thực tế của họ. Bất kỳ yêu cầu nào https://www.udacity.com
trước tiên sẽ được chuyển đến Cloudflare và sau đó sẽ được chuyển hướng đến miền thích hợp cho vị trí địa lý của nguồn gốc.
Kiểm tra phản hồi của:
curl -iv https://www.udacity.com
Do đó, địa chỉ IP mà từ đó vị trí của bạn có thể được xác định. Cloudflare cung cấp dịch vụ này - nó sẽ thêm tiêu đề định vị địa lý cho bất kỳ yêu cầu nào, sau đó các máy chủ Udacity sẽ sử dụng để xác định tên miền nào sẽ chuyển hướng bạn đến.
Phương pháp xác định vị trí này không phải lúc nào cũng chính xác và có thể dẫn đến kết quả dương tính giả, đặc biệt nếu bạn đang sử dụng nhà cung cấp VPN. Ngoài ra, nó khá chậm tùy thuộc vào cách bạn tìm vị trí địa lý. Nhà cung cấp như Cloudflare có thể thực hiện tương đối nhanh, vì họ xử lý nhiều yêu cầu và có thể lưu trữ thông tin, do đó, nó không thêm vào thời gian yêu cầu. Đối với trang web doanh nghiệp nhỏ của bạn, tôi không khuyên bạn nên sử dụng IP để xác định vị trí của người dùng.
Nhân tiện, việc chuyển hướng không phải là vĩnh viễn, vì bạn có thể thay đổi quốc gia. Vì vậy, sẽ không có nghĩa khi luôn chuyển hướng bạn đến một tên miền phụ cụ thể. Thay vào đó nó sử dụng một 302 Found
chỉ thị , mà chỉ là tạm thời.
Một phương pháp khác để chuyển hướng người dùng dựa trên vị trí của họ sẽ là kiểm tra Accept-Language
tiêu đề của trình duyệt, trong đó chỉ định ngôn ngữ máy khách. Ví dụ, địa phương có thể fr-CH
nói rằng bạn thích tiếng Pháp hơn với một địa phương Thụy Sĩ (họ nói tiếng Pháp ở Thụy Sĩ, nhưng nó khác biệt một cách tinh tế với tiếng Pháp họ nói ở Pháp, do đó cần phải phân biệt). Tuy nhiên, điều này cũng không phải lúc nào cũng đáng tin cậy - tôi có tất cả phần mềm của mình được đặt thành tiếng Anh Mỹ và điều này thường xuyên khiến các trang web nghĩ rằng tôi có trụ sở tại Mỹ. Ở đây, một cách tiếp cận dựa trên vị trí địa lý sẽ đáng tin cậy hơn.