アダルトサイトで学ぶHTTP基礎(5)
アダルトサイトで学ぶHTTP基礎(1)とある「アングラサイト」の記述によれば「アダルトサイトでは基本的にJavaScriptはオフ、ただしJavaScriptを切ると巡回できないサイトもあるから、そういう場合はオンにしろ」ということです。ここらへんを掘り下げていきましょう。
アダルトサイトで学ぶHTTP基礎(2)
アダルトサイトで学ぶHTTP基礎(3)
アダルトサイトで学ぶHTTP基礎(4)
閲覧者(のブラウザ)はサーバーに対してリクエストを行う。普段、閲覧者は「リクエスト」を意識していない。それはブラウザが何らかの言語を解釈し閲覧者に「リクエスト」という行為を意識させないからだ。「ブラウザによる言語の解釈をやめさせる」ということは「リクエストを手動で行わなくてはいけない」ということである。これは同値関係だ。
と、いうことは。
ここを誤解していませんでしたか?「JavaScript必須サイト」とは「JavaScriptを切ると巡回できなくなるサイト」ではないんです。何故なら、JavaScriptをオンにしたとしてもその処理に従ってサーバーに対しリクエストを行うのはクライアント(のブラウザ)だから。「JavaScriptをオフにすると変わる点」というのは「ブラウザがJavaScriptを解釈してくれないから閲覧者が解釈しないといけなくなる」ということ(だけ)です。
そして最後に「リクエスト」に関するもう少し踏み込んだ解説をしてこの連載を終えようと思います。
「リクエスト」とは端的に言えば以下のような意味を持った文字列です。
「俺IPアドレス*****でこんな感じなお客様だけどお前のとこの*****が欲しいからよこせ」
こんな感じなお客様だけど「リクエスト」には「自分が使っているブラウザの種類」や「自分が現在どこにいるか(=どのページから目的のファイルをリクエストしようとしているか)」を加えることができます。前者は「User-Agent」で後者は「Referer」。こうした情報群は「環境変数」と呼ばれます。例えばサーバーは「リクエスト内のUser-Agentを参照して特定のブラウザを使っている人にしかファイルを渡さない」「リクエスト内のRefererを参照して正当なページからのリクエストでなければファイルを渡さない」といった処理を行うことが可能です。
参考:「68user's page」内「環境変数」
我々の制御下にあるのは「どのようなリクエストをサーバーに送信するか」という点だけなんです。アダルトサイトで学ぶHTTP基礎(1)で書いたこの文章は二つの意味を持っている。
- 「リクエストの結果クライアントに何が渡されるか」はサーバーサイドの問題だ。だから、例えば「サーバーが環境変数を参照してファイルを渡したり渡さなかったりする」ということは可能だ(※)。
- 「リクエスト」はクライアントの制御下にある。
※
通常、例えばIEを使って「http://www.tokix.net/index.html」内のリンク文字をクリックし「http://www.tokix.net/adult.html」を開こうとしたならば
といった情報を含めた「リクエスト」が行われる。ブラウザが自動的に(閲覧者の目に触れない場所で)そうした情報を含めた「リクエスト」を行っている。しかしブラウザのアドレス欄に直接「http://www.tokix.net/adult.html」と打ち込んで「移動」を押した場合Refererは「なし」になってしまう。
- User-Agentは「Mozilla/4.0 (compatible; MSIE 6.0; Win32)」
- Refererは「http://www.tokix.net/index.html」
アダルトサイトで学ぶHTTP基礎(4)で挙げた例のように、JavaScriptを使ってページを開くサイトの場合コレが問題になります。JavaScriptをオンにしていれば問題はない。しかしオフにしてソースから「次にリクエストすべきファイル」を探しアドレス欄に打ち込んで「移動」しても「Refererが不正だ」と開かれなかったりする訳です。
アダルトサイトで学ぶHTTP基礎(6)

TrackBack
この記事へのトラックバック