# swisspol/gcdwebserver

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/swisspol-gcdwebserver).**

6,623 stars · 1,325 forks · Objective-C · NOASSERTION · archived

## Links

- GitHub: https://github.com/swisspol/GCDWebServer
- awesome-repositories: https://awesome-repositories.com/repository/swisspol-gcdwebserver.md

## Description

GCDWebServer is a lightweight HTTP 1.1 server for iOS, macOS, and tvOS. It serves as an embedded network server for Apple platforms, allowing developers to handle incoming requests through custom synchronous or asynchronous handlers.

The project includes a WebDAV server implementation for remote file management, directory browsing, and synchronization using standard network clients. It also provides a web-based file manager that enables users to upload, download, and organize files within an application sandbox via a browser.

Additional capabilities include gzip compression, JSON processing, and the ability to restrict access using Basic and Digest authentication. The server supports serving static content with range requests, parsing multipart form submissions, and generating dynamic HTML through template-based injection. High-volume data is handled via stream-based payloads to prevent memory exhaustion.

## Tags

### Networking & Communication

- [Asynchronous HTTP Servers](https://awesome-repositories.com/f/networking-communication/asynchronous-http-servers.md) — A lightweight HTTP 1.1 server for Apple platforms that handles requests asynchronously via GCD.
- [Request Handlers](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/request-processing-architectures/request-processing/request-handlers.md) — Allows developers to define custom handler functions that process incoming URLs and generate responses. ([source](https://github.com/swisspol/gcdwebserver#readme))
- [Local HTTP Servers](https://awesome-repositories.com/f/networking-communication/local-http-servers.md) — A small-footprint embedded server for local device integration featuring gzip and JSON processing.
- [WebDAV Implementations](https://awesome-repositories.com/f/networking-communication/multi-protocol-file-servers/webdav-implementations.md) — Implements a WebDAV compliant server to enable remote file management and synchronization using standard network clients.
- [WebDAV Implementations](https://awesome-repositories.com/f/networking-communication/webdav-implementations.md) — Implements the WebDAV protocol extension to allow remote file management and directory synchronization.
- [WebDAV Remote File Management](https://awesome-repositories.com/f/networking-communication/webdav-remote-file-management.md) — Implements WebDAV to allow remote clients to manage and synchronize files on a local device.

### Web Development

- [HTTP Servers](https://awesome-repositories.com/f/web-development/http-servers.md) — Provides a lightweight HTTP 1.1 server designed to be embedded within Apple platform applications. ([source](https://github.com/swisspol/gcdwebserver#readme))
- [Asynchronous Request Handlers](https://awesome-repositories.com/f/web-development/asynchronous-request-handlers.md) — Processes incoming HTTP requests using non-blocking handlers to maintain application responsiveness. ([source](https://github.com/swisspol/gcdwebserver#readme))
- [HTTP Request Handling](https://awesome-repositories.com/f/web-development/backend-development/request-response-handling/http-request-handling.md) — Handles the parsing, routing, and management of incoming network requests through a system of dedicated handlers. ([source](https://github.com/swisspol/gcdwebserver#readme))
- [Request Dispatchers](https://awesome-repositories.com/f/web-development/backend-development/request-response-handling/http-request-handling/request-dispatchers.md) — Utilizes Grand Central Dispatch to route incoming HTTP requests to handlers without blocking the main thread.
- [URL Routing](https://awesome-repositories.com/f/web-development/url-routing.md) — Maps incoming HTTP request paths to custom handler logic using a configurable system of URL patterns.
- [Payload Streaming](https://awesome-repositories.com/f/web-development/backend-development/request-response-handling/http-request-handling/payload-streaming.md) — Minimizes memory consumption by streaming large request and response bodies directly to and from disk.
- [Form Processing](https://awesome-repositories.com/f/web-development/form-processing.md) — Parses percent-encoded request bodies to extract user-submitted form values for processing. ([source](https://github.com/swisspol/gcdwebserver#readme))
- [Multipart Form Parsing](https://awesome-repositories.com/f/web-development/multipart-upload-utilities/multipart-form-parsing.md) — Provides server-side parsing of multipart/form-data requests to extract uploaded files and text fields.
- [Web-Based File Managers](https://awesome-repositories.com/f/web-development/web-based-file-managers.md) — Ships a web-based file manager that enables users to upload, download, and organize files via a browser. ([source](https://github.com/swisspol/gcdwebserver#readme))
- [Static Asset Serving](https://awesome-repositories.com/f/web-development/web-infrastructure-deployment/web-server-capabilities/static-asset-serving.md) — Delivers static files and directory listings from local paths to web clients. ([source](https://github.com/swisspol/gcdwebserver#readme))

### Mobile Development

- [Embedded Web Backends](https://awesome-repositories.com/f/mobile-development/embedded-web-backends.md) — Provides a lightweight web backend for iOS, macOS, and tvOS applications.

### Part of an Awesome List

- [File Upload](https://awesome-repositories.com/f/awesome-lists/devtools/file-upload.md) — Provides a browser interface for users to upload and download files to the application sandbox.
- [Local Directory Serving](https://awesome-repositories.com/f/awesome-lists/media/file-and-image-handling/local-file-image-replacements/local-directory-serving.md) — Serves static files and directories from the device's local storage to network clients.
- [Network Analysis and Proxies](https://awesome-repositories.com/f/awesome-lists/devtools/network-analysis-and-proxies.md) — Embeddable HTTP server for local network communication.

### Business & Productivity Software

- [Sandbox](https://awesome-repositories.com/f/business-productivity-software/file-browsers/sandbox.md) — Provides an HTML5 interface specifically for navigating and managing files within the application's isolated sandbox. ([source](https://github.com/swisspol/gcdwebserver#readme))

### Development Tools & Productivity

- [Web-based File Managers](https://awesome-repositories.com/f/development-tools-productivity/web-based-file-managers.md) — Provides a browser-based interface to manage files stored within the application sandbox. ([source](https://github.com/swisspol/gcdwebserver#readme))

### DevOps & Infrastructure

- [HTTP Range Request Handling](https://awesome-repositories.com/f/devops-infrastructure/caching-layers/range-aware-caching/http-range-request-handling.md) — Supports partial content downloads and seeking by processing HTTP range headers during file delivery.

### Security & Cryptography

- [Password Access Restrictions](https://awesome-repositories.com/f/security-cryptography/domain-access-restrictions/request-access-restrictions/password-access-restrictions.md) — Protects endpoints using standard HTTP Basic and Digest authentication schemes. ([source](https://github.com/swisspol/gcdwebserver#readme))

### User Interface & Experience

- [Browser-Based Device Uploads](https://awesome-repositories.com/f/user-interface-experience/file-uploaders/drag-and-drop-file-upload/remote-session-file-uploads/device-to-host-file-uploads/browser-based-device-uploads.md) — Implements a web-based interface for uploading files directly to the host device. ([source](https://github.com/swisspol/gcdwebserver#readme))
