Maison >développement back-end >tutoriel php >Résumé des informations pertinentes sur les paramètres de demande de publication du protocole PHP http
Cet article vous présentera les paramètres de requête de publication du protocole Http en PHP. Le contenu spécifique est le suivant :
Les informations dans le développement WEB sont essentiellement toutes en POST et GET requête et réponse , GET est facile à comprendre pour nous car il est intuitif basé sur l'URL, mais la requête POST est non seulement sûre mais pose également des problèmes aux développeurs pour simuler l'envoi en raison de la dissimulation des informations. Dans les prochains articles de blog, je combinerai mes propres notes et ma compréhension pour expliquer en détail plusieurs méthodes permettant à PHP d'effectuer des requêtes POST. S'il y a des erreurs, veuillez me corriger.
Les informations sur le protocole HTTP sont un contenu important dans le développement WEB. Les comprendre peut nous aider à comprendre plus en profondeur l'interaction BS et nous aider également à comprendre le développement WEB à un niveau inférieur. Le protocole HTTP est un protocole de communication simple, flexible et pratique, et il ne faut pas oublier qu'il s'agit d'un protocole sans état, c'est-à-dire qu'il s'agit d'un protocole sans mémoire et que chaque interaction est distincte. Nous pouvons utiliser le panneau "Réseau" de l'outil de développement du navigateur (F12 d'IE, FireBug de Firefox, etc.) pour afficher lesinformations d'en-tête HTTP.
Généralement, les informations d'en-tête HTTP sont divisées en trois catégories :Informations de demande, informations de réponse et informations d'interaction (je pense personnellement que c'est aussi un type d'informations de demande).
1. Demande d'informations :
Lors de l'accès à un site Web, le client émettra une demande d'informations. Ces informations ne contiennent pas de données et contactent simplement le serveur. serveur pour renvoyer les informations de réponse. Son format est composé de deux parties : la ligne de requête et l'en-tête du message. A. Ligne de requête : méthode (Méthode de requête ) chemin (adresse du site de demande) HTTP/version (informations sur le protocole/version)
Les méthodes de requête courantes sont GET/ POST /HEAD/OPTION, etc. B. En-tête du message : Hôte (obligatoire) : hôte et numéro de port, le numéro de port par défaut est 80Accepter : le contenu type attendu (image/gif text/html */*) Accept-Encoding : le type de compression attendu (gzip deflat) Accept-Charset : le jeu de caractères devrait être reçu (utf-8) Accept-Language(zh-CN) Cookie : informations sur le cookie de l'utilisateur Connexion : contrôle de connexion Agent utilisateur : informations client ... ...Ce qui suit est une information d'en-tête de demande typique :GET index.php HTTP/1.1 Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Encoding:gzip, deflate, sdch Accept-Language:zh-CN,zh;q=0.8 Cache-Control:max-age=0 Connection:keep-alive Cookie:SOHUHOMETAB=visit:2; IPLOC=CN1407; SUV=1510312046259910 Host:www.sohu.com If-Modified-Since:Sat, 31 Oct 2015 12:45:22 GMT Upgrade-Insecure-Requests:1 User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.99 Safari/537.36
2, informations de réponse
Le serveur renvoie des données Les informations de réponse sont divisées en trois parties : texte de réponse de l'en-tête du message de la ligne d'état A. informations) texte d'état du code d'état (pour la description du texte du code d'état) Il existe 5 catégories de codes d'état : 1XX : indique une réponse temporaire et le demandeur doit continuer à fonctionner 2XX : indique une réponse réussie et le serveur a répondu avec succès. Requête 3XX : indique une redirection, une opération supplémentaire est requise de la part du demandeur 4XX : indique une erreur client, le serveur ne peut pas répondre normalement 5XX : indique une erreur côté serveur, le serveur ne peut pas répondre normalement Pour des informations spécifiques, veuillez vous référer à :Code d'état HTTPExplication détaillée
B. En-tête du message : Serveur : Informations sur le serveur Content-Encoding : Format de compression des données Content-Length : Longueur des données Content-Type : Cache-Control : Contrôle du cache Connexion : contrôle de connexion Date : informations sur la date Expire : renvoie les informations d'expiration de data Last-Modified : renvoie l'heure de la dernière modification Set-Cookie : définit les informations du cookie du client ... ...C . Texte de réponse C'est-à-dire les données de page renvoyées, à la fin de la page. Il est affiché sous forme de document HTML. Voici les messages de réponse courantsHTTP/1.1 200 OKCache-Control:no-cache Connection:close Content-Encoding:gzip Content-Length:6947 Content-Type:text/html; charset=GBK Date:Sat, 31 Oct 2015 13:30:11 GMT Expires:-1 Pragma:no-cache Proxy-Connection:keep-alive Server:nginx/1.2.5 Set-Cookie:JSESSIONID=yiuug4yejhc1cdbzydoxlcpn;Path=/
3, des informations interactives
sont incluses Les informations de demande qui demandent des données sont courantes dans l'enregistrement des fichiers téléchargés par l'utilisateur, etc. Elle est divisée en trois parties : l'en-tête du message de la ligne de demande le corps de la demande Identique à la ligne de demande de la demande. informations B. Données ajoutées sur le corps de la requête en fonction de l'en-tête de la requête Content-Type : le type de contenu des informations téléchargées Content-Length : la longueur de les informations téléchargées ... ...C. Texte de la demande : Il s'agit de la chaîne de données spécifique demandée (name=xxx&passwork=xxx). pour des raisons de sécurité, les informations POST sont parfois codées. Ce qui suit est un message de requête typique :GET login.php HTTP/1.1 Host:passport.sohu.com Accept:text/html,application/xhtml+xml,application/xml Accept-Encoding:gzip, deflate Accept-Language:zh-CN,zh;q=0.8 Cache-Control:max-age=0 Connection:keep-alive Content-Length:166 Content-Type:application/x-www-form-urlencoded Referer:http://mail.sohu.com/ User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.99 Safari/537.36 Form Data domain=sohu.com&callback=passport20008375022711697966_cb1446298206568&appid=1113&userid=FDFFDF%40sohu.com&password=a3f4384c2bc44fa909ffd0ecc5fa8eb9&persistentcookie=0Une fois que vous avez compris ce que le navigateur envoie au serveur, il n'est pas difficile de prétendre être un serveur d'une autre manière.
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!