C’est quoi un serveur HTTP ou serveur Web ? – Partie 3 1

serveur http

C’est quoi un serveur http ? – Partie 3

C’est quoi un serveur web ?

<<< Suite de l’article C’est quoi un serveur http ? – partie 2

serveur http

 

Terminons notre série d’article sur le protocole HTTP par

Les différences entre GET et POST

Nous l’avons vu dans l’article précédent, les méthodes GET et POST ne se comportent pas tout à fait pareil. Cela peut avoir une incidence sur notre navigation. Regardez bien le tableau ci-dessous, et je pense que vous comprendrez mieux le comportement de votre navigateur Internet sur certaines pages : 

 Action dans le navigateur Méthode GET Méthode POST
Click sur bouton “Précédent” Fonctionne Les données vont être renvoyées. Le navigateur va afficher un message d’alerte. (Essayez de faire “Précédent” sur le site de votre banque par exemple) 
Click sur bouton “Actualiser la page” Fonctionne Les données vont être renvoyées. Le navigateur va afficher un message d’alerte
Visibilité Les données sont affichées dans la barre d’adresse du navigateur et visible par tout le monde. Rien n’est affiché.
Historique Les pages vues et les paramètres sont conservés entièrement dans l’historique.  Seules les pages vues sont conservées. (pas les paramètres)
Cache Les pages et paramètres peuvent être mis en cache pour accélérer les futurs affichages. Pas de cache possible.
Marques-pages Il est possible de marquer la page, elle sera affichée complètement avec les paramètres. Seule la page sera affichée, mais les paramètres seront perdus.
Limitation dans les tailles d’envois Oui, la longueur est limitée à la longueur des URL : 2048 caractères max. Pas de limitation
Limitations dans les données envoyées Oui, il n’est possible d’envoyer que des  données en format texte  Pas de limitation, tous les types de données peuvent être envoyées.
Sécurité

Moins sécurisé que POST car les données sont visibles dans l’URL.

Ne jamais utiliser GET pour envoyer des identifiants et mot de passe. (imaginez que l’on puisse voir votre mot de passe dans la barre d’adresse)

Un peu plus sécurisé car les données ne sont pas visibles directement.

 

 

 

Les réponses du serveur

Le serveur répond aux demandes et si tout va bien, il envoie la ressource demandée. Mais il va également va envoyer code de réponse : 200 qui veut dire OK. C’est le cas le plus fréquent : tout va bien ! 

Vous pouvez retrouver la liste des erreurs http : http://www.w3.org/Protocols/HTTP/HTRESP.html

La fameuse erreur 404 !

Mais il se peut que la ressource demandée ne puisse pas être envoyée et le plus souvent parce qu’elle n’existe pas. (Si elle n’existe pas, c’est peut-être qu’il y a une erreur dans la demande ou que la page a été supprimée).

Lorsque le serveur ne trouve pas la ressource demandée, il va envoyer la célèbre erreur : “404 : page introuvable”. Je tenais à en parler car dans si vous devez vous occuper d’un site Internet, immanquablement, on vous parlera de l’erreur 404. Cette erreur est très connue, à tel point que :

  • Un site Internet y est dédié : http://www.bonjour404.fr/
  • et il y a même une agence de communication Web qui porte ce nom !

En voici quelques unes : (ma préférence va aux 2 dernières : web-alliance et staragora.com)

Comment ça marche, et bien lorsque vous demandez une page au serveur et que cette page n’existe pas, il doit renvoyer une erreur 404. Mais, il peut très bien renvoyer une page affichant  l’erreur 404 et un message personnalisé.

Vous n’y croyez pas, alors essayez avec un site. (attention, j’ai pris l’exemple avec web-alliance.fr, mais vous pouvez choisir un autre site).

  1. Vous saisissez l’adresse dans la barre de navigation (par exemple : www.web-alliance.fr) et vous faites “Entrée”, alors le site s’affiche.
  2. Puis toujours dans la barre de navigation, derrière l’adresse affichée, vous ajoutez : ” /n’importe quoi” comme par exemple :  www.web-alliance.fr/azerty123 puis vous faites Entrée. Le serveur web-alliance.fr ne trouvant pas la page “azerty123” va afficher la page erreur “404 : Page non trouvée”

PS : Cela ne fonctionne pas avec tous les sites, comme par exemple culture-informatique, car tous les mots ajoutés à l’URL sont considérés comme des recherches sur le site.

