Pour servir sa page Web du module utilise les fonctions de Rabbit HTTP

Lapin en temps réel de la Page Web

Pour servir sa page Web, le module utilise les fonctions de Rabbit HTTP et sur des structures en Dynamic C pour servir de fichier de la page Web sur demande. La boucle principale programme met à jour les variables de temps une fois par seconde.

Page Design

  

Listing 6-2 est le code HTML pour le Réseau article 6-1's page Web. La page utilise des balises HTML pour conseiller le navigateur comment afficher le contenu de la page. Chaque balise se compose de texte délimitées par les crochets (). Dans la section de la profondeur de cette mise en réseau tutoriel a plus de détails sur les balises HTML et comment les utiliser. Pour l'instant, l'article pertinent du Code sont les cinq lignes que chaque commencer par une balise de paragraphe (

). Une balise de paragraphe indique au navigateur d'afficher les informations qui suit dans un nouveau paragraphe. La balise, premier alinéa, force le navigateur à afficher le texte: «Ce programme Rabbit fonctionne depuis:". Chacune des quatre lignes qui suivent contient un Server Side Include # echo directive qui insère la valeur d'une variable sur la page. A Server Side Include directive utilise les délimiteurs même comme un commentaire HTML. Un commentaire, qui est un texte que le navigateur ignore et ne s'affiche pas, est fermée par . Sur réception d'une page qui contient un commentaire HTML, le navigateur affiche la page comme si le commentaire et de ses délimiteurs n'étaient pas présents. Une autre utilisation des séparateurs de commentaires est de permettre une page pour spécifier les Server Side Include (SSI) des directives que le serveur exécute avant de servir la page vers le navigateur. Avant de servir une page contenant une directive SSI, le serveur exécute la directive et remplace les délimiteurs et le texte entre eux avec le résultat de l'exécution de la directive. Si, pour quelque raison que le serveur ne supporte pas la directive, le serveur ignore la directive et le navigateur traite la directive dans son commentaire, qui n'est pas affichée.

Le # echo directive indique au serveur de remplacer la balise de commentaire et de son contenu avec la valeur de la variable nommée. Par exemple, dans la première directive, le serveur remplace avec la valeur des jours variable sur le serveur. Si les jours est égal à 5, le navigateur reçoit et affiche les jours: 5. Dans la section La profondeur de cette mise en réseau tutoriel détaille un peu plus d'écho et autres # Server Side Includes.

TINI en temps réel de la Page Web

Pour utiliser un TINI pour servir des pages Web avec du contenu dynamique, vous avez un peu de choix. Votre première pensée pourrait être d'utiliser la classe HttpServer fourni avec le système d'exploitation TINI's. Toutefois, ce intégré dans le serveur Web ne peut que servir des pages statiques. Au service de données dynamiques, il faudrait modifier les données dans les pages stockées chaque fois que le contenu change. Il est plus efficace pour récupérer les données dynamique sur la demande et l'insérer dans la page comme il est servi. Une autre option est d'installer et d'exécuter un programme serveur qui supporte les servlets Java. Un servlet est un composant logiciel qui peut répondre à une entrée d'utilisateur et générer du contenu dynamique de pages Web. Dans la plupart des cas, les servlets sont les plus efficaces et un gain de temps moyen de permettre à un serveur Web pour fournir un contenu dynamique. Le chapitre 7 a plus sur les servlets et comment les utiliser.

Une troisième option consiste à écrire un serveur Web de base qui utilise la classe ServerSocket et ajoute du contenu dynamique, elle propose à ses pages. Pour certaines applications à faible volume d'une ou de quelques pages, ce genre d'ale serveur peut faire le travail sans ajouter de complexité trop. L'exemple de cette mise en réseau didacticiel utilise la classe ServerSocket pour créer un serveur de base qui sert une page qui affiche la quantité de temps, le TINI a été en marche. Que vous décidiez ou non d'utiliser cette approche, le code de cette application est intéressant comme une démonstration de la responsabilité d'un serveur Web. Le serveur Web répond à des demandes de se connecter à un port spécifique. Quand un hôte connecté envoie une requête HTTP pour une page prise en charge, le serveur calcule les valeurs des variables de la page contient, écrit le contenu de la page vers le socket, et ferme la socket.

