はてブとページ名の長いWikiの、登録URLの長さ問題
- freedomcat
- 13716
- 3
- 33
- 16
#saveMLAK の日本語ページ名のURLをはてブに追加して、はてブから遷移しようとすると文字化けページで「このページはありません」になってしまふ。にゃぜ。
2011-05-03 01:23:08@freedomcat この件はてな側の仕様のようでして。 http://goo.gl/pfHSx たしかにリンクURLは256文字で切られてますね。 http://goo.gl/X5HQN 極端に長い日本語ページ名は気を付けたほうがよいかも。 #saveMLAK
2011-05-03 23:31:40RFC2616のNotesにURLが255bytes以上だとうまくURL扱えないクライアントがあるからそれ以上はやめろという記述があるなぁ。はてブ仕様はそっからきてると考えるのが妥当かなぁ。 http://j.mp/81cOZN
2011-05-04 00:18:05Wikipediaの場合は、ページ名が255byte以下、UTF-8なページ名はさらにそれ以下となってるのか。 http://j.mp/iz1qvG
2011-05-04 00:28:38@freedomcat 以前,法律名が長すぎて略称で項目を建てたものがあったように記憶します。具体的に出てきませんが……
2011-05-04 00:29:24@tmasao RFCとWikipediaを見ると、MediaWiki側でページ名の長さの制限入れるのが正解ぽい感じがします。今、どこに設定あるのか、調べてます。念のため #saveMLAK の施設名で最大長のページ名、調べられますか?
2011-05-04 00:31:31@kzhr よくわかってないのですが、Wikipediaでページを新規作成するときって、ページ名長すぎるとエラーとかになるのでしょうか?
2011-05-04 00:38:01@ninomy savemlak.jpのこのページ、UTF-8なページ名の長さが270Byteで、 httpからはじまる長さだと294Byteになるの。 http://goo.gl/UF8n2
2011-05-04 00:48:36@ninomy で、ページ名の長さの制限をsavemlak.jpではやっているのかどうかがよくわからないんだけど、MediaWikiでは一般的にUTF-8なページ名の長さってどうやって設定しているかわかりますか?
2011-05-04 00:49:41@freedomcat ページ名の長さはデータベースの問題であって,カーネルで設定しています.これの再設定はやってやれないことはないのかもしれませんが,苦労しますよ.
2011-05-04 01:04:55@ninomy UTF-8のURLエンコード問題。一文字、9Byteになる。たとえば「あ」は「%E3%81%82」。なので、日本語ページ名は28文字で252Byte。
2011-05-04 01:18:31@freedomcat URLエンコードすると,1バイトぶんを3文字=3バイト消費して表現することになるのです.そして僕はURLにエンコードした状態での話をしていません.
2011-05-04 01:22:13@freedomcat すなわち,%E3%81%82 は, %E3, %81, %82 で3バイト計算です.むろん,URL長は1バイトをASCII文字3つで表現するため3倍のバイト長になります.
2011-05-04 01:23:09@freedomcat いまのところ最大の長さはこれ: http://bit.ly/iiZOwq 続いて http://bit.ly/l0EtQk ですね…。 #saveMLAK
2011-05-04 01:36:05@tmasao ありがとうございます。MediaWikiはページ名85文字(ja)まで作れるのが仕様(テーブル構造がvarchar(255) utf8_binで、ここで決まってる)ですね。で、URLエンコードされると765Byteになるとこまで理解しました。 #saveMLAK
2011-05-04 02:30:56一方で、はてブにURL長さの仕様を変えてというのも、同じようにデータテーブルの構造を変える必要があると思われるので、これも難しいんだろうなぁ~。と、思ったりしている。悩ましいけど、はてブは見なかったことにしようか。evernoteやtumblrはクリップできるし。
2011-05-04 02:35:46データベースの構造以外にも、はてブはたぶん、携帯ユーザのニーズも想定していて、携帯だと安全なURL長は256byteなんだろうなぁ。んー。
2011-05-04 03:08:17URL長を256byteまでとする仕様はいいんだけど、問題があるとすれば、はてブにURL登録したときに、勝手にURL改変されちゃう(切られちゃう)、エラーがあがらず改変URLが登録されてしまう点ですね。
2011-05-04 03:22:18