{アカウント毎,ログイン後}の URL 設計

Abstract

各ユーザアカウントごとにリソースを持ったりする類のウェブアプリケーションの URL 規則に悩む。

Created
2007-02-11T20:30:08+09:00
Prev
初^H立春のおよろこび申し上げます
Next
うさぎロリポップ
Tags

(Article)

以下のような仕様のウェブアプリケーションの URL 付けに悩む。

  1. 各ユーザがアカウントを持ち,ログインできる
  2. 各ユーザが何らかのデータを,ログインしている他ユーザや,あるいは非ログインユーザに公開できる
  3. ログインしたときにだけアクセス可能な画面がある

以下は,この 2 と 3 の URL をどうしましょか,というお悩み相談。

アカウントごとのURL

2 を実現するために,よく http://example.jp/home/klm/ (klm はユーザ名)みたいな URL が用いられる。この URL をどうしようか,というのが,ひとつめの悩みどころ。

a. 直下にユーザ名
del.icio.us や,はてなのそれぞれのサービスなどがこれ。間に何も挟まず,http://del.icio.us/klm のように直下にユーザ名をつける。この方式の欠点は,popular,tag,logout などのシステム側が利用する名前をユーザ名に使えないこと。See also: id:task 問題(存在するユーザ名に衝突する URL マッピングが後に追加されてしまった話)
b. home とかを挟む
Flickr(/photos/),Last.fm(/user/),Remember the Milk(/home/),Livedoor Reader(/public/)など。ほかにもいろいろあるけど割愛。
c. UserDir 方式
/~klm/ みたいなの。RFC1738 に基づけばこの "~" を "%7E" とエスケープせねばならないといった事情があったため,敬遠されそう。ざっと調べたり思い出したりしても,やはりこれを採用しているシステムはないし。RFC2396 的には(今や)問題ない(はず)。

無難なのは b なんだけれども,何を挟むのかとても悩む。どれに市民権があるのかもよくわからない。うーむ。個人的には c を採用したいんだけれども,現実的には敢えてそうしなくても,という感じなのかしら。ブラウザ側はもう概ね問題ないんだろうけども,URL をデータとして扱う他のアプリがそれをうまく扱えなければあまり美味しくないしなあ。適当にぐぐった限りでも,最近のウェブアプリでも同定問題がでてるようだし。

ログイン後のURL

さらにもうひとつ,3 の URL をどうするか,というのがありまして。 これには大きく分けて二つのやり方がありそうな感じで:

a. 2 のアカウント別ページでやってしまう
上記のサイトの多くがこれ。自分のアカウントのページに,ログインしないとできない機能へのアクセスが追加される。これの問題点は,特殊機能がない場合の見栄え(非ログイン,あるいは,他人が自分のアカウントのページを見た場合)を再現するためのビューは別途設けなければならないこと。e.g. mixiの「プロフィール確認」。
b. 別途 URL を設ける
Livedoor Reader(/reader/)など,多くのフィードリーダがこれ(だと思う。調べてないけど)。Referrer 漏洩を考えなくてよい (/reader/ が漏れてもどのユーザかはわからない,という意味で)
b'. トップページ(/)
bの特殊な形。あった気がするけどぱっと出てこない... Yahoo! Days がそうらしい(とぴあさんに教えてもらいましたどうもありがとう)。

多くのアカウント間をブラウズするような,コミュニケーション要素のあるサービスでは a 方式がよさそう(cf. 他人のアカウントから自分アカウントへのリンクをおく場合,どこにリンクするのが妥当?)。 一方,基本的にひとりで利用するような,フィードリーダーや ToDo 管理のようなサービスでは b 方式かな? b 方式は 2 の問題と同様に,どういう名前にするのかとても悩む。b' にすると名前を考えなければならないという呪縛からは逃れられるが,例えばはてブトップページのようなものをトップに置きたくなったりもしますよねぇ。

RTM は後者のタイプのアプリケーションであるけども a 方式をとっていますね。よくみると,公開タスクのビューとログイン後のビューが合わせてあり,同一の URL としてマップしても違和感が無いように作ってありますね。「基本的にはひとりで利用するけども,多少は他ユーザとのコミュニケーションも行う」ようなアプリの場合は,a 方式でがんばって違和感の無いようUIをつくる方策がよいのかもしれません。今つくってるアプリは,これでいくかなー。

