# Sisk Framework > Sisk is a lightweight, agnostic and robust .NET web development framework. Sisk is an open-source HTTP server framework for .NET written in C#. It is an explicit alternative to ASP.NET for building REST APIs, WebSocket and Server-Sent Events services, JSON-RPC and MCP servers, and static file servers. Install it with `dotnet add package Sisk.HttpServer`. Every documentation and API page is available as Markdown by replacing `.html` with `.md` in its URL. - Full documentation in one file: https://docs.sisk-framework.org/llms-full.txt - Complete API reference index: https://docs.sisk-framework.org/api/index.md ## Welcome - [Getting started](https://docs.sisk-framework.org/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 … - [Installing](https://docs.sisk-framework.org/docs/installing.md): You can install Sisk through Nuget, dotnet cli or another options. You can easily setup your Sisk environment by running this command in your developer console: … - [Native AOT Support](https://docs.sisk-framework.org/docs/native-aot.md): .NET Native AOT allows the publication of native .NET applications that are self-sufficient and do not require the .NET runtime installed on the target host. … - [Deploying your Sisk Application](https://docs.sisk-framework.org/docs/deploying.md): The process of deploying a Sisk application consists of publishing your project into production. Although the process is relatively simple, it is worth noting … - [Working with SSL](https://docs.sisk-framework.org/docs/ssl.md): Working with SSL for development may be necessary when working in contexts that require security, such as most web development scenarios. Sisk operates on top … - [Cadente](https://docs.sisk-framework.org/docs/cadente.md): Cadente is an experimental managed HTTP/1.1 listener implementation for Sisk. It serves as a replacement for the default System.Net.HttpListener, offering … - [Configuring namespace reservations on Windows](https://docs.sisk-framework.org/docs/registering-namespace.md): Note This configuration is optional and only required when you want Sisk to listen on hosts other than “localhost” on Windows using the HttpListener engine. - [Changelogs](https://docs.sisk-framework.org/docs/changelogs.md): Every change made to Sisk is recorded through the changelog. You can view the changelogs for all Sisk versions here. - [Frequently Asked Questions](https://docs.sisk-framework.org/docs/faq.md): Frequently asked questions about Sisk. Is Sisk open-source? # Totally. All source code used by Sisk is published and frequently updated on GitHub. Are … ## Fundamentals - [Routing](https://docs.sisk-framework.org/docs/fundamentals/routing.md): The Router is the first step in building the server. It is responsible for housing Route objects, which are endpoints that map URLs and their methods to actions … - [Request handling](https://docs.sisk-framework.org/docs/fundamentals/request-handlers.md): Request handlers, also known as “middlewares”, are functions that run before or after a request is executed on the router. They can be defined per route or per … - [Requests](https://docs.sisk-framework.org/docs/fundamentals/requests.md): Requests are structures that represent an HTTP request message. The HttpRequest object contains useful functions for handling HTTP messages throughout your … - [Responses](https://docs.sisk-framework.org/docs/fundamentals/responses.md): Responses represent objects that are HTTP responses to HTTP requests. They are sent by the server to the client as an indication of the request for a resource, … ## Features - [Logging](https://docs.sisk-framework.org/docs/features/logging.md): You can configure Sisk to write access and error logs automatically. It is possible to define log rotation, extensions and frequency. The LogStream class … - [Server Sent Events](https://docs.sisk-framework.org/docs/features/server-sent-events.md): Sisk supports sending messages through Server Sent Events out of the box. You can create disposable and persistent connections, get the connections during … - [Web Sockets](https://docs.sisk-framework.org/docs/features/websockets.md): Sisk supports web sockets as well, such as receiving and sending messages to their client. This feature works fine in most browsers, but in Sisk it is still … - [Discard syntax](https://docs.sisk-framework.org/docs/features/discard-syntax.md): The HTTP server can be used to listen for a callback request from an action, such as OAuth authentication, and can be discarded after receiving that request. … - [Dependency injection](https://docs.sisk-framework.org/docs/features/instancing.md): It is common to dedicate members and instances that last for the lifetime of a request, such as a database connection, an authenticated user, or a session … - [Streaming Content](https://docs.sisk-framework.org/docs/features/content-streaming.md): The Sisk supports reading and sending streams of content to and from the client. This feature is useful for removing memory overhead for serializing and … - [Enabling CORS (Cross-Origin Resource Sharing) in Sisk](https://docs.sisk-framework.org/docs/features/cors.md): Sisk has a tool that can be useful for handling Cross-Origin Resource Sharing (CORS) when exposing your service publicly. This feature is not part of the HTTP … - [File Server](https://docs.sisk-framework.org/docs/features/file-server.md): Sisk provides the Sisk.Http.FileSystem namespace, which contains tools for serving static files, directory listing and file conversion. This feature allows you … ## Extensions - [Model Context Protocol](https://docs.sisk-framework.org/docs/extensions/mcp.md): It is possible to build applications that provide context to agent models using large language models (LLMs) using the Sisk.ModelContextProtocol package: dotnet … - [JSON-RPC Extension](https://docs.sisk-framework.org/docs/extensions/json-rpc.md): Sisk has an experimental module for a JSON-RPC 2.0 API, which allows you to create even simpler applications. This extension strictly implements the JSON-RPC … - [SSL Proxy](https://docs.sisk-framework.org/docs/extensions/ssl-proxy.md): Warning This feature is experimental and should not be used in production. Please refer to this document if you want to make Sisk work with SSL. The Sisk SSL … - [Basic Auth](https://docs.sisk-framework.org/docs/extensions/basic-auth.md): The Basic Auth package adds a request handler capable of handling basic authentication scheme in your Sisk application with very little configuration and … - [Service Providers](https://docs.sisk-framework.org/docs/extensions/service-providers.md): Service Providers is a way to port your Sisk application to different environments with a portable configuration file. This feature allows you to change the … - [INI configuration provider](https://docs.sisk-framework.org/docs/extensions/ini-configuration.md): Sisk has a method for obtaining startup configurations other than JSON. In fact, any pipeline that implements IConfigurationReader can be used with … - [API Documentation](https://docs.sisk-framework.org/docs/extensions/api-documentation.md): The Sisk.Documenting extension allows you to generate API documentation for your Sisk application automatically. It leverages your code structure and attributes … ## Advanced - [Manual (advanced) setup](https://docs.sisk-framework.org/docs/advanced/manual-setup.md): Use manual setup when you need to assemble the server pieces yourself, such as when one process must expose multiple hosts, ports, routers, or custom server … - [Request lifecycle](https://docs.sisk-framework.org/docs/advanced/request-lifecycle.md): Below is explained the entire life cycle of a request through an example of an HTTP request. Receiving the request: each request creates an HTTP context between … - [Forwarding Resolvers](https://docs.sisk-framework.org/docs/advanced/forwarding-resolvers.md): A Forwarding Resolver is a helper that helps decode information that identifies the client through a request, proxy, CDN or load-balancers. When your Sisk … - [Http server handlers](https://docs.sisk-framework.org/docs/advanced/http-server-handlers.md): In Sisk version 0.16, we’ve introduced the HttpServerHandler class, which aims to extend the overral Sisk behavior and provide additional event handlers to … - [Multiple listening hosts per server](https://docs.sisk-framework.org/docs/advanced/multi-host-setup.md): The Sisk Framework has always supported the use of more than one host per server, that is, a single HTTP server can listen on multiple ports and each port has … - [HTTP Server Engines](https://docs.sisk-framework.org/docs/advanced/server-engines.md): The Sisk Framework is divided into several packages, where the main one (Sisk.HttpServer) does not include a base HTTP server - by default, HttpListener is used … ## API reference - [Sisk.BasicAuth](https://docs.sisk-framework.org/api/Sisk.BasicAuth.md) - [Sisk.Cadente](https://docs.sisk-framework.org/api/Sisk.Cadente.md) - [Sisk.Cadente.CoreEngine](https://docs.sisk-framework.org/api/Sisk.Cadente.CoreEngine.md) - [Sisk.Cadente.Streams](https://docs.sisk-framework.org/api/Sisk.Cadente.Streams.md) - [Sisk.Core](https://docs.sisk-framework.org/api/Sisk.Core.md) - [Sisk.Core.Entity](https://docs.sisk-framework.org/api/Sisk.Core.Entity.md) - [Sisk.Core.Helpers](https://docs.sisk-framework.org/api/Sisk.Core.Helpers.md) - [Sisk.Core.Http](https://docs.sisk-framework.org/api/Sisk.Core.Http.md) - [Sisk.Core.Http.Engine](https://docs.sisk-framework.org/api/Sisk.Core.Http.Engine.md) - [Sisk.Core.Http.FileSystem](https://docs.sisk-framework.org/api/Sisk.Core.Http.FileSystem.md) - [Sisk.Core.Http.Handlers](https://docs.sisk-framework.org/api/Sisk.Core.Http.Handlers.md) - [Sisk.Core.Http.Hosting](https://docs.sisk-framework.org/api/Sisk.Core.Http.Hosting.md) - [Sisk.Core.Http.Streams](https://docs.sisk-framework.org/api/Sisk.Core.Http.Streams.md) - [Sisk.Core.Routing](https://docs.sisk-framework.org/api/Sisk.Core.Routing.md) - [Sisk.Documenting](https://docs.sisk-framework.org/api/Sisk.Documenting.md) - [Sisk.Documenting.Annotations](https://docs.sisk-framework.org/api/Sisk.Documenting.Annotations.md) - [Sisk.Documenting.Html](https://docs.sisk-framework.org/api/Sisk.Documenting.Html.md) - [Sisk.Helpers.Mitmproxy](https://docs.sisk-framework.org/api/Sisk.Helpers.Mitmproxy.md) - [Sisk.IniConfiguration](https://docs.sisk-framework.org/api/Sisk.IniConfiguration.md) - [Sisk.IniConfiguration.Core](https://docs.sisk-framework.org/api/Sisk.IniConfiguration.Core.md) - [Sisk.IniConfiguration.Core.Serialization](https://docs.sisk-framework.org/api/Sisk.IniConfiguration.Core.Serialization.md) - [Sisk.JsonRPC](https://docs.sisk-framework.org/api/Sisk.JsonRPC.md) - [Sisk.JsonRPC.Annotations](https://docs.sisk-framework.org/api/Sisk.JsonRPC.Annotations.md) - [Sisk.JsonRPC.Documentation](https://docs.sisk-framework.org/api/Sisk.JsonRPC.Documentation.md) - [Sisk.ModelContextProtocol](https://docs.sisk-framework.org/api/Sisk.ModelContextProtocol.md) - [Sisk.Ssl](https://docs.sisk-framework.org/api/Sisk.Ssl.md) - [TinyComponents](https://docs.sisk-framework.org/api/TinyComponents.md) ## Optional - [Source code](https://github.com/sisk-http/core) - [NuGet package](https://www.nuget.org/packages/Sisk.HttpServer/)