Une évolution intéressante du http.

Et je vous en parlais dans les articles précédents, je mettais de côté la connexion / déconnexion au serveur http. Un gros défaut des 2 premières versions de http était la connexion et la déconnexion à chaque page car cela ralentissait énormément le trafic. (car à chaque nouvelle page, il fallait se reconnecter.) Donc pour corriger cela, depuis la version http 1.1, le paramètre “Connexion keep-alive” a été ajouté. (“keep-alive” pourrait se traduite par “maintient en vie”). Cela signifie que la connexion n’est pas coupée et que le navigateur reste connecté au serveur.
Si une nouvelle page est demandée, le navigateur va pouvoir envoyer directement la commande GET sans avoir besoin de se connecter (puisqu’il est déjà connecté). Cela permet 2 choses :

  1. accélérer le traitement,
  2. diminuer le trafic de données. (puisqu’il n’y a pas besoin d’envoyer les commandes de connexion, ni de déconnexion)

 

Serveurs Http

Pour être complet, il faut quand même que je vous donne quelques célèbres de noms de serveurs http. (les 3 premiers dans l’ordre d’utilisation dans le monde)

  • Apache : Fonctionne sous Linux, Windows ou Mac OS X. Le plus utilisé dans le monde.
  • IIS: Le serveur Http de Microsoft qui ne fonctionne que sous Windows.
  • NGinx : Un serveur développé en Russie et extrêmement performant. (sous Linux, Windows, Mac Os X)

 

Les différentes méthodes

Et enfin, juste pour votre culture, mais je ne vais pas m’y attarder car vous pouvez trouver cela sur plein de sites.

Voici la liste des méthodes proposées par le protocole http : 

Options  Le serveur va renvoyer la liste des options disponibles.
Get  Nous l’avons déjà abordé.
Head  Le serveur ne renvoie que l’entête des pages, mais pas l’ensemble de la page. 
Post  Déjà vu au-dessus.
Put C’était un moyen de mettre à jour les pages. Maintenant on utilise plus le FTP, c’est nettement plus simple.
Delete Comme pour la méthode PUT, la méthode Delete est nettement moins utilisée, et là aussi c’est les services FTP qui sont utilisés.
Trace  Utilisé pour les tests
Connect  Pour accéder via un proxy. (voir c’est quoi un serveur proxy ?)

 

 

Introduction au https

Juste avant de conclure, je vais commencer à parler du prochain article qui concerne le https.

Je vais vous montrer pourquoi il est important dans certains cas d’utiliser du https et non plus du http. 

Tout cela est dû au protocole http. Je vous rappelle que http est un protocole basé sur du texte. Et que tous les échanges entre votre navigateur et le serveur sont du texte facilement lisible par n’importe qui snifferait votre réseau. (je vais vous montrer cela avec un schéma).

C’est pourquoi le https est né : Il fallait crypter les échanges entre les navigateurs et les serveurs, pour éviter que n’importe qui puisse lire des données confidentielles. 

 

En conclusion

Pour être un peu plus complet, il aurait fallu parler du webdav car le webdav est une extension du protocole http. Il permet l’accès aux serveurs en écriture via le protocole http. Cela va permettre de modifier des documents distants. Ce protocole est par exemple utilisé avec les GED (Gestion électronique de documents).

Vous noterez que dans cet article, je ne parle pratiquement pas de HTML. En effet, dans l’esprit de certaines personnes il s’agit de la même chose et pourtant même si ces 2 choses sont intimement liées, elles n’en sont pas moins bien différentes ! : le langage HTML sert à mettre en forme le contenu. (je pense que j’y reviendrai un jour).

 

 

Liste des articles consacrés au protocole HTTP / HTTPS

Et enfin, un article qui n’est pas directement lié au http ou https, mais qui concerne la sécurité des sites en https : C’est quoi un certificat numérique ?

 

Comme d’habitude, tous les commentaires sont les bienvenus.

N’hésitez pas à vous inscrire à la lettre d’information pour être informé de la parution de nouveaux articles. (vous trouverez la zone d’inscription à la lettre d’information sur la droite de l’écran).

 

Partager cet article ...

One comment on “C’est quoi un serveur HTTP ou serveur Web ? – Partie 3

  1. Répondre Stelyus Jan 19,2016 11 h 17 min

    Très bien expliqué !!

Laisser un commentaire