トップ > インターネット > インターネット > IP Network Skill

IPを中心に、ネットワーク技術の説明。情報処理試験やベンダ試験対策に。ネスペ解説、技術動向解説。




[ IP Network Skill - No. 0334 - ] HTTPステータスコード その3

発行日: 2007/10/26

‥‥……━━━━━━ IP Network Skill No. 00000334 ━━━━━━……‥‥

     〜 HTTP その8 ステータスコード3 〜

‥‥……━━━━━━━━━━━━━━━━━━━━━━━━━━━━……‥‥

 【まえがき】

 本日は満月です。

 そして月が一年のうちで最も地球に接近する日だそうです。

 そのため一年で最も大きく月が見えます。

 ただ、残念ながら天気が悪くて、最も大きい月を拝めなそう

 です。

 8月の月食のときも天気が悪くて見れませんでした。

 天体観測は気象条件との戦いです。
 
 先日、星を見るため、あえて新月(月が出ない日)の近くの

 日に山のほうへ行ってきました。

 しかし雲が多くて、星が出ていなくて、あきらめて寝てしま

 いました。そして2時過ぎごろ、トイレに行くため起きて、

 布団に入る前に念のため窓を開けてみたら、ものすごいきれい

 な星空でした。

 あまりにたくさん見えすぎて、逆に知識の乏しい私はどれが

 どの星座か全然分からなくなってしまいました。

 寝起きだったので頭がぼーっとしていたのと、山の上の夜は

 寒くて、細かく調べる余裕がなかったです。

 東京では絶対見れない星空、また見に行きたいです。


╋━━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━━━━━━━━━━……‥‥
   ┃本┃日┃の┃試┃験┃対┃策┃問┃題┃ 
╋━━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━━━━━━━━━━……‥‥

 〔問題1〕次のHTTPステータスコードのうち、リソースが更新されていない
     ためキャッシュをそのまま使えばよい、ということを示すものは
     どれか。

   1.205
   2.302
   3.303
   4.304

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ネ┃ッ┃ト┃ワ┃ー┃ク┃の┃基┃礎┃講┃座┃
 ━┛━┛━┛━┛━┛━┛━┛━┛━┛━┛━┛
 -----------------------------------------------------------------
 この企画は処女作「TCP/IPネットワークステップアップラーニング」
http://www.Amazon.co.jp/exec/obidos/ASIN/4774116351/ipnetworksk01-22
 を基に構成変更、加筆、修正、省略。。。いろいろ手を加えたものです。
 TCP/IPネットワークステップアップラーニングは第3刷を重ねました!
 講習教科書などでご利用いただいています。
 -----------------------------------------------------------------

 【11.アプリケーションプロトコル】

 11.14. HTTP

 11.14.5. ステータスコード

 11.14.5.5. Redirectステータスコード

 3xx Redirectionステータスコードは、リクエストを完了するために別のサー

 バへ転送するなど行わなければならないことを示します。

 Redirect(リダイレクト)とは「転送」ということです。

 たとえば、古いサーバから新しいサーバへクライアントを誘導したり、負荷

 分散やセキュリティのためにロードバランサやプロキシ装置で一度リクエスト

 を受け取り、それをリソースを持つサーバ(オリジンサーバとも呼びます)

 に渡すときに使われます。


 300 Multiple Choices

 HTTPではファイル形式や言語が違うが同じ内容のリソースをユーザに見せたい

 場合があります。たとえば動画を見せたいけどブラウザが対応していなければ

 静止画で、とか、英語がメインのページだけど日本語のページもある、といっ

 た感じです。

 このうちどれをクライアントに返信すればよいかはHTTPヘッダ内の値などで

 優先度付けできますが、それでも返す内容が複数ある場合に、サーバはクライ

 アントに対して「どれを見たい?」というレスポンスを返すことができます。

 このとき使われるのが300 Multiple Choicesステータスコードです。


 301 Moved Permanently

 リソースが移動しているときにそれを示すために使われます。

 簡単に確認できる方法としては、ディレクトリの参照時に、パスの最後に "/" 

 をつけないと出てきます。

 総務省の頑張る地方応援プログラムというサイト(特に選んだ理由はありませ

 ん)を "http://www.soumu.go.jp/ganbaru" というURLでブラウザに入力すると

 以下のようなリクエストとレスポンスがやりとりされます。

GET /ganbaru HTTP/1.1
Host: www.soumu.go.jp

