5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

リダイレクトの仕組み? ETag? IPアドレスを取得する方法!

Last updated at Posted at 2020-10-10

はじめに

今回はHTTPに関する用語について紹介します!
具体的には以下の内容を扱います。

  • リダイレクトの仕組み
  • ETagヘッッダ
  • IPアドレス関連のヘッダ (remote_addr, x-forwarded-for, x-real-ip)

youtubeでも解説しているので、確認してみてください!

【YouTube動画】 リダイレクトの仕組み、ETag, IPアドレス
リダイレクトの仕組み、ETag, IPアドレス関連のヘッダ

リダイレクトの仕組み

動画では図解で説明しているので、ぜひ確認してみてください。
リダイレクトとは、あるウェブサイトから別のウェブサイトへページ遷移させることです。

リダイレクトでは以下のような通信が行われています。

クライアント -> サーバー1 -> クライアント -> サーバー2

上記の通信では、サーバー1からクライアントに返るとき、リダイレクト用のステータスとLocationヘッダを返します。
リダイレクト用のステータスには、301と302があります (下記の表参照)。Locationヘッダには、遷移先のURLが返ってきます。

ステータス 意味 特徴
301 Moved Permanently 恒久的なウェブサイトの移動 サーバー1を経由せず、サーバー2へ進むことがある
302 Found 別のサイトを見つけた 毎回サーバー1を経由して、サーバー2へ進む

ETag

ETagはHTTPレスポンスヘッダに付与されるランダムな値です。
クライアント側でキャッシュするときに利用します。

ここらあたりの説明は動画の方で詳しく説明しているので、ぜひ確認してみてください。

ETagヘッダについて

IPアドレス関連のヘッダ

IPアドレスに関するヘッダをいくつか紹介します。
動画だとこの部分になります。

remote_addr

これを付けると、サーバーが認識する1つ前のIPアドレスを返します

例えば、以下の順序で通信が行われているとします。
この場合、サーバーのremote_addrはリバースプロキシのIPアドレスになります。

クライアント -> ロードバランサー -> リバースプロキシ -> サーバー

x-forwarded-for

これは、クライアントからサーバーまでのIPアドレスを全て返します。

x-real-ip

これを付けると、クライアントのIPアドレスだけを返すようにできます。

まとめ

今回、HTTPに関連する用語の説明をしました。
もっと、こういうところを説明して欲しい!などの意見や感想がありましたら、コメントお願いします!

twitteryoutubeもやっているので、コメントをいただけると励みになります!

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?