Plan du site  
pixel
pixel

Articles - Étudiants SUPINFO

Service web HTTP

Par Chayma ELHALBOUNI Publié le 10/01/2020 à 20:39:03 Noter cet article:
(0 votes)
Avis favorable du comité de lecture

Introduction

Un service web est un logiciel, dont le rôle est d’écouter des requêtes d’un type particulier notamment des requêtes http provenant des clients que l’on appelle navigateurs. Les navigateurs sont bien connus des utilisateurs, et les plus répandus sont Netscape Navigator, Internet Explorer, google Chrome ou Opera. Le protocole http (Hyper Text Transfer Protocol) est assez simple : Il permet au navigateur de demander à tout service web de lui retourner un fichier stocké sur le serveur. La plupart du temps, sont au format HTML (Hyper Text Format Langage).

Le service web doit être exécuté sur une machine qui possède une identification unique sous la forme d’une adresse IP (Internet Protocol), afin qu’un navigateur puisse localiser e service web sans ambiguïté. Bien que seule l’adresse IP soit nécessaire, la machine possède également un nom enregistré dans un DNS (Domain Name System), qui permet de retrouver l’adresse IP à partir du nom. Pour un utilisateur humain il est en effet plus simple de se souvenir d’un nom comme www.abc.tn que de 192.67.78.90.

Quand un service web tourne sur une machine (supposons 192.67.78.0), le protocole http permet à un navigateur d’accéder à la page d’accueil du service web en indiquant comme adresse indifféremment : http://192.67.78.90 ou http://www.abc.fr. O appelle cette adresse l’URL (unique Ressource Location). La communication entre le navigateur et le serveur se fait en deux temps :

  • Le navigateur effectue une requête HTTP,

  • Le serveur traite la requête puis envoie une réponse HTTP.

Format d'une URL

Une URL(Uniform Resource Locator) est une format de nommage universel pour désigner une ressource sur Internet, il s’agit d’une chaine de caractères ASCII imprimables qui se décomposent en plusieurs parties :

  • Le nom du protocole : C’est-à-dire en quelque sorte le langage utilisé pour communiquer sur le réseau. Le protocole le plus largement utilisé est le protocole http. De nombreux autres protocoles sont toutefois utilisables (FTP, News, Mailto,Gopher…),

  • Le nom du serveur : Il s’agit du nom de domaine de l’ordinateur hébergeant la ressource demandée. Notez qu’il est possible d’utiliser l’adresse IP du serveur, ce qui rend par contre l’URL moins lisible,

  • Le numéro de port : Il s’agit de numéro attribué à un service permettant au serveur de savoir quel type de ressources est demandée. Le port associé par défaut au protocole est le port numéro 80. Ainsi, lorsque le service web du serveur est associé au numéro de port 80, le numéro de port est facultatif,

  • Le chemin d’accès à la ressource : cette dernière partie permet au serveur de connaitre l’emplacement auquel la ressource est située, c’est-à-dire de manière générale lerépertoire et le nom du fichier demandé.

Présentation d’Apache

Apache est une serveur http maintenu par l’Apache Group. Il est le fruit de l’effort de webmasters qui développent chacun des extensions au serveur le plus populaire de l’époque ( le serveur http de NCSA), puis décident de former l’Apache Group afin de mettre en commun leurs efforts et de produire le serveur HTTP le plus robuste et le plu stable jamais connu. Le nom Apache vient de ‘a patchy server’, en raison du monde de développement par patchs de ces premières visions. Ses performances, sa robustesse, son utilisation aisée, et sa licence en font le serveur web le plus populaire au monde depuis mars 1977.

Démarrage, arrêt et redémarrage d’Apache

Le serveur Apache permet d’installer un serveur http.Ce serveur est un service indépendant qui écoute sur le port 80.

L’installation du serveur se fait suite à l’installation du paquet httpd.

    #rpm -ihv httpd-version.rpm 

Ou

     #yum install httpd -y 

Lorsque le serveur démarre il va lire tous ses fichiers de configuration, pour arrêter le service web :

   #service httpd stop 

Ou

    #systemctl stop httpd 

A chaque fois ou l’administrateur modifie un fichier de configuration du serveur web. Il doit relancer le service avec la commande :

    #service httpd restart ou systemctl restart httpd 

