[Web] Un minuscule serveur web sous Windows

Dernière mise à jour le 13 novembre 2009 à 18:16 par marlalapocket
Publié par sebsauvage
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

Meilleures réponses pour « Un minuscule serveur web sous Windows » dans :
Freebox et serveur web ou serveur FTP VoirVous souhaitez mettre en place un serveur web ou un serveur FTP (ou tout type de serveur) hébergé sur un ordinateur situé derrière une freebox. Cela est possible, mais plusieurs manipulations sont nécessaires : Configuration du pare-feu...
Installation rapide de LAMP (Apache+MySql+php) sous Linux VoirLAMP = Linux+Apache+MySql+Php. C'est le serveur web par excellence. L'ensemble est facile à installer. Installation rapide sudo aptitude install apache2 php5 mysql-server php5-mysql libapache2-mod-php5 Le mot de passe administrateur mySQL...
Linux - Administrer les imprimantes via un serveur WEB (CUPS) VoirCUPS (Common Unix Printing System) propose un serveur WEB pour administrer les imprimantes : http://localhost:631/ Ce serveur peut être utile lorsque les outils graphiques proposés par les distributions ne fonctionnent pas.
Installation d'un serveur Web sous Linux (Apache, PHP et MySQL) VoirIntroduction Un serveur web est un logiciel permettant de rendre accessibles à de nombreux ordinateurs (les clients) des pages web stockées sur le disque. Cette fiche pratique explique comment installer le serveur web Apache sur un système de type...
Attaques de serveurs web VoirVulnérabilité des services web Les premières attaques réseau exploitaient des vulnérabilités liées à l'implémentation des protocoles de la suite TCP/IP. Avec la correction progressive de ces vulnérabilités les attaques se sont décalées vers les...
Introduction à la programmation des CGI VoirPrésentation de l'interface CGI Un script CGI (Common Gateway Interface, traduisez interface de passerelle commune) est un programme exécuté par le serveur web (on dit généralement « côté serveur »), permettant d'envoyer au navigateur de...
Collection CommentÇaMarche.net