Table des matières
Comment $_GET reflète la chaîne de requête URL
Comment $_POST gère les données de formulaire dans le corps de la demande
Comment $_SERVER expose les en-têtes HTTP et demandez les métadonnées
Autres superglobaux et leurs rôles
Maison développement back-end tutoriel php L'anatomie d'une demande Web: comment les superglobals mappent au protocole HTTP

L'anatomie d'une demande Web: comment les superglobals mappent au protocole HTTP

Aug 04, 2025 pm 12:40 PM
PHP Global Variables - Superglobals

Les variables hyperglobales PHP telles que $ _get, $ _post, $ _Server mappent directement chaque partie de la demande http: 1. $ _Get correspond à la chaîne de requête URL, telle que? Term = Apple & Page = 2, sera remplie à $ _get ['term'] et $ _get ['page'], les données peuvent être observées dans l'URL et ne sont pas appropriées pour des informations sensier; 2. $ _POST Les processus forment des données dans le corps de la demande de la demande, tels que le nom d'utilisateur et le mot de passe, les données ne sont pas dans l'URL et peuvent être transmises en grande quantité mais nécessitent des HTTP pour garantir la sécurité; 3. $ _Server contient des métadonnées de demande, telles que request_method correspond à la méthode http, http_host provient de l'en-tête hôte, HTTP_USER_AGENT provient de l'en-tête de l'agent utilisateur, et de l'en-tête personnalisée tel que X-récessionné avec HTTP_X_REQUEST_WITH; 4. Les autres hyperglobals incluent $ _Request (les fusions par défaut obtiennent, publient et cookie, mais il est recommandé d'utiliser des variables spécifiques explicitement), $ _cookie (les en-têtes de cookie d'analyse pour la gestion de session) et $ _Files (le traitement des téléchargements de fichiers en multipartique / format de data), qui apporte à PHP avec la possibilité de prendre des processus structurés à diverses composants à HTTPETS de la possibilité de se débrouiller à un accès structure Entrée et création d'applications fiables.

L'anatomie d'une demande Web: comment les superglobals mappent au protocole HTTP

Lorsqu'un utilisateur interagit avec un site Web - cliquer un lien, soumettre un formulaire ou charger une page - une demande Web est générée. Dans les coulisses, cette demande suit le protocole HTTP, transportant des données du client (généralement un navigateur) vers le serveur. Du côté PHP, ces données deviennent accessibles grâce à des variables spéciales appelées superglobals. Ces superglobaux - tels que $_GET , $_POST , $_SERVER et d'autres - sont directement liés à différentes parties de la demande HTTP. Comprendre comment ils mappent au protocole sous-jacent aident à démystifier comment les applications Web reçoivent et traitent les entrées.

L'anatomie d'une demande Web: comment les superglobals mappent au protocole HTTP

Comment $_GET reflète la chaîne de requête URL

Le superglobal $_GET correspond directement à la chaîne de requête dans l'URL d'une demande HTTP. Lorsqu'un navigateur demande une URL comme:

 https://example.com/search.php?term=Apple&page=2

La partie après le ? - term=apple&page=2 - est la chaîne de requête. Ces données sont envoyées au serveur dans le cadre de la ligne de demande HTTP (dans les méthodes GET et POST, bien qu'elle soit le plus souvent associée à GET). PHP analyse automatiquement cette chaîne et remplit le tableau $_GET :

L'anatomie d'une demande Web: comment les superglobals mappent au protocole HTTP
 $ _Get ['Term'] // "Apple"
$ _Get ['page'] // "2"

Ce mappage est simple: chaque paire de valeurs clés dans la chaîne de requête devient une entrée dans $_GET . Il est important de noter que ces données sont visibles dans l'URL, ce qui les rend moins sécurisés pour les informations sensibles et soumises à des limites de longueur imposées par les navigateurs et les serveurs.

Comment $_POST gère les données de formulaire dans le corps de la demande

Lorsqu'un formulaire HTML utilise method="POST" , les données de formulaire sont envoyées dans le corps de la demande HTTP plutôt que dans l'URL. Par exemple:

L'anatomie d'une demande Web: comment les superglobals mappent au protocole HTTP
 <formulaire méthode = "post" action = "/ soumed.php">
  <input type = "text" name = "username" value = "Alice">
  <input type = "mot de passe" name = "mot de passe" value = "secret">
  <Button Type = "Soumider"> Connexion </ftones>
</ form>

Lors de la soumission, le navigateur envoie une demande HTTP comme:

 Post /submit.php http / 1.1
Hôte: exemple.com
Type de contenu: application / x-www-form-urlencoded
Longueur du contenu: 34

nom d&#39;utilisateur = Alice et mot de passe = secret

PHP lit le corps de la demande, analyse les données codées par la forme et remplit le superglobal $_POST :

 $ _Post [&#39;&#39; username &#39;] // "Alice"
$ _Post [&#39;mot de passe&#39;] // "secret"

Contrairement à $_GET , les données $_POST ne sont pas visibles dans l'URL et peuvent gérer des charges utiles plus importantes. Cependant, il n'est toujours pas intrinsèquement sécurisé - valider et désinfecter les entrées et utiliser les HTTP pour protéger les données sensibles en transit.

Comment $_SERVER expose les en-têtes HTTP et demandez les métadonnées

Le superglobal $_SERVER contient des informations sur l'environnement de demande HTTP, dont une grande partie provient des en-têtes de demande et du contexte du serveur. Bien que toutes les entrées ne soient pas des mappages directs, beaucoup corrigent étroitement avec les éléments du protocole HTTP.

Par exemple:

  • $_SERVER[&#39;REQUEST_METHOD&#39;] → Carte à la méthode HTTP (obtenir, publier, mettre, etc.)
  • $_SERVER[&#39;HTTP_HOST&#39;] → Venez de l' Host: en-tête
  • $_SERVER[&#39;HTTP_USER_AGENT&#39;] → dérivé de l' User-Agent: en-tête
  • $_SERVER[&#39;CONTENT_LENGTH&#39;] → correspond à l' Content-Length:
  • $_SERVER[&#39;HTTPS&#39;] → indique si la connexion est sécurisée

Certains en-têtes sont préfixés avec HTTP_ et convertis en majuscules avec des tirets remplacés par des soulignements. Par exemple, un en-tête personnalisé comme X-Requested-With: XMLHttpRequest apparaît:

 $ _Server [&#39;http_x_requeted_with&#39;] // "xmlhttprequest"

Ce tableau donne aux scripts PHP l'accès aux détails de la demande de bas niveau, à l'activation de la logique conditionnelle en fonction du type de client, des jetons d'authentification ou des décisions de routage.

Autres superglobaux et leurs rôles

  • $_REQUEST : un tableau composite qui, par défaut, inclut les données de $_GET , $_POST et $_COOKIE . Son contenu peut être configuré via la directive variables_order dans php.ini. Bien que pratique, il est souvent découragé en faveur de l'utilisation explicite $_GET ou $_POST pour éviter l'ambiguïté.

  • $_COOKIE : peuplé du Cookie: en-tête dans la demande HTTP. Lorsqu'un serveur envoie un en-tête Set-Cookie , le navigateur le stocke et l'inclut dans les demandes ultérieures du même domaine.

    Exemple d'en-tête:

     Cookie: session_id = ABC123; thème = sombre

    Devient:

     $ _Cookie [&#39;session_id&#39;] // "ABC123"
    $ _Cookie [&#39;thème&#39;] // "sombre"
  • $_FILES : ne faisant pas directement partie des données de formulaire standard - elle survient lorsqu'un formulaire comprend enctype="multipart/form-data" . Le corps HTTP contient ensuite des données de fichiers binaires, et PHP l'analyse en $_FILES , fournissant des métadonnées comme le nom, le type, la taille et l'emplacement temporaire.

  • Fondamentalement, chaque superglobal agit comme une interface structurée à une partie spécifique de la demande HTTP, qu'il s'agisse de l'URL, du corps, des en-têtes ou des cookies. Savoir comment ils mappent au protocole aident les développeurs à déboguer les problèmes, à gérer les entrées en toute sécurité et à concevoir des applications Web robustes.

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1535
276
Le guide définitif de la maîtrise des téléchargements de fichiers avec le supergloal $ _files Le guide définitif de la maîtrise des téléchargements de fichiers avec le supergloal $ _files Aug 05, 2025 pm 01:36 PM

Le cœur du téléchargement de fichiers consiste à vérifier les erreurs, à confirmer les types de fichiers, à renommer et à déplacer en toute sécurité les fichiers. 1. Vérifiez d'abord si $ _files ['error'] est upload_err_ok; 2. Utilisez FINFO pour détecter le type de mime réel au lieu de faire confiance aux données du client; 3. Vérifiez les extensions de fichiers et limite les types autorisés; 4. Renommer les fichiers avec des noms aléatoires tels que bin2hex (random_bytes (16)) pour empêcher la traversée de chemin; 5. Déplacer les fichiers des répertoires temporaires pour sécuriser les répertoires de téléchargement via move_uploaded_file (); 6. L'emplacement de stockage doit être situé à l'extérieur du répertoire de racine Web autant que possible, et s'il doit être divulgué, l'exécution du script sera désactivée; 7. Utilisez GD ou

Navigation de soumission des données: une analyse comparative de $ _get, $ _post et $ _request Navigation de soumission des données: une analyse comparative de $ _get, $ _post et $ _request Aug 03, 2025 am 07:13 AM

$ _GetRevevesDatafromurlParameters, isvisibleandBookmarkable, adaptoron-sensible, idempotentoperationslikesearchorfiltering.2. $ _ PostsendsdataRerequestbody, propose une privilègeur

L'anatomie d'une demande Web: comment les superglobals mappent au protocole HTTP L'anatomie d'une demande Web: comment les superglobals mappent au protocole HTTP Aug 04, 2025 pm 12:40 PM

Les variables hyperglobales PHP telles que $ _get, $ _post, $ _Server mappent directement chaque partie de la demande http: 1. $ _Get correspond à la chaîne de requête URL, telle que? Term = Apple & Page = 2, sera remplie à $ _get ['term'] et $ _get ['page'], les données peuvent être observées dans l'URL et ne sont pas appropriées pour des informations sensier; 2. $ _POST Les processus forment des données dans le corps de la demande de la demande, tels que le nom d'utilisateur et le mot de passe, les données ne sont pas dans l'URL, et elle peut être transmise en grande partie mais nécessite HTTPS pour garantir la sécurité; 3. $ _Server contient des métadonnées de demande, telles que request_method correspond à la méthode http, http_h

Atténuer les vulnérabilités communes en désinfectant les entrées superglobales Atténuer les vulnérabilités communes en désinfectant les entrées superglobales Aug 03, 2025 am 10:33 AM

Toujours ValidateAndanitize UsuglobalinputsusingFunctions likeFilter_Input () orfilter_var () toenSuredatameetSExpectedCriteriaAndisfreeOfMaliciousContent.2.UsurepreparedStatementSwithParameteris

Applications Web avec état: gestion avancée de session avec $ _Session et $ _cookie Applications Web avec état: gestion avancée de session avec $ _Session et $ _cookie Aug 06, 2025 pm 04:29 PM

$ _Session et $ _cookie sont les mécanismes de base de la mise en œuvre de la gestion de l'état d'application Web en PHP; 1. $ _Session stocke les données utilisateur via le serveur et s'appuie sur un ID de session unique (généralement stocké dans un cookie nommé PhpSesSID) pour maintenir l'état de l'utilisateur. Il nécessite l'appel Session_Start () pour initialiser, qui a une sécurité des données élevée; 2. $ _Cookie stocke une petite quantité de données du côté client, qui peut être utilisée pour persister l'état de connexion, les préférences des utilisateurs ou les séances de reconnexion; 3. Les pratiques de sécurité incluent l'appel Session_Regenerate_id (true) après s'être connecté pour empêcher les attaques fixes de session et définir des paramètres de cookie sécurisés (tels que Secure, H

Master les superglobaux PHP: une plongée profonde dans la portée mondiale Master les superglobaux PHP: une plongée profonde dans la portée mondiale Aug 06, 2025 pm 04:36 PM

SuperglobalsInphParepredefined, toujours disponible pour la réalisation

The $ Globals Array vs. Mots-clés `` global ': une analyse des performances et de la portée The $ Globals Array vs. Mots-clés `` global ': une analyse des performances et de la portée Aug 05, 2025 pm 06:24 PM

TheglobalKeywordIsslightlyfasterthan $ GlobalsDuetoDirectSymboltableBinding, maistheperformanceFiferenceIsNegligibleshmostApplications.2. $ GlobalsprovidesDirectAccessStotheglobalSymboltableAndalLowsunSintingGlobalVariles

Taming Global State: Stratégies pour utiliser efficacement les superglobals PHP Taming Global State: Stratégies pour utiliser efficacement les superglobals PHP Aug 08, 2025 pm 06:28 PM

ÉvitementsuperglobalsDirectlyInbusinessLogicByExtructing et banhizingInputEarly etPassingItExplicitlytofonctions; 2.CreatewrAPPERCLASSESESLIKEEREQUESTORSESSESSESTOCTOCK

See all articles