Protocoles de service pour les pages Web

Les exemples de ce tutoriel en réseau a montré comment les navigateurs Web utilisent le protocole de transfert hypertexte (HTTP) pour demander des pages Web, et les pages Web elles-mêmes sont encodés en utilisant le langage de balisage hypertexte (HTML). En outre, certaines pages utilisent Server-Side Include (SSI) des directives pour permettre à une page Web pour afficher les données dynamiques ou pour ajouter des fonctions non disponibles avec le langage HTML seul.

Cette section détaille un peu plus HTTP, HTML, et le SSI, en mettant l'accent sur les systèmes embarqués comment pouvez utiliser chacun en proposant des pages à contenu dynamique.

Utilisation du protocole de transfert hypertexte

HTTP est une question d'application standard de nombreux protocoles de niveau utilisé dans les communications réseau. Réseau de l'article 6-5 montre l'emplacement du protocole HTTP dans un pile réseau. Bien qu'en théorie une communication HTTP peut utiliser n'importe quel protocole fiable pour atteindre ses destinations sur un réseau, dans la pratique à peu près toutes les communications passent piles réseau TCP et HTTP via des couches IP. Une application utilise le protocole HTTP 266, mai être un navigateur Web, ce qui demande des pages Web ou un serveur Web, ce qui renvoie les pages Web sur demande. Quiconque a parcouru l'Internet est utilisé HTTP. Lorsqu'un navigateur envoie une requête pour une page Web sur le réseau, la demande contient une URL qui identifie l'emplacement et le nom de la page. Le chapitre 4 décrit la façon dont un réseau utilise les informations contenues dans l'URL pour déterminer où acheminer une communication.

En apprenant l'adresse IP qui héberge la page Web souhaitée, le client demande d'ouvrir une connexion TCP avec l'ordinateur à cette adresse. Par défaut, les serveurs de servir des pages Web sur le port 80. Si un serveur utilise un numéro de port différent, l'URL précise le nombre, comme expliqué au chapitre 4. Lorsque la connexion a été établie, le navigateur envoie un message contenant une requête HTTP pour une page, et l'ordinateur récepteur répond par portion, ou l'envoi, la page Web à l'ordinateur demandant plus de la connexion TCP. Un des avantages de l'utilisation de pages Web afin de fournir l'information est que l'interface du navigateur est universelle. Si vous placez un serveur Web sur l'Internet, n'importe qui avec un navigateur et une connexion Internet peut afficher les pages du serveur. Les moteurs de recherche permettent aux utilisateurs de trouver votre page, même si elles ne connaissent pas l'adresse IP ou le nom de domaine. Pages Web n'ont pas à être sur Internet, cependant. Vous pouvez faire une page disponible uniquement dans un réseau local. Si vous le souhaitez, vous pouvez également restreindre l'accès en spécifiant quelles adresses IP peuvent accéder à une page ou en exigeant un mot de passe pour accéder à la page. En tout cas, vous n'avez pas à limiter les communications aux utilisateurs qui utilisent le matériel ou logiciel spécifique. Comme les exemples dans le chapitre 7 spectacle, un serveur peut également recevoir des informations depuis un navigateur. Une page Web peut permettre aux utilisateurs d'envoyer des informations à l'ordinateur qui purge une page, et l'ordinateur peut utiliser cette information pour n'importe quel but.

HTTP Versions

HTTP version 1.1 est spécifié dans la RFC 2616: Hypertext Transfer Protocol - HTTP/1.1. RFC1945 contient les versions précédentes, le protocole HTTP 1.0 et 0.9.

