Rechercher : dans
Par :

[c] Coder un serveur web

Dernière réponse le 21 nov 2006 à 15:05:22 XD, le 20 nov 2006 à 19:59:07 
 Signaler ce message aux modérateurs

Bonjour,

Etant élève en 1ère année de cycle ingénieur, il m'a été demandé de réaliser un serveur web de A... à Z mais j'y connais franchement rien ! o_O
Je me demandais si quelqu'un connaissait un livre ou un site sur le sujet qui pourrait m'être super utile !

Merci d'avance.
Ciao

Meilleures réponses pour « [c] Coder un serveur web » dans :
[Web] Un minuscule serveur web sous Windows Voir 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é...
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...
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...
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...
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...
Intranet et Extranet VoirIntranet Un intranet est un ensemble de services internet (par exemple un serveur web) internes à un réseau local, c'est-à-dire accessibles uniquement à partir des postes d'un réseau local, ou bien d'un ensemble de réseaux bien définis, et...

1

mamiemando, le 21 nov 2006 à 01:18:54

Tu peux partir des sources d'apache mais alors là bon courage.
Essaye de regarder ici si tu trouves ton bonheur :
http://www.cppfrance.com/gma/serveur%20http

Bonne chance

Répondre à mamiemando

2

jisisv, le 21 nov 2006 à 04:57:34

L'univers des serveurs http Open Source ne se limite pas à Apache
http://www.lighttpd.net/
http://www.roxen.com/products/webserver/
http://caudium.net/
...
J'ai utilisé un mini serveur dont je ne me rappelle plus le nom sous FreeBSD il y a quelques années, j'essayerai de retrouver le nom et un lien.

... Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)

Répondre à jisisv

3

XD, le 21 nov 2006 à 09:10:11

Merci beaucoup ! Je pensais plus à quelque chose comme des cours mais les liens que vous m'avez donné vont m'être super utiles ! :)

Répondre à XD

4

oberion, le 21 nov 2006 à 09:41:15

Hello,
Ce n'est pas si compliqué.
Il te faudra des notions de sockets. Il te faudra te renseigner sur la RFC HTTP (je ne me rappelle plus exactement du numero). Cdlt.

Répondre à oberion

5

blux, le 21 nov 2006 à 09:50:02

Salut,

il y a xitami qui est codé en C et en open source...

Il est très léger, tu peux sûrement t'en inspirer...

http://www.xitami.com/developer.htm
A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

6

sebsauvage, le 21 nov 2006 à 10:53:39

Dans l'absolu, c'est pas très compliqué.

En gros, c'est un socket serveur (généralement en écoute sur le port 80).

Le navigateur vient se connecter sur ce port 80 et envoie:

GET /repertoire/fichier HTTP/1.1

ou bien:
GET http://monserveur.com/repertoire/fichier HTTP/1.1


Ce à quoi le serveur répond par:
HTTP/1.1 200 OK
Content-Length: 333
Content-Type: text/html; charset=iso-8859-1

suivi de 2 retours à la ligne, puis le fichier lui-même.

Il y a quelques raffinements (par exemple le navigateur peut dire quelle est sa language, le serveur peut indiquer l'âge du fichier, etc.), mais le principe est là.



Le gros du boulot, ça va être:

- de parser les requêtes qui arrivent (extraire l'URL et d'éventuel paramètres)

- écrire le dispatcheur d'URLs (exécuter des méthodes différentes en fonction des URL, ou bien renvoyer des fichiers stockés sur disque)

- construire la réponse (choisir le Content-Type correspondant au fichier (ex: 'image/jpeg' pour les fichiers .jpg), envoyer un code erreur HTTP précis (404 si document pas trouvé, etc.).
“Life is short - You need Python” -- Bruce Eckel, membre du comité ANSI C++

Répondre à sebsauvage

7

sebsauvage, le 21 nov 2006 à 10:55:47

Après il y a d'autres problématiques à gérer, comme les accès concurrents (plusieurs connexions à la fois), mais c'est déjà plus velu (programation multi-thread ou sockets asynchrones). “Life is short - You need Python” -- Bruce Eckel, membre du comité ANSI C++

Répondre à sebsauvage

8

blux, le 21 nov 2006 à 11:03:06

La RFC de HTTP est dispo ici :

http://www.faqs.org/rfcs/rfc2616.html
A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

9

 phunk, le 21 nov 2006 à 15:05:22

Oui dans l'absolu y a rien de compliqué si tu te limite au basique, dès lors que tu sais manipuler les sockets dans le langage qu'on t'a imposé. Après c'est comme tout, on peut pousser très loin le schmilblick.

Y a un truc qui m'étonne beaucoup : "Etant élève en 1ère année de cycle ingénieur, il m'a été demandé de réaliser un serveur web de A... à Z mais j'y connais franchement rien !"
A moins de me tromper, je ne vois qu'une seule école qui applique ce principe stupide du "tiens voilà un sujet, tu te démerdes". Sans vouloir troller, c'est du côté de la porte d'Italie non ??

Répondre à phunk
Collection CommentÇaMarche.net