1
0

index.html 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <!DOCTYPE html>
  2. <html lang="ja">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1">
  6. <title>cpp-httplib - cpp-httplib</title>
  7. <link rel="stylesheet" href="/css/main.css">
  8. <script>
  9. (function() {
  10. var t = localStorage.getItem('preferred-theme');
  11. if (!t) t = window.matchMedia('(prefers-color-scheme: light)').matches ? 'light' : 'dark';
  12. if (t === 'light') document.documentElement.setAttribute('data-theme', 'light');
  13. })();
  14. </script>
  15. </head>
  16. <body>
  17. <header class="header">
  18. <div class="header-inner">
  19. <a href="/ja/" class="header-title">cpp-httplib <span style="font-size:0.75em;font-weight:normal;margin-left:4px">v0.35.0</span></a>
  20. <div class="header-spacer"></div>
  21. <nav class="header-nav">
  22. <a href="/ja/">Home</a>
  23. <a href="/ja/tour/">Tour</a>
  24. </nav>
  25. <div class="header-tools">
  26. <button class="theme-toggle" aria-label="Toggle theme"></button>
  27. <div class="lang-selector">
  28. <button class="lang-btn" aria-label="Language">JA</button>
  29. <ul class="lang-popup">
  30. <li><a href="#" data-lang="en">EN</a></li>
  31. <li><a href="#" data-lang="ja">JA</a></li>
  32. </ul>
  33. </div>
  34. </div>
  35. </div>
  36. </header>
  37. <div class="layout no-sidebar">
  38. <main class="content portal">
  39. <article>
  40. <h1>cpp-httplib</h1>
  41. <p><a href="https://github.com/yhirose/cpp-httplib">cpp-httplib</a>は、C++用のHTTP/HTTPSライブラリです。<a href="https://github.com/yhirose/cpp-httplib/raw/refs/tags/latest/httplib.h"><code>httplib.h</code></a> というヘッダーファイルを1枚コピーするだけで使えます。</p>
  42. <p>C++でちょっとしたHTTPサーバーやクライアントが必要になったとき、すぐに動くものが欲しいですよね。cpp-httplibはまさにそのために作られました。サーバーもクライアントも、数行のコードで書き始められます。</p>
  43. <p>APIはラムダ式をベースにした直感的な設計で、C++11以降のコンパイラーがあればどこでも動きます。Windows、macOS、Linux — お使いの環境をそのまま使えます。</p>
  44. <p>HTTPSも使えます。OpenSSLやmbedTLSをリンクするだけで、サーバー・クライアントの両方がTLSに対応します。Content-Encoding(gzip, brotli等)、ファイルアップロードなど、実際の開発で必要になる機能もひと通り揃っています。WebSocketもサポートしています。</p>
  45. <p>内部的にはブロッキングI/Oとスレッドプールを使っています。大量の同時接続を捌くような用途には向きませんが、APIサーバーやツールの組み込みHTTP、テスト用のモックサーバーなど、多くのユースケースで十分な性能を発揮します。</p>
  46. <p>「今日の課題を、今日中に解決する」— cpp-httplibが目指しているのは、そういうシンプルさです。</p>
  47. <h2>ドキュメント</h2>
  48. <ul>
  49. <li><a href="tour/">A Tour of cpp-httplib</a> — 基本を順を追って学べるチュートリアル。初めての方はここから</li>
  50. <li><a href="cookbook/">Cookbook</a> — 目的別のレシピ集。必要なトピックから読めます</li>
  51. </ul>
  52. </article>
  53. </main>
  54. </div>
  55. <footer class="footer">
  56. &copy; 2025 yhirose. All rights reserved.
  57. </footer>
  58. <script src="/js/main.js"></script>
  59. </body>
  60. </html>