ネットの海の片隅で

技術ネタの放流、あるいは不法投棄。

URLs are (not) alone

少し前にこんなエントリを書いた。

osa.hatenablog.com

要約するとこんな感じ。

  • URL はリソースを一意に特定するのがプライマリな役割だが、可読性が高くて指し示すリソースの内容がわかると嬉しい
    • /articles/2018/03/16 より /articles/great-article のほうが良いよねという話
  • 一方で、リソースの内容がわかるようにするとキーが意味を持つことになり、変更される可能性がある
    • /articles/great-article/articles/awesome-article に変更される可能性

リソースの管理が運営主体によって為されている場合はキーの変更リスクもある程度抑えられると思うが、UGC になると表記ゆれなどもあって変更頻度が結構高くなることが考える。

Cool URIs don't change なので URL は変わってほしくない。Web ってのはリンクなんだ。

このあたり、Wikipedia, Weblio, ニコニコ大百科, ピクシブ百科事典なんかは UGC だけど(マルチバイト文字の)タイトルを path に含めていてそれがベストプラクティス感がある。

ただ、やっぱり表記ゆれとかが怖いなーと思っていたら可読性について別の考え方が浮かんだ。

OGP に頼るという選択肢はどうだろう?

現代において、URL が貼られる場所(Twitter, Slack, Facebook, LINE, etc...)ではだいたい OGP を読み込んでタイトルや画像を展開してくれる。

URL が不変性を持ったままリソースの内容を表現できればそれに越したことはないが、内容を表現するために不変性が失われるのであれば URL に意味を乗せることはスパッと諦めて、OGP に意味を乗せれば良いのではないか。

一度この考え方でアプリケーションを作ってみようと思っている。