Git Product home page Git Product logo

asmhttpd's Introduction

asmhttpd - The tiniest webserver ever written
================================================================================
HOW TO BUILD:
-------------
	Just run "make". You will need NASM on your system.

HOW TO RUN:
-----------
	sudo ./asmhttpd "/path/to/your/webroot"

FAQ:
----
	Q: Why?
	A: Just for fun, this is obviously completely impractical.

	Q: How tiny is it?
	A: The core of the daemon uses one single page of memory (4KB). It is
	   quite literally impossible for a program to use less memory than
	   this one does. Each connection allocates an additional 32KB.

	Q: Why do you use a thread-based model for serving files?
	A: Because it was substantially easier to write that way.

	Q: Why are all the source files #included into a single file?
	A: The linker doesn't handle code written like this very well. Twice, I
	   spent a significant amount of time chasing bugs that turned out to
	   be due to the linker incorrectly optimizing out chunks of code.

	Q: Why do you use NASM?
	A: It was what I was familiar with when I wrote it. NASM is actually a
	   great little assembler, but the Intel syntax is a drag.

REPORTING BUGS:
---------------
	Bug reports are greatly appreciated! The most useful information is the
	line that probably got printed in `dmesg`, which shows the address of
	the instruction which caused the segfault. Core dumps are not of much
	use, but send them if you have them. If the bug doesn't crash the
	daemon, send me a very detailed description of what you did to cause
	the issue.

	My E-Mail is: [email protected]

asmhttpd's People

Contributors

jcalvinowens avatar

Watchers

 avatar  avatar

Forkers

kalmuthu

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.