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?

『Webを支える技術』HTTPの仕組み

Posted at

Webを支える技術の1つであるHTTPについての簡単なまとめです。

(以下の記事の続きです。)

HTTPの基本とその仕組み

1. HTTPとは

  • TCP/IPをベースとしたプロトコル
    • IP: データを送信するためのプロトコル。相手がデータを受け取ったかどうかは保証しない
    • TCP: データの転送を保証する
  • HTTPではクライアントがリクエストを出し、サーバーが処理してレスポンスを返す

2. HTTPメッセージの構成要素

  • スタートライン
    • リクエストの場合: リクエストライン
    • レスポンスの場合: ステータスライン
  • ヘッダ
    • 空行で終了し、送信する追加情報を含む
  • ボディ
    • テキストやバイナリデータを含めることができる(省略可能)

3. ステートレスなプロトコル

  • サーバーはクライアントの状態を保存しない
  • 状態管理が必要な場合は、クッキーやセッションを使用

HTTPメソッド

HTTPメソッドは主に以下の8つです。

メソッド 説明
GET リソースの取得
POST リソースの作成
PUT リソースの更新
DELETE リソースの削除
HEAD ヘッダーのみの取得
OPTIONS 利用可能なメソッドの取得
PATCH 部分的なリソースの更新
TRACE リクエストのループバックテスト
  • GET, POST, PUT, DELETECRUD(Create, Read, Update, Delete)に対応しており、特に頻繁に使用される

HTTPステータスコード

  • ステータスコードはリクエストの結果に応じたレスポンスメッセージの意味を示す
ステータスコード 説明
1xx 処理中
2xx 成功
200 OK リクエスト成功
201 Created リソース作成成功
3xx リダイレクト
301 Moved Permanently 恒久的なリダイレクト
303 See Other 別URIの参照
4xx クライアントエラー
400 Bad Request リクエストの不正
401 Unauthorized 認証が必要
404 Not Found リソースが見つからない
5xx サーバーエラー
500 Internal Server Error サーバー内部エラー

HTTPヘッダの基本

HTTP通信におけるリクエストレスポンスに関連する追加情報をヘッダでやり取りする

例1: リクエストヘッダ

GET /index.html HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
  • GET: リソースの取得を要求
  • Host: リクエスト先のドメイン名
  • User-Agent: クライアントの情報
  • Accept: 受け入れ可能なデータ形式

例2: レスポンスヘッダ

HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 3057
Set-Cookie: sessionId=abc123; Expires=Wed, 09 Oct 2024 10:00:00 GMT; Path=/
  • 200 OK: リクエストの成功
  • Content-Type: レスポンスのデータ形式(HTML)
  • Content-Length: データのサイズ
  • Set-Cookie: サーバーがクライアントにCookieを設定

まとめ

HTTPは、クライアントとサーバー間でのリクエスト・レスポンスによるデータのやり取りを行うプロトコル。ステートレスな設計であるため、必要に応じてクライアントの状態管理を行う工夫が必要。特に、メソッドやステータスコード、ヘッダの理解は、Web開発の基礎となる重要な要素。


参考文献:

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?