Tasuke HubLearn · Solve · Grow
#HTTP

HTTP/REST超入門【2025年版】:メソッド/ステータス/キャッシュの基本

Web APIの超入門。HTTPメソッド、ステータスコード、ヘッダー、キャッシュ(Cache-Control/ETag)、設計の基本(リソース/パス/クエリ/ボディ)を最短で理解。Node/Next.jsのコード例付き。

時計のアイコン13 September, 2025
TH

Tasuke Hub管理人

東証プライム市場上場企業エンジニア

情報系修士卒業後、大手IT企業にてフルスタックエンジニアとして活躍。 Webアプリケーション開発からクラウドインフラ構築まで幅広い技術に精通し、 複数のプロジェクトでリードエンジニアを担当。 技術ブログやオープンソースへの貢献を通じて、日本のIT技術コミュニティに積極的に関わっている。

🎓情報系修士🏢東証プライム上場企業💻フルスタックエンジニア📝技術ブログ執筆者

HTTPの基本要素

  • メソッド:GET(取得)、POST(作成)、PUT(全置換)、PATCH(部分更新)、DELETE(削除)
  • ステータス:200(成功)、201(作成)、204(内容なし)、400/401/403/404、500系(サーバー)
  • ヘッダー:Content-TypeAuthorizationCache-ControlETagAccept など

ベストマッチ

最短で課題解決する一冊

この記事の内容と高い親和性が確認できたベストマッチです。早めにチェックしておきましょう。

REST設計の最小原則

  • リソースは名詞で表現:/articles, /articles/{id}
  • アクションはメソッドで表現:POST /articles(作成)
  • クエリは絞り込み/並び替え:/articles?tag=js&sort=-updatedAt

さらに理解を深める参考書

関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。

例:Next.js Route HandlerでCRUD(概念)

// app/api/articles/[id]/route.ts
let store = new Map<string, any>();

export async function GET(_: Request, { params }: { params: { id: string } }) {
  const a = store.get(params.id); if (!a) return new Response('Not Found', { status: 404 });
  return Response.json(a, { headers: { 'Cache-Control': 'max-age=60' } });
}

export async function PUT(req: Request, { params }: { params: { id: string } }) {
  const body = await req.json(); store.set(params.id, body);
  return new Response(null, { status: 204, headers: { ETag: 'W/"v1"' } });
}

さらに理解を深める参考書

関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。

条件付きGET(ETag)

// If-None-Match で差分転送
export async function GET(req: Request, { params }: { params: { id: string } }) {
  const etag = 'W/"v1"';
  if (req.headers.get('if-none-match') === etag) return new Response(null, { status: 304 });
  return Response.json({ id: params.id, title: 'Hello' }, { headers: { ETag: etag } });
}

さらに理解を深める参考書

関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。

キャッシュの基本

  • 静的は長期(max-age=31536000, immutable
  • 準動的は短期+SWR(max-age=60, stale-while-revalidate=300
  • ユーザー固有は no-store

さらに理解を深める参考書

関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。

よくあるアンチパターン

  • 動詞をパスに入れる(/createArticle
  • GETで状態変更(キャッシュ破綻/セキュリティ懸念)
  • 不要な200返却(適切な4xx/5xxで意味を伝える)

さらに理解を深める参考書

関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。

まとめ

「名詞のパス+メソッドで意味を表現+適切なキャッシュ」を守るだけで、実用的なREST APIが作れます。

さらに理解を深める参考書

関連記事と相性の良い実践ガイドです。手元に置いて反復しながら進めてみてください。

この記事をシェア

続けて読みたい記事

編集部がピックアップした関連記事で学びを広げましょう。

#HTTP

HTTPキャッシュの落とし穴【2025年版】:認証・個別化・キー設計を完全理解

2025/9/13
#React

React Hooks超入門【2025年版】:useState/useEffectから始める実践ガイド

2025/9/13
#HTTP

HTTPキャッシュ実践【ETag/SWR/2025年】:速さと一貫性を両立する設計

2025/9/13
#Git

Git/GitHub超入門【2025年版】:最小のワークフローで始める

2025/9/13
#データセンター

【2025年版】サステナブルAIデータセンター戦略

2025/11/23
#Next.js

Next.js超入門【2025年版】:App Routerで最初の1ページを作る

2025/9/13