
我很清楚這個問題已經被問過很多次了,但是請大家閱讀這個問題。另外,我正在盡力表達這個問題,因此有前奏/問題部分。
序幕:
GeoIP 資料庫預先建立了 IP 與其地理位置的對應。無法保證它們的準確性,對嗎?例如,APNIC 表示,IANA 將 IP 區塊分發給各個 RIR。而且,APNIC 可以將 IP 分發給世界任何地方的任何人;不僅限於亞太地區。因此,目前存在的 Geo-IP 映射的準確性尚不確定。
問題:
1.
鑑於這種不確定性,Facebook 和 Google 等大型網站如何應對?我特別談論他們給我們的電子郵件/訊息的“時間戳”。他們不會猜測我們的位置,從而猜測訪問 IP 的時區嗎?假設,當我透過連線到位於加拿大的 VPN 存取 Gmail 時,我的郵件會被標記為 ETC。當我連接到美國的一台時,它會標有太平洋時區。考慮到前面提到的不確定性,他們提供錯誤時間戳的可能性不是很大嗎?但老實說,我從來沒有看過這種情況發生。
我們如何解釋它們始終顯示準確的時區並且永遠不會出錯的事實?
2.
這可能與(1)類似,如有請見諒。
我可以遠端存取使用屬於美國註冊表的 IP 位址註冊的伺服器。但它的地理位置位於東京的 DC 內。如果透過某種機制我透過該伺服器存取我的 gmail 收件匣(可能是遠端 X 會話?)。
我會在郵件中看到哪個時區?
問題更新:
(您甚至可以忽略前面的「問題」部分(1)和(2))
透過Iain 的回复,我意識到我正在尋找的答案是- “網站如何向用戶提供地理定位的網絡體驗” 例如,來自加拿大的訪問者將被重定向到google.ca,來自印度的訪問者將被重定向到google.co。語言甚至是根據地理位置設定的。
因此,如果我要建立一個需要為使用者提供地理定位體驗的網站,我必須依賴像 MaxMind 這樣的地理 IP 資料庫。所以我仍然有犯錯的機會,對嗎?像 Google 和 Facebook 這樣的網站能夠保持地理 IP 的準確性,因為它們的服務非常足智多謀,並且從最終用戶收集資料的方式,對吧?
答案1
雖然無法保證地理定位 IP 位址的準確性,但它們通常比您想像的更準確。因此,你的其餘問題有點沒有實際意義。同樣,您假設地理定位的 IP 位址用於顯示時間信息,但情況可能並非總是如此。
假設,當我透過連線到位於加拿大的 VPN 存取 Gmail 時,我的郵件會被標記為 ETC。當我連接到美國的一台時,它會標有太平洋時區。
Gmail 不執行此操作。 GMail 使用您正在使用的電腦的時區偏移設置,而不是您連線時的地理定位 IP 位址。 Facebook 也做了同樣的事情。這很容易測試。
由上可知,使用東京的遠端電腦時,如果系統時區設定為東京,GMail 將顯示東京的時間。
雖然 GMail 不使用您連接的地理定位 IP 位址來設定電子郵件的日期,但其他服務確實使用它來為您提供地理定位體驗。例如,Google搜尋將為您提供地理定位服務。
答案2
前奏:這與其說是一個討論的開始,不如說是一個真實的回答。實際上並沒有回答這個問題的技術方面,我相信它可以讓我們了解為什麼 GeoIP 或類似服務對大公司來說並不那麼重要。
問題中提到的兩家服務供應商Google和 Facebook 是迄今為止網路上最廣泛、最深入的公司。如果有一家公司擁有可靠的知識庫,了解其客戶從哪裡進行連接,那麼這些公司就是最熱門的候選人。
您是否注意到有多少人在他們的所有貼文中添加了各種與地理相關的內容? Facebook 為何總是要求您在發佈的內容中新增地址或職缺?人們自願給出有關其行踪的正確資訊是最好的依據來源,任何好的統計方法都可以在此基礎上做出類似準確的假設。
谷歌無所不在——不僅是在可見的他們透過瀏覽器視窗提供的服務。以無處不在的Android 手機、平板電腦和大量其他小工具為例,要求您提供您的位置(並承諾匿名- 在這種情況下為什麼不呢,他們只需要IP 相關內容和您的位置的組合)。還有廣告和分析服務,在遍布全球的網站、其用戶以及…是的,任何可用的位置資訊之間提供非常有價值的連結。您實際上不必監視人們,擁有如此良好且廣泛的服務集可以更輕鬆地添加必要的內容二加二在Google數學大腦校園。
答案3
您似乎對註冊表的工作方式感到困惑。 IP 位址範圍(請注意,我們正在討論的是地址這裡 - 不是 IP名字非常不同)可以由具有不同地理位置的註冊商維護 - 但這是極其罕見的 - 因為這也是有關將資料包路由到網路的資訊來源。
如果您查看 whois 記錄,您會看到它包含該國家/地區的 ISO-3166 代碼。例如
[colin@localhost ~]$ whois 82.13.151.104
% This is the RIPE Database query service.
[剪]
inetnum: 82.13.144.0 - 82.13.175.255
netname: INFRASTRUCTURE
descr: NTL Infrastructure - Watford
country: GB
admin-c: NNMC1-RIPE
tech-c: NNMC1-RIPE
status: ASSIGNED PA
mnt-by: AS5089-MNT
remarks: INFRA-AW
source: RIPE # Filtered
可以根據追蹤路由資訊推測有關 IP 位址位置的更多資訊 - 延遲是距離的指標 - 並且它應該逐漸(在地理上)接近目標。
但如果我的唯一目標是在客戶端顯示時間,那麼我不會使用這種方法(除非作為後備) - javascript 知道如何將 UTC/GMT 時間轉換為本地時區(儘管它實際上並沒有披露該時區是什麼- 至少不明確)。
此外,如果您可以使用 JavaScript,那麼您可以使用地理定位 API 來取得更精確的位置。
答案4
非常有趣的問題。我對 Gmail 不太熟悉,所以我將提供部分背景資訊:
"3.3. Date and Time Specification
Date and time occur in several header fields. This section specifies the syntax
for a full date and time specification.
[...]
The day is the numeric day of the month. The year is any numeric year 1900
or later.
The time-of-day specifies the number of hours, minutes, and optionally seconds
since midnight of the date indicated.
The date and time-of-day SHOULD express local time.
The zone specifies the offset from Coordinated Universal Time (UTC, formerly
referred to as "Greenwich Mean Time") that the date and time-of-day represent."
因此,每個郵件伺服器都會在每個傳遞的郵件中新增一個標頭值,其中包含根據該伺服器的時間以及與 UTC 的偏移量。
客戶端隨後查看其自己的郵件主機所新增的時間戳,並根據客戶端本身配置的時區重新解釋該時間戳記。
如果也使用 IP 位址地理定位,則這將不符合 Internet 訊息格式規格。我自己從未見過電子郵件客戶端/伺服器設定使用的地理定位,但我很想聽聽其他人是否使用過。