#?SuikaWiki/0.9 page-icon="HTTP" [1] geo-header は、 [[HTTP]] を使ってサーバーやクライアントの物理的位置情報を伝達する[[頭欄]], あるいはその規格化の試みのことを指します。 Internet Draft draft-daviel-http-geo-header が定義する [[HTTP]] 拡張頭欄。類似の draft-daviel-html-geo-tag は [[HTML]] の META 要素用の値の定義。 [2] HTTP 通信で位置情報を示すことで、 地域に密着したサービスが可能になります。 地図サーバーは初期位置として利用者の現在位置を使うことが出来るでしょう。 一方で、利用者がどこにいるかをサーバーが知り得ることは、 安全上の問題にもつながりかねません。 ソフトウェア的危害のみならず、物理的な意味での社会的な問題に直接的に発展しかねないので、利用に当たっては十分の配慮が必要となるでしょう。 [[#comment]] *例 -geo.position: 48.54;-123.84;120 北緯48.54度西経123.84度基準点から120メートル上の資源。 -geo.position: -10;60 南緯10度東経60度 -geo.region: CA-ON カナダ・オンタリオ -geo.region: GB イングランド (大ブリテン) -Accept-Geo: position,region サーバーあるいは代理者が、 geo.position と geo.region の両方を受け付ける用意がある。 *BNF ;; draft-daviel-http-geo-header を元に、意味を変えない程度に整理。 -UCASE = %x41-5A ; A-Z -country = 2UCASE ; 2-letter code from ISO3166 -region = 1*3UCASE / 2DIGIT ; region code from ISO3166-2 -sign = "+" / "-" ;; 南緯, 西経が「-」 -latitude = [sign] *2DIGIT ["." *DIGIT] ;; 緯度 0°〜90° -longitude = [sign] *3DIGIT ["." *DIGIT] ;; 経度 0°〜180° -elevation = [sign] *DIGIT ["." *DIGIT] ;; 標高 -position = latitude ";" longitude [";" elevation] -georegion = country ["-" region] -accept-field = "position" / "region" -geo.position = "geo.position:" *WSP position -geo.region = "geo.region:" *WSP georegion -accept.geo = "Accept-Geo:" *WSP accept-field *1("," accept-field) ;; 符号だけで数値無しとか、小数点あって小数部なしとか許されるけどいいんかね? [[#comment]] *関連規格 [3] geo-header と同じ人達が提唱するものとして、 [[geo-tag]] があります。こちらは [[HTML]] の [[meta]] 要素を使って同様のことをするものです。 [4] [[X-JPHONE-Geocode:]] 欄は、書式こそ違いますが、 geo-header と同じことを [[JPHONE]] で実装したものです。 [[#comment]] *メモ - [5] [[HTTP]] 的見地から geo-header の興味深い点を挙げるなら、[[名前空間]]的意味で接頭辞 [CODE(HTTP)[geo.]] を使っていることでしょう。 - [6] [[惑星間Internet]]的見地(w)から問題点を挙げるなら、地球外での利用を考慮していないことでしょう。 [CODE(HTTP)[geo.position]] は何らかの旗で座標系を明示できるようにする方がいいです。 (そうそう、[[世界測地系]]と[[日本測地系]]みたいな問題がありますから、注意が必要ですね。) - [7] [CODE(HTTP)[geo.region]] についても、 [CODE[x-]] のような[[私用]]の仕組みがないと地球外どころか公海上さえ表現できません。また、国内の表記法の一意性が現在の規格では保証できませんね。 (気にしないというスタンスかもしれませんが...)