GithubHelp home page GithubHelp logo

kinpro / nanohttpd Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nanohttpd/nanohttpd

0.0 2.0 0.0 1.55 MB

Tiny, easily embeddable HTTP server in Java.

Home Page: http://nanohttpd.com/

License: BSD 3-Clause "New" or "Revised" License

Java 100.00%

nanohttpd's Introduction

What is "nanohttpd"?

NanoHttpd is a light-weight HTTP server designed for embedding in other applications.

NanoHttpd has been released under a Modified BSD licence.

Core Features

  • Only one Java file, providing HTTP 1.1 support.
  • 2 "flavors" - one at "current" standards and one strictly Java 1.1 compatible.
  • Released as open source, free software, under a Modified BSD licence.
  • No fixed config files, logging, authorization etc. (Implement by yourself if you need them.)
  • Experimental support for SSL (see the 'ssl-support' branch in git)
  • Basic support for cookies
  • Supports parameter parsing of GET and POST methods.
  • Rudimentary PUT support (added in 1.25).
  • Support for HEAD and DELETE requests.
  • Supports single and multi-value parameters (w/ a helper method) if needed.
  • Supports file upload (since version 1.2, 2010) with minimal memory overhead.
  • Never caches anything.
  • Doesn't limit bandwidth, request time or simultaneous connections.
  • All header names are converted lowercase so they don't vary between browsers/clients.
  • Very low memory overhead when processing even the largest of requests.
  • Temp file usage and threading model are easily cutomized.
  • Persistent connections (Connection "keep-alive") support allowing multiple requests to be served over a single socket connection.

Websocket Support

  • Tested on Firefox, Chrome and IE.

Webserver Features

  • Supports both dynamic content and file serving.
  • Default code serves files and shows all HTTP parameters and headers.
  • File server supports directory listing, index.html and index.htm.
  • File server supports partial content (streaming).
  • File server supports ETags.
  • File server does the 301 redirection trick for directories without /.
  • File server supports simple skipping for files (continue download).
  • File server serves also very long files without memory overhead.
  • Contains a built-in list of most common mime types.
  • Runtime extension support (extensions that serve particular mime types) - example extension that serves Markdown formatted files. Simply including an extension JAR in the webserver classpath is enough for the extension to be loaded.

Thank you to everyone who has reported bugs and suggested fixes.

nanohttpd's People

Contributors

psh avatar elonen avatar martinmreed avatar yankee42 avatar bjoernakamanf avatar santagaz avatar steventebrinke avatar rnveach avatar albintheander avatar mcfoggy avatar n-coder avatar sherifmoursi avatar worxfr avatar douzifly avatar lordfokas avatar waffle-with-pears avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.