0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

フロントエンジニアがインフラを理解する【その1】

0
Posted at

おさわです😆
4月から新しい環境になりました!
その中で、新たな挑戦としてインフラの理解を深めようと思います。
このシリーズは、その私のアウトプットとして書きます。
もう既知の知識もありますが、ネットワークの基礎から固めていきたいので、復習も兼ねて言語化していきます!!!

HTTPメッセージの構造を解剖する

❶HTTPメッセージの全体像

HTTP通信は、ブラウザから送る 「リクエスト」と、サーバーから返ってくる「レスポンス」のセットで成り立っています。どちらも構造は似ており、大きく3つのパーツに分かれます。

  • スタートライン: 「何をしたいか(リクエスト)」または「どうなったか(レスポンス)」の1行
  • ヘッダー: 通信に関するメタ情報(データの形式、送り主、キャッシュ設定など)
  • ボディ: 実際のデータ本体(HTML、JSON、画像など)

❷リクエストメッセージの解剖

ブラウザがサーバーにお願い(リクエスト)をするときの形式です。

スタートライン(Request Line)

GET /api/users HTTP/1.1 のように構成されます。

  • メソッド: GET(取得)、POST(作成)、PUT / PATCH(更新)、DELETE(削除)など
  • パス: /api/users などのリソースの場所
  • バージョン: HTTP/1.1 や HTTP/2

重要なリクエストヘッダー

  • Host: 接続先のドメイン名(例: example.com)
  • User-Agent: ブラウザの種類やOSの情報
  • Accept: ブラウザが受け取れる形式(例: application/json
  • Authorization: ログイン状態を示すトークンなど

❸レスポンスメッセージの解剖

サーバーがブラウザに応える(レスポンス)ときの形式です。

スタートライン(Status Line)

HTTP/1.1 200 OK のように構成されます。

  • ステータスコード:
    • 200系: 成功
    • 300系: リダイレクト(別の場所へ行ってね)
    • 400系: クライアント側のミス(URLが違う、権限がないなど)
    • 500系: サーバー側のミス(プログラムが落ちたなど)

重要なレスポンスヘッダー

  • Content-Type: 返したデータの正体(例: text/html, application/json)。これがズレるとブラウザが正しく表示できません
  • Set-Cookie: サーバーから「これを保存しておいて」というクッキーの指示
  • Access-Control-Allow-Origin: CORSに関連する、フロントエンドエンジニアが最も遭遇するヘッダーの一つです
0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?