Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
web [Le 27/02/2024, 15:21] krodelabestiole [Serveurs] + caddy |
web [Le 05/12/2024, 13:56] (Version actuelle) krodelabestiole +détails http/html |
||
---|---|---|---|
Ligne 4: | Ligne 4: | ||
[[wpfr>World_Wide_Web|Le Web]] est l'ensemble des documents et des services disponibles sur [[:Internet]] accessibles via le protocole HTTP(S). Une caractéristique essentielle du Web est la capacité de passer d'un service à un autre par des liens hypertexte. Ces liens forment le réseau d'où le Web (//toile// en anglais) tire son nom.\\ | [[wpfr>World_Wide_Web|Le Web]] est l'ensemble des documents et des services disponibles sur [[:Internet]] accessibles via le protocole HTTP(S). Une caractéristique essentielle du Web est la capacité de passer d'un service à un autre par des liens hypertexte. Ces liens forment le réseau d'où le Web (//toile// en anglais) tire son nom.\\ | ||
- | Un site Web est quant à lui un ensemble de pages Web liées entre elles, traitant d'un même sujet et visibles sur un même nom de domaine. | + | Un site Web est quant à lui un ensemble de pages Web liées entre elles, traitant d'un même sujet et visibles sur un même [[#nom de domaine]]. |
===== HTTP et navigation ===== | ===== HTTP et navigation ===== | ||
Ligne 18: | Ligne 18: | ||
Une URL se compose ainsi (sans crochet ni espace) : | Une URL se compose ainsi (sans crochet ni espace) : | ||
- | <box 85% round #fda>[//[[wpfr>Protocole_réseau|protocole]]//] **<nowiki>://</nowiki>** [//hôte//] **/** [//chemin//] **/** [//nom de la page web//] **?** [//chaîne de requête//] **#** [//signet//]</box> | + | <box 85% round #fda>[//protocole//] **<nowiki>://</nowiki>** [//hôte//] **/** [//chemin//] **/** [//nom de la page web//] **?** [//chaîne de requête//] **#** [//signet//]</box> |
- | * Dans le domaine du Web, les //protocoles// sont [[wpfr>Hypertext_Transfer_Protocol|HTTP]] ou [[wpfr>HyperText_Transfer_Protocol_Secure|HTTPS]]. Généralement il n'est pas nécessaire de saisir le protocole dans la barre d'adresses, le navigateur web l'ajoute automatiquement si il est manquant. Le protocole est même masqué par défaut dans la barre d'adresse de certains navigateurs. | + | * Dans le domaine du Web, les **//[[wpfr>Protocole_réseau|protocoles]]//** sont [[wpfr>Hypertext_Transfer_Protocol|HTTP]] ou [[wpfr>HyperText_Transfer_Protocol_Secure|HTTPS]]. Généralement il n'est pas nécessaire de saisir le protocole dans la barre d'adresses, le navigateur web l'ajoute automatiquement si il est manquant. Le protocole est même masqué par défaut dans la barre d'adresse de certains navigateurs. |
- | * L'//hôte// peut être soit une [[wpfr>Adresse_IP|adresse IP]] soit un [[#noms de domaine|nom de domaine]] avec ou sans sous-domaine. | + | * L'**//hôte//** peut être soit une [[wpfr>Adresse_IP|adresse IP]] soit un [[#nom de domaine]] avec ou sans sous-domaine. |
Historiquement et dans le cas d'une configuration simple, les affirmations suivantes s'appliquent mais elles peuvent être rendues fausses par les fonctionnalités de [[:apache2#mod_rewrite|réécriture d'URL]] disponibles avec la plupart des serveurs web, et qu'on utilise couramment pour un meilleur référencement ou plus de pertinence sémantique : | Historiquement et dans le cas d'une configuration simple, les affirmations suivantes s'appliquent mais elles peuvent être rendues fausses par les fonctionnalités de [[:apache2#mod_rewrite|réécriture d'URL]] disponibles avec la plupart des serveurs web, et qu'on utilise couramment pour un meilleur référencement ou plus de pertinence sémantique : | ||
- | * Le //chemin// correspond au [[:chemins#chemin_relatif|chemin]] de la ressources sur le support de stockage du serveur, relativement à la racine de l'hôte ([[:apache2#hotes_virtuels|DocumentRoot]] pour [[apache2|Apache]]). | + | * Le **//chemin//** correspond au [[:chemins#chemin_relatif|chemin]] de la ressources sur le support de stockage du serveur, relativement à la racine de l'hôte ([[:apache2#hotes_virtuels|DocumentRoot]] pour [[apache2|Apache]]). |
- | * Le //nom de la page web// correspond au nom du fichier appelé sur le support de stockage du serveur. Il peut d'agir d'une page web HTML, mais aussi d'un script, d'une image, ou autre. | + | * Le **//nom de la page web//** correspond au nom du fichier appelé sur le support de stockage du serveur. Il peut s'agir d'une page web HTML, mais aussi d'un script, d'une image, ou autre. |
- | * La //chaîne de requête// permet principalement de faire passer des variables à un script exécuté par le serveur web ou éventuellement par le navigateur (on parle de [[https://www.php.net/manual/fr/reserved.variables.get.php|variables GET]]). | + | * La **//chaîne de requête//** permet principalement de faire passer des variables à un script exécuté par le serveur web ou éventuellement par le navigateur (on parle de [[https://www.php.net/manual/fr/reserved.variables.get.php|variables GET]]). |
- | * Le //signet// permet d'accéder directement à un certain emplacement de la page (un chapitre ou un élément en particulier) lors de son premier affichage (le navigateur ne reste pas en haut de page). | + | * Le **//signet//** permet d'accéder directement à un certain emplacement de la page (un chapitre ou un élément en particulier) lors de son premier affichage (le navigateur //scrolle// dans la page). |
Pour un client web il est seulement obligatoire de spécifier le protocole et l'hôte. C'est généralement l'adresse de la page d'accueil des sites qui est dans ce cas affichée par défaut (voir [[:Apache2#index|Index]]). | Pour un client web il est seulement obligatoire de spécifier le protocole et l'hôte. C'est généralement l'adresse de la page d'accueil des sites qui est dans ce cas affichée par défaut (voir [[:Apache2#index|Index]]). | ||
Ligne 33: | Ligne 33: | ||
En anglais, [[wpfr>Hypertext_Transfer_Protocol|HTTP]] est l'acronyme de //Protocole de Transfert HyperTexte//.\\ | En anglais, [[wpfr>Hypertext_Transfer_Protocol|HTTP]] est l'acronyme de //Protocole de Transfert HyperTexte//.\\ | ||
- | Un document [[wpfr>Hypertexte|hypertexte]] est un document contenant des [[wpfr>Hyperlien|hyperliens]]. Il s'agit généralement de documents [[wpfr>Hypertext_Markup_Language|HTML]]. Les hyperliens sont des liens vers d'autres URL. Ils permettent d'établir un réseau entre les documents, les services, et avec d'autres formes de contenu (images, documents, multimédia...). | + | Un document [[wpfr>Hypertexte|hypertexte]] est un document contenant des [[wpfr>Hyperlien|hyperliens]]. Il s'agit généralement de documents [[wpfr>Hypertext_Markup_Language|HTML]]. Les hyperliens sont des liens vers d'autres URLs. Ils permettent d'établir un réseau entre les documents, les services, et avec d'autres formes de contenu (images, documents, multimédia...), et plus discrètement avec des scripts ([[wpfr>JavaScript]] le plus souvent) et feuilles de styles ([[wpfr>CSS]]). En HTML c'est l'attribut ''[[https://developer.mozilla.org/fr/docs/Web/HTML/Element/a#href|href]]'' qui permet d'indiquer l'URL cible d'un hyperlien. |
[[wpfr>HyperText_Transfer_Protocol_Secure|HTTPS]] est une version sécurisée du HTTP, qui implique que les informations échangées entre le navigateur et le serveur web soient chiffrées.\\ | [[wpfr>HyperText_Transfer_Protocol_Secure|HTTPS]] est une version sécurisée du HTTP, qui implique que les informations échangées entre le navigateur et le serveur web soient chiffrées.\\ | ||
Ligne 54: | Ligne 54: | ||
Un serveur web est une machine fournissant l'ensemble des services permettant de mettre à disposition du contenu web. Son centre névralgique est donc le [[wpfr>Serveur_HTTP|serveur HTTP]].\\ | Un serveur web est une machine fournissant l'ensemble des services permettant de mettre à disposition du contenu web. Son centre névralgique est donc le [[wpfr>Serveur_HTTP|serveur HTTP]].\\ | ||
Les serveurs HTTP les plus utilisés sur Internet sont [[:Apache]] et [[:Nginx]]. En plus de ces deux serveurs, les serveurs [[:Lighttpd]] et [[https://caddyserver.com|Caddy]] sont également disponibles sous Ubuntu. | Les serveurs HTTP les plus utilisés sur Internet sont [[:Apache]] et [[:Nginx]]. En plus de ces deux serveurs, les serveurs [[:Lighttpd]] et [[https://caddyserver.com|Caddy]] sont également disponibles sous Ubuntu. | ||
+ | |||
+ | Pour plus de détails sur le fonctionnement d'un serveur web, voir le chapitre //[[:apache2#Mode de fonctionnement sommaire]]// dans la documentation d'Apache. | ||
Les applications et les langages de développement pour le web possèdent aussi souvent leur propre serveur HTTP intégré, c'est le cas pour [[:PHP]], [[:Python]], [[:NodeJS]], etc. | Les applications et les langages de développement pour le web possèdent aussi souvent leur propre serveur HTTP intégré, c'est le cas pour [[:PHP]], [[:Python]], [[:NodeJS]], etc. | ||
Ligne 69: | Ligne 71: | ||
Pour utiliser un serveur web, on peut soit s'auto-héberger, soit passer par les services d'un [[:hébergeur]] qui s'occupe principalement de gérer une grande quantité de serveurs entreposés dans un centre de données (//datacenter//). | Pour utiliser un serveur web, on peut soit s'auto-héberger, soit passer par les services d'un [[:hébergeur]] qui s'occupe principalement de gérer une grande quantité de serveurs entreposés dans un centre de données (//datacenter//). | ||
- | ===== Noms de domaines ===== | + | ===== Nom de domaine ===== |
Les [[wpfr>https://fr.wikipedia.org/wiki/Nom_de_domaine|noms de domaine]] sont les éléments d'adresse Web qui correspondent à un site. Ils s'écrivent sous la forme : [//sous-domaine//] **.**[//[[wpfr>Domaine_de_deuxième_niveau|SLD]]//] **.** [//[[wpfr>Domaine_de_premier_niveau|TLD]]//] | Les [[wpfr>https://fr.wikipedia.org/wiki/Nom_de_domaine|noms de domaine]] sont les éléments d'adresse Web qui correspondent à un site. Ils s'écrivent sous la forme : [//sous-domaine//] **.**[//[[wpfr>Domaine_de_deuxième_niveau|SLD]]//] **.** [//[[wpfr>Domaine_de_premier_niveau|TLD]]//] | ||
Ligne 80: | Ligne 82: | ||
Il existe aujourd'hui l'[[wpfr>IPv4]] et [[wpfr>IPv6]]. | Il existe aujourd'hui l'[[wpfr>IPv4]] et [[wpfr>IPv6]]. | ||
- | Les noms de domaines sont quant à eux enregistrés chez des prestataires qu'on appelle des [[wpfr>Registraire_de_nom_de_domaine|registrars]]. on peut en trouver une liste sur [[:hebergeur#achat_de_nom_de_domaine|cette page]]. | + | Les noms de domaine sont quant à eux enregistrés chez des prestataires qu'on appelle des [[wpfr>Registraire_de_nom_de_domaine|registrars]]. on peut en trouver une liste sur [[:hebergeur#achat_de_nom_de_domaine|cette page]]. |
Pour connaître l'adresse IP depuis le nom de domaine, l'ordinateur questionne un serveur de nom de domaine (ou [[wpfr>Domain_Name_Service|DNS]], pour //**D**omain **N**ame **S**ystem// ou //**D**omain **N**ame **S**ervice//).\\ | Pour connaître l'adresse IP depuis le nom de domaine, l'ordinateur questionne un serveur de nom de domaine (ou [[wpfr>Domain_Name_Service|DNS]], pour //**D**omain **N**ame **S**ystem// ou //**D**omain **N**ame **S**ervice//).\\ |