JavaWorld

Wednesday, April 09, 2008

Questions et réponses !!!

Le modèle de réponse/demande HTTP

 

Le HTTP et tous les protocoles étendus  basés sur le HTTP sont basés sur un modèle très simple de communications. Voici comment cela fonctionne : un client, typiquement un navigateur d'enchaînement, envoie une demande d'une ressource à un serveur, et le serveur renvoie une réponse correspondant à la ressource (ou une réponse avec un message d'erreur s'il ne peut pas fournir la ressource pour quelque raison que ce soit). Une ressource peut être un certain nombre de choses, telles qu'un dossier simple de HTML retourné in extenso au navigateur ou à un programme qui produit de la réponse dynamiquement.

Ce modèle simple implique trois faits importants que vous devez vous rendre compte de :  Le HTTP est un protocole sans état. Ceci signifie que le serveur ne garde aucune information sur le client après qu'elle envoie sa réponse, et ne peut pas donc identifier que des demandes multiples du même client peut être connexe ? Les applications de Web ne peuvent pas facilement fournir le genre de rétroaction immédiate typiquement trouvé dans des applications autonomes de GUI telles que des unités de traitement de texte ou des applications client/serveur traditionnelles. Chaque interaction entre le client et le serveur exige un échange de demande/response. La bande passante entre beaucoup en jeu lorsqu'un utilisateur exécute un processus demande/réponse dans lequel un formulaire utilisateur est rempli.

 

Il n'y a rien dans le protocole qui indique au serveur qu'une demande est faite ; par conséquent, le serveur ne peut pas distinguer de diverses méthodes de déclencher la demande sur le client. Par exemple, le protocole de HTTP ne permet pas à un web server de différencier entre une demande explicite provoquée en cliquant un lien ou en soumettant une forme et une demande implicite provoquée en remettant à la côte la fenêtre de navigateur ou à l'aide du bouton arrière des navigateurs. En outre, le HTTP ne contient aucun moyen pour que le serveur appelle des fonctions spécifiques de client, telles que retourner dans la liste d'histoire de navigateur ou envoyer la réponse à une certaine armature.

 

En outre, le serveur ne peut pas détecter quand l'utilisateur ferme le navigateur. Au cours des années, les gens ont développé diverses techniques  pour surmonter le premier problème ; La nature sans état du HTTP. Il est plus difficile de traiter les deux autres problèmes -- aucune rétroaction immédiate et aucuns détails au sujet de la façon dont la demande est faite --, mais une certaine quantité d'interactivité peuvent être réalisés en produisant d'une réponse qui inclut le code côté client (code exécuté par le navigateur), comme le Javascript ou un applet Java


--
Alain Lompo
Excelta - Conseils et services informatiques
MCT
MCSD For Microsoft .Net
MVP Windows Systems Server / Biztalk Server
Certifié ITIL et Microsoft Biztalk Server

0 Comments:

Post a Comment

<< Home