HTML5 위치 정보는 어떻게 작동합니까?
Chrome 및 Firefox에는 HTML Geolocation이 구현되어 있습니다.
제 질문은 어떻게 작동합니까? 그들은 로컬에 데이터베이스를 가지고 있고 공급자로부터 정보를 얻은 다음 일치 시키려고합니까?
DB는 어디에 저장됩니까? 액세스 할 수 있습니까?
Update1 : 지리적 위치의 유일한 단점은 브라우저가 사용자에게 권한을 요청해야한다는 것입니다. 이것은 사용성에있어 정말 나쁜 일입니다. 보안 문제를 이해하지만 이것이 어떻게 인기있는 솔루션이 될지 모르겠습니다.
Update2 : Firefox는 Google WebService를 사용하여 위치를 감지합니다. 이제 그들이 경쟁자라는 점을 감안할 때 이것은 매우 이상해 보입니다. 또한이 동작은 나에게 정말 예상치 못한 일입니다 ... 각 브라우저가 (오프라인 일 수도 있음) 솔루션을 사용하기를 바랐습니다.
Update3 : 브라우저가 실제로 무선 네트워크 카드를 사용하는 라우터를 감지합니까?
Update4 : 결국 브라우저가 Google 웹 서비스에 보내는 정보는 무엇입니까? 감지 된 SSID는 괜찮아 보이지만 (그리고 일치하는 정보를 찾기 위해 데이터베이스에서 조회하기 위해 물리적 위치를 기반으로하여 Google에 의해 추적되는 경우 이치에 맞습니다.) Google이 이것을 스캔하지 않은 국가에서 어떻게 그렇게 잘 작동합니까? 브라우저가 보내는 다른 정보는 IP이지만 정확한 위치를 정확히 가리 키기에 충분하지 않습니까?
이것을 구현할 수있는 다른 브라우저에 관해서. 어떻게해야합니까? API는 문서화되어 있지 않습니다. 예전 사용되지 않는 GEAR API만이 단서를 제공합니다. 그래서 이것은 실제로 공개되지 않습니다.
그만한 가치는 API 사양 자체가 지리적 위치 구현과 무관합니다. 따라서 Mozilla Firefox와 Google Chrome이 모두 Google의 위치 서비스 데이터베이스를 통해 네트워크 기반 위치 정보에 의존한다는 것은 사실이지만 표준의 요구 사항은 아닙니다. 예를 들어 iPhone의 Mobile Safari는 주어진 순간에 가장 정확하고 액세스 가능한 위치 서비스에 따라 WiFi 삼각 측량 또는 셀 사이트 위치 정보 대신 GPS를 사용하는 경우가 있습니다.
그리고 미래의 브라우저가 위치 제공 업체를 선택할 수 있기를 바랍니다. 브라우저가 WiFi ID 목록을 제 3 자에게 보낼 필요가없는 지리적 위치 기술을 지원한다면 사용자 개인 정보 보호 및 기능에 도움이 될 것이라는 데 동의합니다. GPS 센서가 스마트 폰과 노트북에 더 자주 통합됨에 따라 W3C Geolocation API에 GPS 감지를 사용할 수있는 브라우저를 보게 될 것입니다. 또한 브라우저 설정에서 위치를 수동으로 지정할 수있는 데스크톱 컴퓨터 용 기능이 있으면 좋을 수 있습니다.이 기능은 현재 사양과도 호환됩니다.
첫째, 놀라운 데모
보십시오 이 크롬에.
작동 원리
여기 에 답이 있습니다. "Google 크롬이 귀하의 위치를 결정하는 방법"을 클릭하십시오.
해당 페이지에서 :
Google 크롬이 사용자의 위치를 사이트와 공유하도록 허용하면 브라우저는 사용자의 위치를 추정하기 위해 로컬 네트워크 정보를 Google 위치 서비스로 전송합니다. 그러면 브라우저가 요청 사이트와 위치를 공유 할 수 있습니다. Google 위치 서비스에서 사용자의 위치를 추정하는 데 사용하는 로컬 네트워크 정보에는 신호 강도를 포함하여 보이는 WiFi 액세스 포인트에 대한 정보가 포함됩니다. 로컬 라우터에 대한 정보; 컴퓨터의 IP 주소. Google 위치 서비스의 정확성과 범위는 위치에 따라 다릅니다.
Google 크롬은 쉽게 검색 할 수 있도록 위치 정보를 저장합니다. 이 정보는 주기적으로 업데이트됩니다. 업데이트 빈도는 로컬 네트워크 정보의 변경 사항에 따라 다릅니다.
또한 Google 위치 서비스에는 라우터의 WiFi 신호와 위치를 일치 시키기 때문에 Google 스트리트 뷰 밴에서 수집 한 데이터로 구축 된 데이터베이스가 포함되어 있다고 생각합니다 (또는 적어도에서 사용 ).
데이터베이스 액세스
데이터베이스 (Google 위치 서비스)의 경우이 SO 질문이 액세스하는 데 도움이됩니다.
Firefox에서 새 탭을 열고 주소를 입력합니다 about:config. 경고 메시지를지나 geo.wifi.uri필터 상자에 입력하면 이제 Firefox가 위치를 결정하는 데 사용하는 웹 서비스를보고 있습니다.
에서 파이어 폭스의이 "어떻게 작동합니까" :
위치 인식 웹 사이트를 방문하면 Firefox에서 위치를 공유 할 것인지 묻습니다.
동의하면 Firefox는 근처의 무선 액세스 포인트와 컴퓨터의 IP 주소에 대한 정보를 수집합니다. 그런 다음 Firefox는이 정보를 기본 위치 정보 서비스 제공 업체 인 Google 위치 서비스에 전송하여 사용자의 위치를 추정합니다. 그러면 해당 위치 추정이 요청 웹 사이트와 공유됩니다.
동의하지 않는다고 말하면 Firefox는 아무것도하지 않습니다.
및 "Chrome이 사용자의 위치를 결정하는 방법"에서 :
Google 크롬이 사용자의 위치를 사이트와 공유하도록 허용하면 브라우저는 사용자의 위치를 추정하기 위해 로컬 네트워크 정보를 Google 위치 서비스로 전송합니다. 그러면 브라우저가 요청 사이트와 위치를 공유 할 수 있습니다. 위치를 공유하기 전에 웹 사이트의 개인 정보 보호 정책을 검토해야합니다.
update4의 마지막 질문에 대한 내 추측은 사용하는 장치에 따라 때때로 위치를 업데이트한다는 것입니다. 예를 들어 PC 만 사용하여 웹에 액세스하고 근처에 알려진 Wi-Fi 네트워크가없는 경우 IP 주소로 위치가 결정되지만 네트워크에 대한 정보가 수집됩니다. 나중에 iPhone 또는 다른 장치를 동일한 Wi-Fi 네트워크에 GPS를 연결하고 GPS를 사용하면 Google이 해당 GPS 좌표를 Wi-Fi SSID 또는 IP 주소와 일치시킵니다. 따라서 PC의 브라우저가 지리적 위치에 대한 요청을 보낼 때마다 IP와 SSID가 일치하는지 (그리고 이웃의 SSID와 같은 다른 것들도) 일치하는지 확인하고 일치하면 반환됩니다. GPS가 장착 된 장치에서 이전에 결정된 위치.
Update:
Firefox
Google Chrome
참고URL : https://stackoverflow.com/questions/4213410/how-does-html5-geolocation-work
'Programing' 카테고리의 다른 글
| 후기 입 및 연속 기입 캐싱? (0) | 2020.11.12 |
|---|---|
| 프로그래밍 관용구 란 무엇입니까? (0) | 2020.11.12 |
| 자바 스크립트의 루프 내에서 콜백을 사용할 때 콜백에서 사용하기 위해 루프에서 업데이트 된 변수를 저장하는 방법이 있습니까? (0) | 2020.11.12 |
| ggplot의 제어점 테두리 두께 (0) | 2020.11.12 |
| Phone gap vs React Native (0) | 2020.11.12 |