La version 1.1 ajoute des capacités de bande passante du réseau pour la conservation, l'amélioration de la sécurité et la notification d'erreur, permettant aux clients de spécifier les langues privilégiées ou de jeux de caractères, mise en mémoire tampon et permettant plus de souplesse en divisant les données en morceaux. De nombreux systèmes embarqués petites et servir des pages Web simples. Ces systèmes mai gain de peu d'avantages à soutenir HTTP 1.1 et, partant, mai, utiliser 1,0 pour la simplicité. Les serveurs HTTP 1.0 doivent également répondre correctement aux demandes de 0,9 clients. Un navigateur qui prend en charge HTTP 1.1 ne devrait avoir aucune difficulté à communiquer avec un serveur 1.0. Conforme serveur Dynamic C's HTTP avec HTTP 1.0. Le Tynamo serveur Web utilisé dans le chapitre 7's exemples TINI met en œuvre les éléments requis dans HTTP 1.1. Probablement la raison principale d'un système embarqué pourrait utiliser le protocole HTTP 1.1 est son soutien pour les connexions persistantes, ce qui peut réduire le nombre de connexions que le serveur doit ouvrir et fermer. Avec le protocole HTTP 1.0, chaque demande exige une nouvelle connexion. Si un client demande une page Web qui contient plusieurs liens vers des images, la demande de la page ainsi que chaque demande d'une image nécessite sa propre connexion, ce qui exige à son tour le serveur et le client pour faire les poignées de mains pour ouvrir et fermer chaque connexion . Demandant plusieurs pages dans un court laps de temps nécessite également une nouvelle connexion pour chaque page. En revanche, avec le protocole HTTP 1.1, le comportement par défaut est les connexions persistantes, où une connexion est laissée en suspens jusqu'à ce que le client ou le serveur détermine que la communication est terminée ou que le serveur ferme la connexion après une période d'inactivité. Les documents RFC préciser les capacités minimales qu'un serveur HTTP doit avoir. Les exigences varient avec la version HTTP.

Éléments d'un message HTTP

Un message HTTP est constitué d'une demande initiale ou de la ligne d'état, têtes de message optionnel, une ligne vide, et un corps d'entité en option. (HTTP 0.9 ne supporte pas les lignes d'état ou de têtes.) HTTP supporte deux types de messages, des demandes et des réponses. Un client envoie une requête à demander à un serveur pour une ressource, et le serveur renvoie une réponse contenant la ressource ou le statut de l'information.

Sur réception d'une page qui inclut des images, le client envoie généralement une requête GET pour chaque image. En plus de la méthode GET, HTTP 1.0 et versions ultérieures définissent le chef et les méthodes POST (tableau 6-1). Head est similaire à GET, sauf que le serveur renvoie uniquement les en-têtes qu'il enverrait en réponse à une requête GET pour la ressource, mais pas la ressource elle-même. La méthode POST permet à un client d'envoyer des données à une ressource sur le serveur. Le serveur transmet les données reçues dans le corps du message pour le programme, un processus ou d'autres ressources spécifiées dans la ligne de demande. La ressource nommée utilise les données. Une utilisation commune de POST est de permettre aux utilisateurs d'envoyer des données saisies sur un formulaire à un programme CGI, qui traite les données et envoie une réponse au client. (Chapitre 7 a plus propos de CGI.) Mais d'une requête POST pouvez spécifier n'importe quelle ressource et la ressource peut utiliser les données de quelque façon. Le protocole HTTP 1.1 Standard dit que tous les serveurs d'usage général doit être au minimum de soutien de l'EEG et des méthodes de HEAD. HTTP 1.1 définit des méthodes supplémentaires. Celui qui pourrait utiliser les systèmes embarqués est posée, qui, comme POST, permet au client d'envoyer des données vers le serveur. Mais au lieu de nommer une ressource pour recevoir des données du corps du message, une requête PUT noms d'un fichier ou une autre entité où le serveur doit stocker les données du corps du message. PUT peut être utile pour les transferts de fichiers, où les noms de ligne demander le fichier sur le serveur où le serveur doit stocker les données reçues. HTTP 0.9 ne supporte que la méthode GET, et la ligne de requête ne comprend que la demande et des URL, mais pas le protocole HTTP version. Si aucune version HTTP est spécifiée, le serveur devrait assumer sa version 0.9. Méthodes spécifiées dans les demandes doivent être en majuscule et suivi par un espace.

un article présenté par Daniel R.


Disclaimer:Notre site n'est pas responsable du contenu de cet article. Webarticles est une ressource d'information gratuite.
Important: Cet article «Pour servir sa page Web du module utilise les fonctions HTTP Rabbit" a été traduit par un logiciel automatique. Nous nous sentons désolés pour les fautes d'orthographe que mai ont eu lieu. Nous vous remercions de votre compréhension.


Online: 298 users browsing the articles directory