なんか,ご意見等ありましたら是非。

Comments

unsurfpsypona (2009-08-01T02:22:42+09:00)
ѓVѓAѓЉѓX •›Ќм—p ѓoѓCѓAѓOѓ‰ ѓVѓAѓЉѓX ѓVѓAѓЉѓXЏщ
keonodrucknopa (2009-09-01T06:07:10+09:00)
404 Not Found Apache/2.2.3 (Debian) mod_python/3.2.10 Python/2.4.4 PHP/5.2.0-8+etch15 mod_ssl/2.2.3 OpenSSL/0.9.8c Server at allhomedecor.org Port 80 Not Found The requested URL /forxru2/zadanie.txt was not found on this server.
(anon) (2009-09-01T07:02:07+09:00)
The requested URL /forxru1/zadanie.txt was not found on this server. Apache/2.2.3 (Debian) mod_python/3.2.10 Python/2.4.4 PHP/5.2.0-8+etch15 mod_ssl/2.2.3 OpenSSL/0.9.8c Server at allhomedecor.org Port 80 404 Not Found Not Found
stalnomardaestan (2009-09-02T10:17:03+09:00)
The requested URL /forxru1/zadanie.txt was not found on this server. Not Found 404 Not Found Apache/2.2.3 (Debian) mod_python/3.2.10 Python/2.4.4 PHP/5.2.0-8+etch15 mod_ssl/2.2.3 OpenSSL/0.9.8c Server at allhomedecor.org Port 80
suimartidena (2009-09-02T11:06:03+09:00)
404 Not Found The requested URL /forxru2/zadanie.txt was not found on this server. Apache/2.2.3 (Debian) mod_python/3.2.10 Python/2.4.4 PHP/5.2.0-8+etch15 mod_ssl/2.2.3 OpenSSL/0.9.8c Server at allhomedecor.org Port 80 Not Found
sasuncreelshotka (2009-09-03T04:26:30+09:00)
The requested URL /forxru1/zadanie.txt was not found on this server. Not Found Apache/2.2.3 (Debian) mod_python/3.2.10 Python/2.4.4 PHP/5.2.0-8+etch15 mod_ssl/2.2.3 OpenSSL/0.9.8c Server at allhomedecor.org Port 80 404 Not Found
clasnurredunfi (2009-09-03T05:02:21+09:00)
The requested URL /forxru2/zadanie.txt was not found on this server. Apache/2.2.3 (Debian) mod_python/3.2.10 Python/2.4.4 PHP/5.2.0-8+etch15 mod_ssl/2.2.3 OpenSSL/0.9.8c Server at allhomedecor.org Port 80 404 Not Found Not Found
withcutilessli (2009-09-05T16:12:07+09:00)
The requested URL /forxru1/zadanie.txt was not found on this server. Not Found 404 Not Found Apache/2.2.3 (Debian) mod_python/3.2.10 Python/2.4.4 PHP/5.2.0-8+etch15 mod_ssl/2.2.3 OpenSSL/0.9.8c Server at allhomedecor.org Port 80
sotastund (2009-11-06T03:48:13+09:00)
Excusez, j'ai pensГ© et a Г©loignГ© la question www.gnduonline.com viagra en ligne
sotastund (2009-11-08T09:38:37+09:00)
il me semble, vous n'ГЄtes pas droits www.gnduonline.org achat viagra
name(2010-01-01T02:43:18+09:00)
comment3,

Request for Comments

Individual Info. (optional)
Comments (required)

(HTML tags are not allowed.)

Trackbacks

(nil)

Request for Trackbacks

Trackback URI: http://okowa.org/vector/2007/02/11/url-design/tb

Topic Path

  1. okowa.org
  2. LoveVector
  3. 2007
  4. Feb
  5. 11
  6. {アカウント毎,ログイン後}の URL 設計
Last-Modified
2010-01-01T02:43:18+09:00
Feeds
Recent Updates (RSS 1.0)
Powered by
XML::LibXSLT / format.xsl / Movable Type 3.31-ja
LoveVector : klm <klm at okowa dot org>