Skip to content

The #1 HTTP server for iOS, macOS & tvOS (also includes web based uploader & WebDAV server)

License

Notifications You must be signed in to change notification settings

domzilla/DZWebServers

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

630 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

DZWebServers is based on GCDWebserver by Pierre-Olivier Latour.

DZWebServers is a modern and lightweight GCD based HTTP 1.1 server designed to be embedded in iOS and macOS apps. It was written from scratch with the following goals in mind:

  • Elegant and easy to use architecture with only 4 core classes: server, connection, request and response (see "Understanding DZWebServers's Architecture" below)
  • Well designed API with fully documented headers for easy integration and customization
  • Entirely built with an event-driven design using Grand Central Dispatch for best performance and concurrency
  • No dependencies on third-party source code
  • Available under a friendly New BSD License

Extra built-in features:

  • Allow implementation of fully asynchronous handlers of incoming HTTP requests
  • Minimize memory usage with disk streaming of large HTTP request or response bodies
  • Parser for web forms submitted using "application/x-www-form-urlencoded" or "multipart/form-data" encodings (including file uploads)
  • JSON parsing and serialization for request and response HTTP bodies
  • Chunked transfer encoding for request and response HTTP bodies
  • HTTP compression with gzip for request and response HTTP bodies
  • HTTP range support for requests of local files
  • Basic and Digest Access authentications for password protection
  • Automatically handle transitions between foreground, background and suspended modes in iOS apps
  • Full support for both IPv4 and IPv6
  • NAT port mapping (IPv4 only)

Included extensions:

  • DZWebUploader: subclass of DZWebServer that implements an interface for uploading and downloading files using a web browser
  • DZWebDAVServer: subclass of DZWebServer that implements a class 1 WebDAV server (with partial class 2 support for macOS Finder)

What's not supported (but not really required from an embedded HTTP server):

  • Keep-alive connections
  • HTTPS

About

The #1 HTTP server for iOS, macOS & tvOS (also includes web based uploader & WebDAV server)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Objective-C 85.5%
  • JavaScript 11.5%
  • HTML 2.1%
  • CSS 0.9%