# ドキュメント概要

Source: https://docs.sisk-framework.org/ja/docs/index.html



## ようこそ

- [Getting started](https://docs.sisk-framework.org/ja/docs/getting-started.md): Welcome to the Sisk documentation!
Sisk is an open-source lightweight HTTP framework for .NET. You can use it to build a standalone web service, embed an HTTP …
- [インストール](https://docs.sisk-framework.org/ja/docs/installing.md): Sisk は NuGet、dotnet CLI、または他のオプションでインストールできます。開発者コンソールで次のコマンドを実行するだけで、Sisk 環境を簡単にセットアップできます。
Shell dotnet add package Sisk.HttpServer このコマンドは、プロジェクトに Sisk の最新バー …
- [ネイティブAOTのサポート](https://docs.sisk-framework.org/ja/docs/native-aot.md): .NET Native AOTを使用すると、.NETランタイムがターゲットホストにインストールされていない場合でも、自己完結型のネイティブ.NETアプリケーションを公開できます。さらに、ネイティブAOTでは以下のような利点があります：
アプリケーションのサイズが大幅に小さくなる 初期化が大幅に高速化される メモリ消費量 …
- [Sisk アプリケーションのデプロイ](https://docs.sisk-framework.org/ja/docs/deploying.md): Sisk アプリケーションのデプロイプロセスは、プロジェクトを本番環境に公開することから成ります。プロセス自体は比較的シンプルですが、デプロイ先インフラのセキュリティや安定性に致命的な影響を与える可能性のある詳細に注意する必要があります。
理想的には、すべてのテストを実施し、アプリケーションを本番環境にデプロイできる状 …
- [SSL の使用](https://docs.sisk-framework.org/ja/docs/ssl.md): 開発時に SSL を使用する必要がある場合があります。これは、ほとんどのウェブ開発シナリオのようにセキュリティが求められる環境で作業する場合です。Sisk は HttpListener の上に構築されていますが、HttpListener はネイティブの HTTPS をサポートせず、HTTP のみです。ただし、Sisk …
- [Cadente](https://docs.sisk-framework.org/ja/docs/cadente.md): Cadente は Sisk 用の実験的なマネージド HTTP/1.1 リスナー実装です。デフォルトの System.Net.HttpListener の代替として機能し、特に非 Windows プラットフォームで、より高い制御性と柔軟性を提供します。
概要 # デフォルトでは、Sisk は基盤となる HTTP サーバ …
- [Windows での名前空間予約の構成](https://docs.sisk-framework.org/ja/docs/registering-namespace.md): 注記
この構成はオプションであり、Windows で HttpListener エンジンを使用して「localhost」以外のホストで Sisk をリッスンさせたい場合にのみ必要です。
Sisk は HttpListener ネットワークインターフェイスと連携し、仮想ホストをシステムにバインドしてリクエストを待ち受けま …
- [変更履歴](https://docs.sisk-framework.org/ja/docs/changelogs.md): Sisk に加えられたすべての変更は変更履歴に記録されています。すべての Sisk バージョンの変更履歴はこちらで確認できます。
1.6 から 1.7 への移行 # Sisk 1.7.0 では …
- [Frequently Asked Questions](https://docs.sisk-framework.org/ja/docs/faq.md): Sisk に関するよくある質問。
Sisk はオープンソースですか？ # 完全に。Sisk で使用されるすべてのソースコードは、GitHub で公開および頻繁に更新されています。
貢献は受け付けますか？ # Sisk の哲学 と互換性がある限り、すべての貢献は大歓迎です！貢献はコードに限りません。ドキュメント、テスト、 …

## 基礎

- [ルーティング](https://docs.sisk-framework.org/ja/docs/fundamentals/routing.md): Router はサーバー構築の最初のステップです。URL とそのメソッドをサーバーが実行するアクションにマッピングするエンドポイントである Route オブジェクトを保持する役割を担います。各アクションはリクエストを受け取り、クライアントへレスポンスを返すことを担当します。
ルートはパス式（「パスパターン」）とリッスン …
- [リクエストハンドリング](https://docs.sisk-framework.org/ja/docs/fundamentals/request-handlers.md): リクエストハンドラ（ミドルウェアとも呼ばれます）は、ルーター上でリクエストが実行される前後に実行される関数です。ルート単位またはルーター単位で定義できます。
リクエストハンドラには 2 種類あります。
BeforeResponse: ルーターアクションを呼び出す前にリクエストハンドラが実行されることを示します。 …
- [リクエスト](https://docs.sisk-framework.org/ja/docs/fundamentals/requests.md): Requests は HTTP リクエストメッセージを表す構造体です。 HttpRequest オブジェクトは、アプリケーション全体で HTTP メッセージを処理するための便利な機能を提供します。
HTTP リクエストは、メソッド、パス、バージョン、ヘッダー、ボディで構成されます。
このドキュメントでは、これらの要素を …
- [Responses](https://docs.sisk-framework.org/ja/docs/fundamentals/responses.md): Responses は HTTP リクエストに対する HTTP レスポンスのオブジェクトを表します。サーバーはリソース、ページ、ドキュメント、ファイル、またはその他のオブジェクトへの要求の結果として、クライアントに送信します。
HTTP レスポンスはステータス、ヘッダー、コンテンツで構成されます。
このドキュメントでは …

## 機能

- [ロギング](https://docs.sisk-framework.org/ja/docs/features/logging.md): Sisk を構成して、アクセスログとエラーログを自動的に書き込むことができます。ログのローテーション、拡張子、書き込み頻度を定義することも可能です。
LogStream クラスは、非同期でログを書き込み、await 可能な書き込みキューに保持する方法を提供します。LogStream クラスは …
- [サーバー送信イベント](https://docs.sisk-framework.org/ja/docs/features/server-sent-events.md): Sisk は、Server Sent Events を使用したメッセージ送信を標準でサポートしています。使い捨ておよび永続的な接続を作成でき、実行時に接続を取得して使用することができます。
この機能には、ブラウザーが課すいくつかの制限があります。たとえば、テキストメッセージのみ送信でき、接続を永続的に閉じることができま …
- [Web ソケット](https://docs.sisk-framework.org/ja/docs/features/websockets.md): Sisk は Web ソケットもサポートしており、クライアントとのメッセージの受信および送信が可能です。
この機能はほとんどのブラウザーで問題なく動作しますが、Sisk ではまだ実験的な段階です。バグを見つけた場合は、GitHub で報告してください。
メッセージの受信 # WebSocket メッセージは順番に受信さ …
- [捨てられる構文](https://docs.sisk-framework.org/ja/docs/features/discard-syntax.md): HTTPサーバーは、OAuth認証などのアクションからのコールバック要求を待ち受けるために使用でき、要求を受け取った後には捨てられる。この機能は、バックグラウンドアクションが必要だが、HTTPアプリケーションを設定したくない場合に便利です。
以下の例は、CreateListener を使用してポート5555でHTTPサ …
- [依存性の注入](https://docs.sisk-framework.org/ja/docs/features/instancing.md): リクエストの有効期間中に存在するメンバーとインスタンス（たとえば、データベース接続、認証済みユーザー、またはセッショントークン）を指定することは一般的です。可能な方法の1つは、HttpContext.RequestBagを使用することです。これは、リクエストの有効期間中に存在する辞書を作成します。
この辞書は、リクエス …
- [コンテンツのストリーミング](https://docs.sisk-framework.org/ja/docs/features/content-streaming.md): Sisk では、クライアントとの間でコンテンツのストリーミングを読み書きすることができます。この機能は、リクエストの生存期間中にコンテンツのシリアル化とデシリアル化のメモリ負荷を削減するために役立ちます。
リクエストコンテンツストリーム # 小さなコンテンツは自動的に HTTP 接続バッファメモリに読み込まれ …
- [SiskでCORS（クロスオリジンリソース共有）を有効にする](https://docs.sisk-framework.org/ja/docs/features/cors.md): Sisk には、サービスを公開する際に Cross-Origin Resource Sharing (CORS) の処理に役立つツールがあります。この機能は HTTP プロトコルの一部ではなく、W3C が定義した Web ブラウザ固有の機能です。このセキュリティ機構は、ウェブページがそのページを提供したドメインとは異な …
- [ファイルサーバー](https://docs.sisk-framework.org/ja/docs/features/file-server.md): Sisk は Sisk.Http.FileSystem 名前空間を提供し、静的ファイルの配信、ディレクトリ一覧、ファイル変換のためのツールが含まれています。この機能により、ローカルディレクトリからファイルを配信でき、Range リクエスト（音声/動画ストリーミング）やカスタムファイル処理もサポートします。 …

## 拡張機能

- [モデルコンテキストプロトコル](https://docs.sisk-framework.org/ja/docs/extensions/mcp.md): 大規模言語モデル（LLM）を使用してエージェントモデルにコンテキストを提供するアプリケーションを、Sisk.ModelContextProtocol パッケージで構築することができます:
dotnet add package Sisk.ModelContextProtocol --prerelease このパッケージは …
- [JSON-RPC 拡張](https://docs.sisk-framework.org/ja/docs/extensions/json-rpc.md): Sisk には JSON-RPC 2.0 API 用の実験的モジュールがあり、さらにシンプルなアプリケーションを作成できます。この拡張は JSON-RPC 2.0 のトランスポートインターフェースを厳密に実装し、HTTP GET、POST リクエストおよび Sisk の WebSocket によるトランスポートを提供し …
- [サービスプロバイダー](https://docs.sisk-framework.org/ja/docs/extensions/service-providers.md): Service Providers は、ポータブルな構成ファイルを使用して Sisk アプリケーションをさまざまな環境へ移植する方法です。この機能により、サーバーのポートやパラメーター、その他のオプションを、環境ごとにアプリケーションコードを変更することなく変更できます。このモジュールは Sisk の構成構文に依存して …
- [INI 設定プロバイダー](https://docs.sisk-framework.org/ja/docs/extensions/ini-configuration.md): Sisk には JSON 以外の起動設定を取得する方法があります。実際、IConfigurationReader を実装したパイプラインであれば、PortableConfigurationBuilder.WithConfigurationPipeline と組み合わせて使用でき、任意のファイル形式からサーバー設定を読み …
- [API ドキュメント](https://docs.sisk-framework.org/ja/docs/extensions/api-documentation.md): Sisk.Documenting 拡張機能を使用すると、Sisk アプリケーションの API ドキュメントを自動的に生成できます。コード構造と属性を利用して包括的なドキュメントサイトを作成し、Open API（Swagger）形式へのエクスポートをサポートします。
警告
This package is …
- [ベーシック認証（廃止）](https://docs.sisk-framework.org/ja/docs/extensions/basic-auth.md): 注意
廃止されました。使用しないでください。 Sisk.BasicAuth パッケージはメンテナンスされておらず、NuGet でも非推奨となっており、代替パッケージはありません。BasicAuthenticateRequestHandler は標準的な HTTP クライアントが送信する Base64 認証情報をデコード …
- [SSL プロキシ（廃止）](https://docs.sisk-framework.org/ja/docs/extensions/ssl-proxy.md): 注意
廃止されました。使用しないでください。 Sisk.SslProxy パッケージはもはやメンテナンスされておらず、NuGet で非推奨となっています。代替パッケージはありません。現在の Cadente API に対してコンパイルできません。HTTPS を提供するには、Cadente engine のネイティブ …

## 詳細

- [手動（高度）設定](https://docs.sisk-framework.org/ja/docs/advanced/manual-setup.md): 手動セットアップは、サーバーの構成要素を自分で組み立てる必要がある場合に使用します。たとえば、1 つのプロセスが複数のホスト、ポート、ルーター、またはカスタムサーバー構成を公開しなければならない場合です。ほとんどのアプリケーションでは、ビルダー API の方が短く、優先すべきです。手動セットアップは、Router、1 …
- [リクエストライフサイクル](https://docs.sisk-framework.org/ja/docs/advanced/request-lifecycle.md): 以下では、HTTP リクエストの例を通して、リクエストの全ライフサイクルについて説明します。
リクエストの受信: 各リクエストは、リクエスト自体とクライアントに配信されるレスポンスの間に HTTP コンテキストを作成します。このコンテキストは Sisk に組み込まれたリスナーから取得され …
- [フォワーディングリゾルバ](https://docs.sisk-framework.org/ja/docs/advanced/forwarding-resolvers.md): フォワーディングリゾルバは、リクエスト、プロキシ、CDN、ロードバランサーを通じてクライアントを識別する情報をデコードするのに役立つヘルパーです。Sisk サービスがリバースプロキシまたはフォワードプロキシを介して実行される場合、クライアントの IP アドレス、ホスト、プロトコルは元のリクエストとは異なることがあります …
- [HTTP サーバーハンドラ](https://docs.sisk-framework.org/ja/docs/advanced/http-server-handlers.md): Sisk バージョン 0.16 では、HttpServerHandler クラスを導入しました。このクラスは、Sisk の全体的な動作を拡張し、Http リクエスト、ルーター、コンテキストバッグなどの追加イベントハンドラを提供することを目的としています。
このクラスは、HTTP サーバー全体および個々のリクエストのライ …
- [サーバーあたり複数のリスニングホスト](https://docs.sisk-framework.org/ja/docs/advanced/multi-host-setup.md): Sisk Framework は常にサーバーあたり複数のホストの使用をサポートしており、つまり単一の HTTP サーバーが複数のポートでリッスンでき、各ポートはそれぞれ独自のルーターとサービスを実行します。
このように、Sisk を使用すると単一の HTTP サーバー上で責務を分離し、サービスを管理することが容易になり …
- [HTTPサーバーエンジン](https://docs.sisk-framework.org/ja/docs/advanced/server-engines.md): Sisk Frameworkは複数のパッケージに分割されており、主なパッケージ（Sisk.HttpServer）は基本的なHTTPサーバーを含んでいません。デフォルトでは、HttpListenerがSiskの主なエンジンとして使用され、低レベルのサーバーの役割を果たします。
HTTPエンジンは、Siskが提供するアプリ …


