Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
web [Le 11/03/2018, 22:49]
krodelabestiole [HTTP]
web [Le 27/02/2024, 15:21] (Version actuelle)
krodelabestiole [Serveurs] + caddy
Ligne 1: Ligne 1:
 {{tag>​réseau serveur internet}} {{tag>​réseau serveur internet}}
  
----- 
 ====== Web ====== ====== Web ======
  
 [[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 Webliées entre elles.+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 =====
  
-Pour accéder à un site Web, il faut utiliser un client Web, communément appelé ​ //​[[:​navigateur]]//,​ par exemple : [[:​Firefox]],​ [[:​Chromium]],​ [[:Google Chrome]], [[:​Opera]]… ​\\+Pour accéder à un site Web, il faut utiliser un client Web, communément appelé ​ //​[[:​navigateur]]//,​ par exemple : [[:​Firefox]],​ [[:​Chromium]],​ [[:Google Chrome]], [[:​Opera]]…
  
 ==== URL ==== ==== URL ====
  
-On passe généralement par un moteur de recherche pour trouver un site, mais on peut aussi saisir directement l'​adresse d'une page web pour l'​afficher. On parle alors d'**//[[https://​fr.wikipedia.org/​wiki/​Uniform_Resource_Locator|URL]]//​**.\\+On passe généralement par un moteur de recherche pour trouver un site, mais on peut aussi saisir directement l'​adresse d'une page web pour l'​afficher. On parle alors d'//[[wpfr>Uniform_Resource_Locator|URL]]//​.
  
-Une URL se compose ainsi (sans crochet ni espace) :\\  +Une URL est donc l'​adresse d'un contenu Web spécifique.
-[//​[[wpfr>​Protocole_réseau|protocole]]//​] **<​nowiki>://</​nowiki>​** [//​domaine//​] **/** [//​chemin//​] **/** [//nom de la page web//] **?** [//chaîne de requête//] **#** [//​signet//​]\\+
  
-  * 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 se chargeant lui me de l'​ajouter s'il est manquant. Le protocole est même parfois masqué dans la barre d'​adresse de certains navigateurs. +Une URL se compose ainsi (sans crochet ni espace) ​:
-  * Le domaine peut-être au choix une [[wpfr>​Adresse_IP|adresse IP]] ou un [[wpfr>​https://​fr.wikipedia.org/​wiki/​Nom_de_domaine|nom de domaine]] avec ou sans sous-domaine. Un nom de domaine est de la forme [//​sous-domaine//​] **.**[//​[[wpfr>​Domaine_de_deuxième_niveau|SLD]]//​] **.** [//​[[wpfr>​Domaine_de_premier_niveau|TLD]]//​] ​+
  
-Pour un client web il est seulement obligatoire de spécifier le protocole et le domaine. 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]]).+<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>​ 
 + 
 +  * 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. 
 +  * 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.  
 +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 //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. 
 +  * 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). 
 + 
 +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]]).
  
 ==== HTTP ==== ==== HTTP ====
Ligne 31: Ligne 38:
 HTTP utilise par défaut le port **80**, et HTTPS le port **443**. HTTP utilise par défaut le port **80**, et HTTPS le port **443**.
  
-Il existe une extension du protocole HTTP appelée [[wpfr>​WebDAV|WebDAV]] qui permet de récupérer,​ envoyer et synchroniser des fichiers via le protocole HTTP. WebDAV a lui-même été étendu aux protocoles [[wpfr>​CalDAV|CalDAV]] et [[wpfr>​CardDAV|CardDAV]] qui permettent de gérer des agendas et des carnets d'​adresses via le web.+Il existe une extension du protocole HTTP appelée [[:WebDAV]] qui permet de récupérer,​ envoyer et synchroniser des fichiers via le protocole HTTP. WebDAV a lui-même été étendu aux protocoles [[wpfr>​CalDAV|CalDAV]] et [[wpfr>​CardDAV|CardDAV]] qui permettent de gérer des agendas et des carnets d'​adresses via le web. 
 ===== Clients ===== ===== Clients =====
  
Ligne 38: Ligne 46:
 Les autres clients HTTP sont par exemple, les [[wpfr>​Robot_d'​indexation|robots d'​indexation]],​ les [[wpfr>​Aspirateur_de_site_web|aspirateurs de site]] ou les [[wpfr>​Agrégateur|agrégateurs web]]. Les autres clients HTTP sont par exemple, les [[wpfr>​Robot_d'​indexation|robots d'​indexation]],​ les [[wpfr>​Aspirateur_de_site_web|aspirateurs de site]] ou les [[wpfr>​Agrégateur|agrégateurs web]].
  
