Maison >développement back-end >tutoriel php >Résumé des informations pertinentes sur les paramètres de demande de publication du protocole PHP http

Résumé des informations pertinentes sur les paramètres de demande de publication du protocole PHP http

伊谢尔伦
伊谢尔伦original
2017-07-03 11:37:501942parcourir

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 les

informations 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 80

Accepter : 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 :

Type de données

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 courants

HTTP/1.1 200 OK

Cache-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=0
Une 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!

Déclaration:
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