Web - Un minuscule serveur web sous Windows
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:
Il est gratuit même pour une utilisation professionnelle.
Par exemple c:\www\index.html
Mettez simplement dedans:
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
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
Tiny est capable de faire du CGI !
Créez le fichier c:\www\cgi-bin\test.bat
et mettez dedans:
Ensuite allez sur http://localhost/cgi-bin/test.bat
Vous pouvez lancer Tiny comme suit:
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.
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: https://sebsauvage.net/python/snyppets/tinyweb.reg
(Double-cliquez dessus pour l'inscrire dans la base de registre).
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:
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.
- Site web: http://www.ritlabs.com/en/products/tinyweb/
- Téléchargement direct: https://download.ritlabs.com/tinyweb/tinyweb.zip (80 ko, sources fournies) (Vous n'avez besoin que de tiny.exe)
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: https://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
Ce document intitulé « Web - Un minuscule serveur web sous Windows » issu de Comment Ça Marche (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.