105

A few years ago I used a super simple free web server for Windows.

The only thing you had to do was copy an exe to a dir, double-click that exe, and - voilá - that dir was now accessible over HTTP.

The only problem is that I can't find that little gem...

3

10 Answers 10

77

I recently used mongoose for this purpose. It supports Windows. From the homepage:

Mongoose executable does not depend on any external library or configuration. If it is copied to any directory and executed, it starts to serve that directory on port 8080. If some additional config is required - for example, different listening port or IP-based access control, then a mongoose.conf file with respective options (see example) can be created in the same directory where executable lives. This makes Mongoose perfect for all sorts of demos, quick tests, file sharing, and Web programming.

10
  • 1
    It's not what I used, but it solves the problem in the same simple fashion. +1 and accepted.
    – Martin R-L
    Jan 16, 2011 at 19:04
  • 1
    Once started the easy double-clicky way; how do I stop it?
    – Martin R-L
    Jan 16, 2011 at 19:08
  • 5
    @Martin: on Windows, it adds an icon to the system tray. Right-click the icon and choose "Exit" (or something along those lines).
    – onnodb
    Feb 5, 2011 at 16:46
  • 4
    Drop it in a directory with an index.html. localhost:8080 on your browser. Life is good. Jan 17, 2012 at 21:12
  • 3
    unfortunately mongoose is not downloadable anymore: mongoose.ws/desktop-app 404 Oct 25, 2021 at 17:22
57

If you have python installed, you can use it to serve the current directory over HTTP:

python -m SimpleHTTPServer

By default, it binds to port 8000.

To choose another port:

python -m SimpleHTTPServer 9000

You can even have CGI support if you use CGIHTTPServer instead. Just make sure that the CGI scripts are in a cgi-bin subdirectory.

SimpleHTTPServer and CGIHTTPServer are python modules that come bundled with standard python installs.

I'm pretty sure that most scripting languages have similar tricks, python just happens to be my favorite swiss army knife.

Of course, python is much bigger than a single small standalone executable, but it just happens to be installed on every computer I ever touch.

3
  • 2
    No python installed, hence not just copy an exe and double-click it.
    – Martin R-L
    Jan 16, 2011 at 17:36
  • 24
    For python 3, python -m http.server
    – bentsai
    Sep 1, 2011 at 16:40
  • If you want some more performance on Python, you could use twistd from the command line as well: stackoverflow.com/a/14618010/198348 Jun 17, 2013 at 18:21
23

Nginx for Windows is like that. Extract, run the executable, and place your documents in the html folder.

4
  • 1
    "place your documents in the html folder" I already have a folder as stated. I don't want to copy any files anywhere.
    – Martin R-L
    Jan 16, 2011 at 18:47
  • 5
    @Martin then it's as simple as opening up nginx.conf and changing the document location. You can also use the mklink tool in Windows to point the html folder to your folder.
    – John T
    Jan 16, 2011 at 21:19
  • for dev purposes it can be useful to disable caching and add server { ... location / { ... expires -1; } to conf/nginx.conf Oct 25, 2021 at 18:45
  • +1 While Python http.server is a good option for trivial cases, this is the production-grade solution that can handle things like downloading large files with support for resuming.
    – EM0
    Dec 8, 2021 at 16:26
17

I use HFS sometimes in a pinch. Maybe you'll find it useful. HFS

1
  • 1
    Not what I was looking for but it certainly looks nice! +1
    – Martin R-L
    Jan 16, 2011 at 18:44
4

I had the same need and developed Quickshare, it works on Linux and Windows and does what you want (you run it select a directory, and voila). If you wish, it also supports HTTP-AUTH, IP white/black lists, and uploads.

Here is a screenshot and example of usage.

2
  • 4
    The links in this answer point to a server with "internal error 500". I tried to recover the pages from the Wayback Machine but go the message "This URL has been excluded from the Wayback Machine." :(
    – Tony
    Nov 30, 2018 at 23:57
  • @Tony I found something that claims to be a download link, but Quickshare has an exploit where you can "..." from the root to break out of the jail.
    – Patrick M
    Feb 17 at 3:03
2

I am not sure on the one that you used, but Cassini is free and pretty simple.

Available here - http://blogs.msdn.com/b/dmitryr/archive/2008/10/03/cassini-for-framework-3-5.aspx

1
  • Cassini later turned into the web server used in Visual Studio for testing web sites. Far from an exe to copy and double-click. Nowadays, there's also IIS Express.
    – Martin R-L
    Jan 16, 2011 at 17:38
1

Sounds like you're referring to XAMPP, it does just that.

http://www.apachefriends.org/en/xampp.html

3
  • 4
    XAMPP is an Apache distribution containing MySQL, PHP and Perl.
    – Nifle
    Jan 9, 2011 at 20:18
  • 2
    While it isn't JUST a web server, it is simple web server that's unzip, run and there you go (with added options for more advanced stuff, obviously)
    – WernerCD
    Jan 10, 2011 at 0:49
  • 2
    it is simple web server that's unzip, run and there you go @WernerCD, yes if by simple you easy-to-use, but certainly not simple as in basic (which is specifically what this question is about).
    – Synetech
    May 13, 2014 at 1:56
1

http://ultidev.com/products/Cassini/ - MS Cassini fork that can run as a service, C/P from site:

Here are features present in UltiDev Cassini, but not in the original MS Cassini:

* Comes ready for distribution with Visual Studio ASP.NET applications.
* Runs as a windows service;
* Hosts and runs multiple ASP.NET applications;
* Provides management UI and simple API for configuring web applications;
* Comes in two flavors: 2.0 version for ASP.NET 3.5, 3.0 and 2.0 applications, and 1.1 for applications compiled for ASP.NET 1.1.
1
0

I once used Wapache, which was even easier, as it required no setup.

Wapache is a software that lets you to create desktop applications using web development technology. It combines a modified version of the Apache 2 HTTP server with an embedded Internet Explorer web browser. Requests to the "web server" are handled internally. Data does not travel through the networking layer, ensuring quick response and reliable operation. Wapache also lets you control various browser settings, such as window dimensions and Javascript availability, giving you a consistent runtime environment.

0

I found Abyss the easiest thing I know of, I'd still personally prefer to package up lighttpd or similar.

http://www.aprelium.com/

1

Not the answer you're looking for? Browse other questions tagged or ask your own question.