2011年08月18日

たまたまhttp://twitter.com/kazeburo/status/103842813548040192を見かけたのでネタで作ってみただけのコード。

https://github.com/yappo/p5-Plack-Middleware-ErrorpageRedirectloopDefence

今回のリクエストが前回みてたURLと同じなのに関わらず、エラーページを返しちゃう場合にブラウザ側でのコンテンツの更新を抑止する為のmiddleware。
サンプルはhttps://github.com/yappo/p5-Plack-Middleware-ErrorpageRedirectloopDefence/blob/master/sample.psgiみたいなかんじ。

普通にplackupした時に http://localhost:5000/ok にアクセスすると3秒毎にリロードが発生しますが、 http::/localhost:5000/error とかにアクセスすると、リロードが一回しか行われないのが解るとおもいます。

エラーページを表示しているのに、自分自身をリロードする事になってしまう理由は色々考えられますが、エラーページを何回もリロードする意味は無いよねと思って作ってみただけです。

マジレスすると


  • この仕組みを使わなければいけないケースは、何かが間違っている

  • ライブカメラ等の、同じURLに対してmeta-refreshが必須なページに導入すると、たまたまエラーが発生した時にユーザにエラーであると通知する手段がなくなる


等の理由により使うべきではないです。

Posted by Yappo at 2011年08月18日 02:00 | TrackBack | Perl
Comments
Post a comment









Remember personal info?






コメントを投稿する前に↓の場所にnospamと入力してください。