Ou

    #service httpd reload ou systemctl reload httpd 

Pour assurer que le serveur httpd démarre automatiquement avec le démarrage du systéme, l’administrateur doit exécuter :

   #chkconfig httpd on 

Ou

     #systemctl enable httpd

Configuration d’Apache

Le fichier de configuration principal du serveur Apache est /etc/httpd/conf/httpd.conf. Ce fichier contient un ensemble de directives ayant chacune des valeurs. Personnaliser la configuration du serveur web consiste à modifier les valeurs de ses directives.

 ServerType standalone  

Le serveur s’exécutera seul, sans recourir au super-serveur xineted.

ServerRoot /etc/httpd  

Il s’agit du répertoire ou le serveur trouvera les fichiers spécifiés à l’aide d’un chemin relatif

PidFile /var/run/httpd.pid 

C’est le fichier ou le serveur en exécution stocke son premier numéro de processus(PID)

Port 80   

Port tcp usuel utilisé par le serveur web

User apache
Group apache  

Apache doit être démarré par root, mais par sécurité ses processus auront pour propriétaire l’utilisateur apache, sans privilége

 StartServers 4 

Nombre de processus serveurs démarrés à l’initialisation, en plus du processus père.

MaxClients 150 

Nombre maximum de processus qu’Apache peut lancer et gérer simultanément

 ServerName www

Fixe un nom public pour le serveur, auquel on pourra s’adresser par les URL ttp://www/ bien entendu le nom symbolique www doit être connu du DNS

DocumentRoot /var/www/html

Fixe la racine du serveur web, c’est-à-dire le répertoire de base ou sont cherchées les pages html à afficher par défaut.

DirectoryIndex index.html index.php index.htm  

Il est courant d’omettre le nom du fichier de la page d’accueil d’un site. Pour ne pas retourner systématiquement une erreur 404 signalant une adresse erronée, le serveur possède une liste standard de noms de fichiers qu’il s’efforce de trouver pour les afficher par défaut. Cette liste ordonnée est indiquée par la clause DirectoryIndex.

Les sites WEB virtuels

Plusieurs solutions sont envisageables pour faire héberger plusieurs sites dites « virtuels » gérés par un seul serveur, défini par une même configuration.

Dans ce cas, un utilisateur croira accéder à plusieurs sites web différents, en fait hébergés par le même serveur Apache.

Le paramétrage se fait dans /etc/httpd/conf/httpd.conf, section #Virtual Hosts # vers la fin du fichier

                
        <VirtualHost 104.27.98.14> 
              ServerName www.supinfo.com
              DocumentRoot /var/www/html/supinfo 
              ErrorLog logs/supinfo-error_log combined 
              CustomLog logs/supinfo_access_log common 
         </VirtualHost> 
         <VirtualHost 37.59.166.209> 
             ServerName www.sce.sad.supinfo.com 
              DocumentRoot /var/www/html/scesupinfo 
              ErrorLog logs/scesupinfo-error_log combined 
              CustomLog logs/scesupinfo_access_log common 
        </VirtualHost>
         

Les paramètres « common » et « combined » représentent deux formats des fichiers journaux des accès (défini par la directive CustomLog) et des erreurs (défini par la directive ErrorLog).

Contrôle des accès à un répertoire

Chaque répertoire auquel Apache accède peut être configuré particulièrement ( ceci s’applique aussi à ses sous-répertoires).

Le paramétrage du répertoire se précise dans un conteneur, ensemble de clauses situées entre les balises <Directory > et </Directory> Pour chaque répertoire on lui spécifie ses restrictions d’accès dans son conteneur <Directory>. Ces restrictions précisent les hôtes dont les requêtes seront traitées et ceux dont les requêtes seront rejetées. On précise d’abord une règle générale avec la directive order allow, deny ou order deny, allow. Order allow, deny : accepte les machines clientes explicitement autorisées et refusent toutes les autres. Order deny, allow : refuse les machines clientes explicitement autorisées et accepte toutes les autres. Par la suite on précise les clients autorisés à se connecter en utilisant la directive allow from. Et ceux non autorisés en utilisant la directive deny from. Exemple :

        <Directory /var/www/html> 
              Order allow, deny 
              Allow from 192.168.0 station1.exemple.com 
             Deny from .cracker.org 
        </Directory>
         
A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels