2015年11月27日金曜日

ASP.NETでのURLリライトの流れ


こんにちは山田です。
長年の疑問のURLリライトについてわかってきたので
その覚書です。 

開発環境:ASP.NET2.0
開発言語:C#
IIS:6.1

■URLリライトの別名
URLリライト=URL書き換え
日本語だとURL書き換えとなります。

■そもそもURLリライトは必要なの?
個人的な疑問としてページリライトの技術はURLから判断して、
IISのサーバーのファイルディレクトリ(どの階層にいるのか)がわかりにくくなるし、
今見ているページの関連する記事を探したい場合、URLの法則性がわからないのでなんと打ち込めばよいのかわからない等の感想を持っていました。(こんな使われ方は想定されていいないと思いますが、、、)

一般的にどういう目的で使われているかと
  • URLが短い。
  • URL入力が簡単になる。
  • URL を見ると、サイトの構造がわかる。
  • "短縮可能 (hackable)" である。つまり、ユーザーが URL の一部分を入力すれば、そのサイトを表示して目的のページに移動できる。
というメリットがあるので、やはり必要な技術のようです。
特にURLが短い場合、気軽にそのwebページにアクセスしやすくなりますね。

ASP.NET での URL 書き換え

↑ここをざっと読んでみたのですが。
Umm...よくわからない。

■自分なりに実装したページリライトの流れをまとめてみました。

・実態のURL:/contentDetail.aspx
・必要な引数: userID=yamada&contentID=101
・リライト後のURL: http://blog.jp/yamada0101/

URLで
http://blog.jp/yamada0101/ → とアクセスさせたかった場合
   ↓
web.configにリライトルールを記述する(事前に)
   ↓
IISがリライトルールにそって、そのURLから実態のURLに直す
(/yamada0101/→/contentDetail.aspx?userID=yamada&contentID=101)
    ↓
IISが実態のファイルのページを判定する
(/contentDetail.aspx)
   ↓
クエリスストリングの必要なIDをRequestで取得する
   ↓
取得したuserIDとcontentIDから目的のブログ記事を
DBから取り出してページをレンダリングする
   ↓
  終わり

この流れがわからなくて、もやもやしていました。
他の言語や、開発環境だとまた違うのかな?
またふと疑問に思ってしまいました。

0 コメント:

コメントを投稿