読者です 読者をやめる 読者になる 読者になる

町田市は神奈川県固有の領土であるか、PHPを用いて検証する

日本の政治にて昨今領土問題の緊張が増しているが、皆さんはPHPの開発者の間の一部でも長年あの地域についての領土問題が取り沙汰されていたのはご存知だろうか?そう、コメダコーヒーが乱立する都市・町田市である。

もしあなたが小田急江ノ島線ユーザなら自明の理かも知れないが、バルト三国やスウェーデン、フィンランド、ノルウェーの配置など諸外国についてあなたは答えられるだろうか。諸外国については、その国に関するサイトのドメイン名で推測するかも知れない。...しかしその考えは危険だ。

つい先日以下のような主張を掲げるサイトが発見された。

町田市は神奈川県固有の領土であることを主張するサイトです(準備中)
http://www.city.machida.kanagawa.jp/

ドメイン名には、なんと町田と神奈川を含んでいる。お手上げだ。ヨドバシカメラ町田店のように境目が分からない。

しかし、Public Suffix Listを用いてそのドメイン名のサフィックスについて検証することもできるだろう。
PHPではすでに、そのサブセットとなりうるというライブラリが開発されている。

PHP Domain Parser
https://github.com/jeremykendall/php-domain-parser

今回は、上記の`http://www.city.machida.kanagawa.jp/`ならびに
`http://www.city.machida.tokyo.jp/`について判定を行う。

<?php
use Pdp\PublicSuffixListManager;
use Pdp\Parser;

// Obtain an instance of the parser
$pslManager = new PublicSuffixListManager();
$parser = new Parser($pslManager->getList());

var_dump($parser->parseUrl('http://www.city.machida.kanagawa.jp/'));
var_dump($parser->parseUrl('http://www.city.machida.tokyo.jp/'));

このコードの出力結果は下記の通りだ。

class Pdp\Uri\Url#6 (8) {
  private $scheme =>
  string(4) "http"
  private $host =>
  class Pdp\Uri\Url\Host#5 (3) {
    private $subdomain =>
    string(8) "www.city"
    private $registerableDomain =>
    string(19) "machida.kanagawa.jp"
    private $publicSuffix =>
    string(11) "kanagawa.jp"
  }
  private $port =>
  NULL
  private $user =>
  NULL
  private $pass =>
  NULL
  private $path =>
  string(1) "/"
  private $query =>
  NULL
  private $fragment =>
  NULL
}
class Pdp\Uri\Url#5 (8) {
  private $scheme =>
  string(4) "http"
  private $host =>
  class Pdp\Uri\Url\Host#6 (3) {
    private $subdomain =>
    string(3) "www"
    private $registerableDomain =>
    string(21) "city.machida.tokyo.jp"
    private $publicSuffix =>
    string(16) "machida.tokyo.jp"
  }
  private $port =>
  NULL
  private $user =>
  NULL
  private $pass =>
  NULL
  private $path =>
  string(1) "/"
  private $query =>
  NULL
  private $fragment =>
  NULL
}


...いかかであろうか。
machida.kanagawa.jpについては、それ自体が登録ドメインであるが、machida.tokyo.jpについては、それ自体が`Public Suffix`であり、city.machida.tokyo.jpが登録ドメインだというのがお分かりいただけただろうか?

本記事執筆時点では、町田は東京に属すると見て結論に至りたいが、平成の大合併がある昨今、神の雷が多摩川に落ちることにより町田が神奈川の領土となる日もそう遠くはないのかも知れない。

追記

本記事執筆中に、町田が神奈川であることを画策するmachida.kanagawa.jpの登録者がSSL対応を行ったことが確認された。


しかし、httpsであっても一登録ドメインであることに変わりがないことは、あなたが`PHP Domain Parser`を実際に動かすことにより確認いただきたい。

$parser->parseUrl('https://www.city.machida.kanagawa.jp/');

参考:
町田市
http://ja.uncyclopedia.info/wiki/%E7%94%BA%E7%94%B0%E5%B8%82
http://en.wikipedia.org/wiki/Public_Suffix_List
都道府県型JPドメインがCookieに及ぼす影響の調査
http://blog.tokumaru.org/2011/09/jpcookie.html
Geekなぺーじ:「欠陥ドメイン名」が世界的に増えそうな件について
http://www.geekpage.jp/blog/?id=2011/9/29/1
machida.kanagawa.jpで露呈した都道府県ドメインの致命的欠陥
http://blogs.itmedia.co.jp/sakamoto/2013/08/machidakanagawa-e10f.html
電車に落雷?動画サイトで話題 小田急、多摩川で12日
http://sankei.jp.msn.com/life/news/130814/trd13081422240020-n1.htm