HTTP/1.x 301 Moved Permanently
Location: http://www.soumu.go.jp/ganbaru/
Content-Type: text/html; charset=iso-8859-1
Content-Length: 306

GET /ganbaru/ HTTP/1.1
Host: www.soumu.go.jp

 つまり、最初に "http://www.soumu.go.jp/ganbaru" をリクエストしましたが、

 それは "http://www.soumu.go.jp/ganbaru/" にありますよ、ということをサー

 バがLocationヘッダで教えてくれています。その後、ブラウザは改めて "/ganbaru/"

 というリソース(実際にはその配下のindex.html)を参照しに行きます。

 ブラウザが勝手に行うので、キャプチャしないとユーザはそのやりとりには気づ

 きません。


 302 Found (Moved Temporarily)

 RFC2616では302ステータスコードはFoundとし、リクエストされたリソースが

 リクエスト場所とは違うところにある、ということを示します。

 301もリソースは違うところにあるのですが、301の場合は今後もその変更のまま

 であることに対し、302は一時的に場所が変更されたことを表します。

 したがって、301レスポンスを受けたクライアントは、

 "http://www.soumu.go.jp/ganbaru" に2回アクセスすると、2回目は301で受け取った

 Locationの"http://www.soumu.go.jp/ganbaru/" へアクセスを試みます。

 しかし302レスポンスを受け取った場合はどうでしょう。

 経済産業省のサイト"http://www.meti.go.jp/statistics"を試します。

GET /statistics HTTP/1.1
Host: www.meti.go.jp

HTTP/1.x 302 Moved Temporarily
Content-Type: text/html
Location: http://www.meti.go.jp/statistics/

GET /statistics/ HTTP/1.1
Host: www.meti.go.jp

 これも同じくディレクトリパスに最後の "/" をはずして試しましたが、

 こちらでは302ステータスコードが返ってきます。

 この場合、さらに"http://www.meti.go.jp/statistics"をリクエストしても

 302のLocationである"http://www.meti.go.jp/statistics/"へは行かず、

 常に"http://www.meti.go.jp/statistics"へリクエストします。

 302は一時的なリソース位置の変更なので、学習をしないわけです。

 
 303 See Other

 掲示板にPOSTメソッドを使って何か書き込みを行った後、クライアントを

 別のWebページにリダイレクトさせたいときに使われます。

 HTTP/1.1で追加されたステータスコードで、それまでは302が使われていまし

 た。302ではリダイレクトの際にリクエストメソッドを変更しない場合に使い

 ます。たとえばGETメソッドであるWebページを取得しようとしたが、そのWeb

 ページは別のところにあるのでそちらをGETしなさい、というときです。

 掲示板の例だとPOSTメソッドに対してGETメソッドでリダイレクト、という

 形になるため、この場合は303を使います。


 304 Not Modified

 クライアントが条件付きGETリクエストを行ったときに、そのリソースが更新

 されていなければ304を返します。この場合、ブラウザは自分のキャッシュを

 返し、ユーザに閲覧させます。


 305 Use Proxy

 Locationヘッダフィールドとともにクライアントに返されるステータスコード

 です。LocationにはプロキシサーバのURLが入ります。

 ブラウザはこれを受け取ると、そのLocation宛にリクエストをリダイレクトしま

 す。セキュリティ的な観点からプロキシを通したい場合に、サーバがクライア

 ントに指示するのに使われます。


 307 Temporary Redirect

 302と同じです。リソースが一時的に移動していることを明示的に示したい

 場合などに使われます。ブラウザによっては307を理解できない場合がありま

 すが、そのときは300と同じように扱われます。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
かんたんネットワーク入門
http://www.amazon.co.jp/exec/obidos/ASIN/477412124X/ipnetworksk01-22

 私のもう一冊の著書です。先日新宿の紀伊国屋に行ったら、平積み
 されていました、うれしかったです。
 ネットワーク入門の絵本で、初心者の方を中心に好評を得ています。
 新入社員やネットワークを扱う企業のバックオフィスの方々(営業や
 SEではなく、庶務、総務、アドミニストレータの方々)に自分の会社
 で扱っている製品やネットワークの基礎知識を持ってもらうのにも
 よい入門書です。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 解┃答┃と┃解┃説┃
 ━┛━┛━┛━┛━┛

 《本日の試験対策問題》
  (解答)4
   
  (解説)
   条件付GETの条件とは、If-Modified-Since, If-Unmodified-Since, 

   If-Match, If-None-Match, If-Range のいずれかのヘッダフィールド

   を含んでいる場合で、取得するリソースの有効期間やサイズなどの

   条件に一致するときだけ、オリジンサーバ(リソースを持つサーバ)

   にリクエストするものです。

   変更がなければ、条件付きGETを受け取ったサーバは「変更はありま

   せんよ」と304ステータスコードでクライアントに通知します。
   
    
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

