# ドキュメント概要

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では以下のような利点があります：
アプリケーションのサイズが大幅に小さくなる 初期化が大幅に高速化される メモリ消費量 …
- [アプリケーションのデプロイ](https://docs.sisk-framework.org/ja/docs/deploying.md): Sisk アプリケーションのデプロイ プロセスは、プロジェクトを本番環境に公開することです。プロセスは比較的簡単ですが、セキュリティと安定性のために重要な詳細があります。
理想的には、アプリケーションをテストして準備し、クラウドにデプロイする準備ができているはずです。
アプリの公開 # Sisk アプリケーションまたは …
- [SSL の利用](https://docs.sisk-framework.org/ja/docs/ssl.md): 開発時に SSL を利用する必要がある場合があります。これは、ほとんどの Web 開発シナリオのようにセキュリティが求められるコンテキストで作業する場合です。Sisk は HttpListener の上に構築されており、ネイティブの HTTPS はサポートせず HTTP のみを扱います。ただし、Sisk で SSL を …
- [Cadente](https://docs.sisk-framework.org/ja/docs/cadente.md): Cadenteは、Sisk用の実験的なマネージドHTTP/1.1リスナー実装です。デフォルトのSystem.Net.HttpListenerの代替として機能し、特に非Windowsプラットフォームでより大きな制御と柔軟性を提供します。
概要 # デフォルトでは、SiskはHttpListener（System.Netか …
- [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 バージョンの変更履歴を こちら で確認できます。
- [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): The Router はサーバー構築の最初のステップです。これは Route オブジェクトを保持する役割を担い、URL とそのメソッドをサーバーが実行するアクションにマッピングするエンドポイントです。各アクションはリクエストを受け取り、クライアントへレスポンスを返すことを担当します。
ルートはパス式（「パスパターン」） …
- [リクエストハンドリング](https://docs.sisk-framework.org/ja/docs/fundamentals/request-handlers.md): リクエストハンドラは、“ミドルウェア” とも呼ばれ、ルーターでリクエストが実行される前後に実行される関数です。ルート単位またはルーター単位で定義できます。
リクエストハンドラには2種類あります：
BeforeResponse: ルーターアクションを呼び出す前にリクエストハンドラが実行されることを示します。 …
- [リクエスト](https://docs.sisk-framework.org/ja/docs/fundamentals/requests.md): リクエストは 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 クラスは IAsyncDisposable …
- [サーバー送信イベント](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（Cross-Origin Resource Sharing）を有効にする](https://docs.sisk-framework.org/ja/docs/features/cors.md): Siskには、公開されているサービスでCORS（Cross-Origin Resource Sharing）を処理するためのツールがあります。この機能は、HTTPプロトコルの一部ではなく、W3Cによって定義されたWebブラウザの特定の機能です。このセキュリティメカニズムは、Webページが提供されたWebページと異なるド …
- [File Server](https://docs.sisk-framework.org/ja/docs/features/file-server.md): Sisk は Sisk.Http.FileSystem 名前空間を提供し、静的ファイルの配信、ディレクトリ一覧表示、ファイル変換のツールが含まれます。この機能により、ローカルディレクトリからファイルを配信でき、レンジリクエスト（音声/動画ストリーミング）やカスタムファイル処理をサポートします。
静的ファイルの配信 # …

## 拡張機能

- [モデルコンテキストプロトコル](https://docs.sisk-framework.org/ja/docs/extensions/mcp.md): 大規模言語モデル（LLM）を使用してエージェントモデルにコンテキストを提供するアプリケーションを、Sisk.ModelContextProtocol パッケージで構築できます。
Bash dotnet add package Sisk.ModelContextProtocol このパッケージは、Streamable …
- [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 によるトランスポートを提供し …
- [SSL Proxy](https://docs.sisk-framework.org/ja/docs/extensions/ssl-proxy.md): 警告
この機能は実験的であり、運用環境では使用しないでください。Sisk を SSL で動作させる方法については、このドキュメント を参照してください。
Sisk SSL Proxy は、Sisk の ListeningHost に HTTPS 接続を提供し、HTTPS メッセージを非安全な HTTP コンテキストにル …
- [Basic Auth](https://docs.sisk-framework.org/ja/docs/extensions/basic-auth.md): Basic Authパッケージは、非常に少ない設定と労力で、Siskアプリケーションに基本認証スキームを処理できるリクエストハンドラーを追加します。 Basic HTTP認証は、ユーザーIDとパスワードでリクエストを認証する最小限の入力形式であり、セッションはクライアントによって独占的に制御され、認証またはアクセストー …
- [サービス プロバイダー](https://docs.sisk-framework.org/ja/docs/extensions/service-providers.md): サービス プロバイダーは、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）形式へのエクスポートをサポートします。
警告
このパッケージは現在開発中で、まだ公開されていま …

## 詳細

- [手動（上級）セットアップ](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 server handlers](https://docs.sisk-framework.org/ja/docs/advanced/http-server-handlers.md): Sisk バージョン 0.16 では、HttpServerHandler クラスを導入しました。このクラスは Sisk の全体的な動作を拡張し、Http リクエストの処理、ルーター、コンテキストバッグなど、追加のイベントハンドラを Sisk に提供することを目的としています。
このクラスは、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が提供するアプリ …