-Pour l'​envoi,​ récupération et synchronisation de fichiers avec WebDAV, le client est souvent le gestionnaire de fichiers : [[:​Dolphin]],​ [[:​Nautilus]],​… et utilise parfois des noms de protocoles non standard tels que //davs// (GNOME) ou //webdav// (KDE) (le nom standard du protocole est //​[[wpfr>​Schéma_d'​URI#​Schémas_enregistrés_auprès_de_l'​IANA|dav]]//​).+Pour l'​envoi,​ récupération et synchronisation de fichiers avec [[:WebDAV]], le client est souvent le gestionnaire de fichiers : [[:​Dolphin]],​ [[:​Nautilus]],​… et utilise parfois des noms de protocoles non standard tels que //davs// (GNOME) ou //webdav// (KDE) (le nom standard du protocole est //​[[wpfr>​Schéma_d'​URI#​Schémas_enregistrés_auprès_de_l'​IANA|dav]]//​).
  
 Pour la synchronisation des contacts et agenda, les clients sont généralement les applications de gestion d'​informations personnelles (PIM) de l’environnement de bureau, ou des [[:​courriel|clients de messagerie]] qui implémentent ce type de synchronisation : [[:​Evolution]],​ [[:​Kontact]],​… Pour la synchronisation des contacts et agenda, les clients sont généralement les applications de gestion d'​informations personnelles (PIM) de l’environnement de bureau, ou des [[:​courriel|clients de messagerie]] qui implémentent ce type de synchronisation : [[:​Evolution]],​ [[:​Kontact]],​…
  
-===== Serveurs=====+===== Serveurs =====
  
 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, ​le serveur ​[[:​Lighttpd]] ​est également ​disponible ​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.
  
 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.
 +
 +De nombreuses applications implémentent aussi de petits serveurs web parmi leurs fonctionnalités (clients [[:​BitTorrent]],​ outil de [[:​synchronisation]] à distance, etc.).
  
 Un serveur web est rarement constitué uniquement d'un service HTTP. C'est le plus souvent une pile logicielle comprenant un serveur HTTP, un interpréteur de scripts et un système de gestion de bases de données.\\ Un serveur web est rarement constitué uniquement d'un service HTTP. C'est le plus souvent une pile logicielle comprenant un serveur HTTP, un interpréteur de scripts et un système de gestion de bases de données.\\
Ligne 56: Ligne 66:
   * Linux + NodeJS + PostgreSQL   * Linux + NodeJS + PostgreSQL
   * etc.   * etc.
 +
 +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 =====
 +
 +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]]//​] ​
 +
 +Par exemple ''​ubuntu-fr.org''​ est un nom de domaine, ''​doc.ubuntu-fr.org''​ en est un sous-domaine.
 +
 +==== DNS ====
 +
 +Pour communiquer ensemble, les machines d'un réseau, qu'il s'​agisse d'​ordinateurs personnels ou de serveurs, et qu'il s'​agisse d'​Internet ou d'un réseau domestique, utilisent des [[wpfr>​Internet_Protocol|adresses IP]], et pas directement des noms de domaine.\\
 +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]].
 +
 +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//​).\\
 +Ceci peut poser des problèmes de confidentialité des données : un tiers peut avoir la liste des sites que vous consultez. Il arrive aussi que certains résolveurs DNS bloquent volontairement certains domaines (on parle de DNS menteurs). N'​hésitez pas à consulter [[:​anonymat#​dns|cette page]] pour en savoir plus à ce sujet, et contourner le problème.
 +
 +=== réseau privé ===
 +
 +Sur un [[wpfr>​réseau privé]] (local) il existe d'​autres systèmes qui permettent d'​utiliser des noms d'​hôtes pour cibler les machines plutôt que leurs adresses IP.
 +  * [[:​zeroconf#​mDNS]] est conçu par Apple mais très bien implémenté par [[:​ZeroConf]] sur Ubuntu. Il utilise le [[wpfr>​Domaine_de_premier_niveau|TLD]] ''​.local''​.
 +  * [[:​samba_smb.conf#​WINS]] attribue des noms [[wpfr>​NetBIOS]]. Il est conçu par Microsoft et implémenté par [[:Samba]].
 +Sur Linux on privilégie mDNS dans la mesure du possible. NetBIOS sera plutôt réservé à des [[:​partage|partages]] avec des machines sous Windows.
 +
 +----
 +//​Contributeurs : [[:​utilisateurs:​krodelabestiole]]//​
  • web.1520804950.txt.gz
  • Dernière modification: Le 11/03/2018, 22:49
  • par krodelabestiole