◆◆◆◆◆◆ ┃ あとがき ┃ ◆◆◆◆◆◆

 メンテナンスコストについて。

 何でもやってしまうタイプと、何でも人に任せるタイプと

 いると思いますが、私はどちらかというと何でもやって

 しまいたいタイプです。

 特に初めての経験であればやってみたいタイプです。

 先週、カメラについて書きましたが、しばらく使っている

 とレンズや内部の装置に汚れが付いてしまい、それが写真に

 影響を与えてしまいます。

 それで、クリーニングしようと思いました。

 ネットで、メーカー純正のクリーニングキットが7000円くらい

 で売ってました。ちょっと高いのですが、今後も使えるかと

 思い購入しました。

 ところが、洗浄液は別売りで、薬局で無水エタノールを買う

 必要があるとのこと。

 そして、内部のセンサーを掃除するには、別売りのACアダプタ

 を買って、電池ではない電源を使ってシャッター機構を開く

 必要があるとのこと。

 機構や安全面でそうする必要があるのかもしれませんが、クリ

 ーニングするだけですごい出費です。

 サービスセンターに持ち込めば購入後1年は無料、それ以降も

 数百円でクリーニングしてくれるとのこと。

 何十回もクリーニングしてもらえる費用を払わないと自分で

 クリーニングできません。

 ふと考えると、服のクリーニングも同じことですね。

 メンテナンスはプロに任せたほうが安くて安心感もあります。

 adzuki

………………………………………………………           
 IP Network Skill vol.000334 10/26/07
 発行者:adzuki http://www.xai.nu/ipnet  
…………… ipnet7@xai.nu ……           

◎ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄◎
| 新規購読・購読解除・バックナンバー ⇒ http://www.xai.nu/ipnet  
|  IP Network Skill 掲示板
|  ⇒ http://www.xai.nu/cgibin/ipnet/bbs.cgi  
|  バックナンバー一覧              
|  ⇒ http://xai.nu/ipnet/stack/index.html 
|  間違いご指摘
|  ⇒ メルマガにコメントを添えて返信ください。
◎_________________________________◎

 
このメルマガの読者になる
規約 
>> メルマ!の会報誌もお届けします

ブックマーク: はてなブックマークに追加del.icio.usに追加Buzzurlにブックマークニフティクリップに追加ライブドアクリップに追加Yahoo!ブックマークに登録My Yahoo!に追加Add to GoogleRSS

このメルマガを読んでいる人はこんなメルマガも読んでいます

のんびりやろう!情報処理試験! 〜1問1問コツコツと〜
ソフトウェア開発&基本情報技術者試験対策を中心に初級シスアドや高度区分まで幅広く対応。流行のIT用語の解説も行っているので,パソコンについて勉強した...
Office & VBA パーフェクトマスター
Excel・Access・Word等の今さら聞けない「疑問」、今すぐ知りたい「困った」、たちまち解決!のmoug(モーグ)がお送りする、関数初心者か...
ネットワークのおべんきょしませんか?
TCP/IPってなに?LANって?ルータって何をするの?というネットワークに関することをわかりやすく解説します。情報処理の試験を受ける方にもぴったり...
全部フリーソフト!!
ネット上にはこんなに便利なフリーソフトがいっぱい。お金なんか使わなくても、あると絶対にお得で楽しいソフトを1つずつご紹介します。
IPネットワーク考
インターネットのネットワークSEの実務者が、IPネットワークにまつわる話題、問題、技術について実務者ならではの視点から解説します。ネットワーク、TC...


この記事へのコメント


コメントを書く
コメントはありません。

おすすめキャンペーン

三井住友銀行カードローン
金利 年6.0%〜12.0%。最高500万円までお借入可能。
最短30分審査、即日カード発行可能。
お申込はこちら⇒

melma!協賛企業

就職ならen|

発行者プロフィール

ペンネーム :


このメルマガの読者になる

規約に同意する



このメルマガの最近の記事


このメルマガの最近のコメント


注目情報


新着記事トピックス