Files
cpp-httplib/docs-src/pages/ja/cookbook/index.md
2026-04-10 18:16:02 -04:00

4.4 KiB
Raw Blame History

title, order, status
title order status
Cookbook 0 draft

「〇〇をするには?」という問いに答えるレシピ集です。各レシピは独立しているので、必要なページだけ読めます。基本的な使い方はTourで紹介しています。

クライアント

基本

認証

ファイル送信

ストリーミング・進捗

接続・パフォーマンス

エラー処理・デバッグ

サーバー

基本

  • S01. GET / POST / PUT / DELETEハンドラを登録する
  • S02. JSONリクエストを受け取りJSONレスポンスを返す
  • S03. パスパラメーターを使う(/users/:id
  • S04. 静的ファイルサーバーを設定する(set_mount_point

ストリーミング・ファイル

  • S05. 大きなファイルをストリーミングで返す(ContentProvider
  • S06. ファイルダウンロードレスポンスを返す(Content-Disposition
  • S07. マルチパートデータをストリーミングで受け取る(ContentReader
  • S08. レスポンスを圧縮して返すgzip

ハンドラチェーン

  • S09. 全ルートに共通の前処理をするPre-routing handler
  • S10. Post-routing handlerでレスポンスヘッダーを追加するCORSなど
  • S11. Pre-request handlerでルート単位の認証を行うmatched_route
  • S12. res.user_dataでハンドラ間データを渡す

エラー処理・デバッグ

  • S13. カスタムエラーページを返す(set_error_handler
  • S14. 例外をキャッチする(set_exception_handler
  • S15. リクエストをログに記録するLogger
  • S16. クライアントが切断したか検出する(req.is_connection_closed()

運用・チューニング

  • S17. ポートを動的に割り当てる(bind_to_any_port
  • S18. listen_after_bindで起動順序を制御する
  • S19. グレースフルシャットダウンする(stop()とシグナルハンドリング)
  • S20. Keep-Aliveを調整するset_keep_alive_max_count / set_keep_alive_timeout
  • S21. マルチスレッド数を設定する(new_task_queue
  • S22. Unix domain socketで通信するset_address_family(AF_UNIX)

TLS / セキュリティ

  • T01. OpenSSL・mbedTLS・wolfSSLの選択指針ビルド時の#defineの違い)
  • T02. SSL証明書の検証を制御する無効化・カスタムCA・カスタムコールバック
  • T03. SSL/TLSサーバーを立ち上げる証明書・秘密鍵の設定
  • T04. mTLSクライアント証明書による相互認証を設定する
  • T05. サーバー側でピア証明書を参照する(req.peer_cert() / SNI

SSE

  • E01. SSEサーバーを実装する
  • E02. SSEでイベント名を使い分ける
  • E03. SSEの再接続を処理するLast-Event-ID
  • E04. SSEをクライアントで受信する

WebSocket

  • W01. WebSocketエコーサーバークライアントを実装する
  • W02. ハートビートを設定する(set_websocket_ping_interval
  • W03. 接続クローズをハンドリングする
  • W04. バイナリフレームを送受信する