Web - Un minuscule serveur web sous Windows

Décembre 2016

Le plus petit serveur web sous Windows: 28 ko !
C'est TinyWeb.

Malgré sa petite taille, il fonctionne très bien et il est très rapide.

Avantages:
  • Pas d'installation nécessaire (un seul fichier)
  • Ultra-compact (59 ko seulement ! Compacté avec UPX, il ne fait plus que 28 ko)
  • Consomme peu de mémoire (moins de 3 Mo)
  • Très rapide


Il est gratuit même pour une utilisation professionnelle.

Démarrer et arrêter Tiny


Démarrer Tiny


(1) Créez un fichier index.html


Par exemple c:\www\index.html
Mettez simplement dedans:
<html><body>Hello, world !</body></html>

(2) Lancez Tiny


Lancez en ligne de commande: tiny c:\www
(Il est important d'utiliser le chemin absolu).

C'est tout !
Contrôlez le résultat à l'adresse http://localhost

Arrêter Tiny


Affichez le gestionnaire des tâches (CTRL+MAJ+ECHAP) et tuez le processus tiny.exe
ou bien utilisez la ligne de commande: taskkill /F /IM tiny.exe

Faire du CGI


Tiny est capable de faire du CGI !

Créez le fichier c:\www\cgi-bin\test.bat
et mettez dedans:
@echo off
echo Content-type: text/plain
echo.
echo.
echo Salut !
echo Votre adresse IP est %REMOTE_ADDR% et votre navigateur est %HTTP_USER_AGENT%


Ensuite allez sur http://localhost/cgi-bin/test.bat

Options


Vous pouvez lancer Tiny comme suit:
  • tiny répertoire
  • tiny répertoire port
  • tiny répertoire port ip


répertoire est le chemin contenant votre index.html. Ce soit être un chemin absolu.
port est le port sur lequel le serveur doit se mettre en écoute (par défaut: 80)
ip est l'adresse IP sur laquelle le serveur doit se mettre en écoute (par défaut: toutes)

Rien ne vous empêche de lancer plusieurs serveurs web Tiny en même temps.

Notez qu'il existe également une version SSL: TinySSL
Elle est également gratuite.

Notes


Types MIME (Content-type)


Tiny utilise la configuration de Windows pour servir le type MIME correspondant à une extension.
(par exemple, pour servir le type Image/jpeg pour les fichiers .jpg).

Si l'association n'est pas correcte, utilisez le fichier suivant: http://sebsauvage.net/python/snyppets/tinyweb.reg
(Double-cliquez dessus pour l'inscrire dans la base de registre).

Fichiers binaires en CGI


Contrairement à Unix/Linux, la console de Windows ne supporte pas par défaut les données binaires.
Si votre CGI doit renvoyer des fichiers binaires (images, ZIP...) il est nécessaire, dans votre CGI, de forcer le mode binaire.
Par exemple en Python, on fait:
import sys
if sys.platform == "win32":
    import os, msvcrt
    msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)

Documentation de TinyWeb


A voir également :

Ce document intitulé «  Web - Un minuscule serveur web sous Windows  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.