Maison  >  Article  >  interface Web  >  Qu'est-ce que le protocole HTTP

Qu'est-ce que le protocole HTTP

一个新手
一个新手original
2017-09-19 10:06:094145parcourir

Une brève introduction au protocole HTTP

Le protocole HTTP est un protocole de transfert hypertexte, qui est un protocole de communication basé sur TCP/IP pour la transmission de données

Caractéristiques :
1. Simple et rapide, lorsque le client initie une requête au serveur, il lui suffit de transmettre la méthode et le chemin de la requête. Les méthodes de requête couramment utilisées incluent POST, GET, etc. Chaque méthode spécifie un type différent de contact entre le client et le serveur. Parce que le protocole HTTP est simple, la vitesse de communication est rapide
2 Flexible : tout type d'objet de données peut être transmis. Le type de transmission est marqué par Content-Type
3 Pas de connexion : limitez chaque connexion à une seule demande. Une fois que le serveur a traité la demande du client, il se déconnectera après avoir reçu la réponse du client
4. Sans état : HTTP est un protocole sans état. Sans état signifie que le protocole n'a aucune capacité de mémoire pour le traitement des transactions. L'absence de statut signifie que si les informations précédentes sont nécessaires pour un traitement ultérieur, elles doivent être retransmises, ce qui peut augmenter la quantité de données transmises par connexion. Par contre, lorsque le serveur n'a pas besoin d'autres informations, sa réponse sera. très rapide
5. Prend en charge les modes B/S et C/S

URL

L'URL est un identifiant de ressource uniforme utilisé par HTTP pour transmettre des données et établir des connexions. L'URL est un type spécial d'URI, le nom complet est UniformResourceLocator et le nom chinois est Uniform Resource Locator. L'URL contient les parties suivantes :
Par exemple : https://baike.baidu.com:8080/item/. url/110640 ?fr=aladdin
1. Partie protocole/mode : Elle indique au navigateur comment gérer le fichier à ouvrir. Le mode le plus couramment utilisé est le protocole HTTP (Hypertext Transfer Protocol), qui permet d'accéder à Internet. Les autres accords sont les suivants :
http——Ressource du protocole de transfert hypertexte
https - Protocole de transfert hypertexte fourni à l'aide de Secure Sockets Layer
ftp——Protocole de transfert de fichiers
mailto——adresse e-mail
ldap - Recherche légère de protocole d'accès à l'annuaire
fichier - un fichier partagé sur un ordinateur local ou en ligne
Actualités——Groupe d'actualités Usenet
gopher——Protocole Gopher
telnet——Protocole Telnet
Dans l'exemple ci-dessus, la partie protocole est https
2. Partie nom de domaine : Le nom de domaine ci-dessus est : baike.baidu.com
3. name est le numéro de port. Utilisez : pour séparer le port du nom de domaine. Le port n'est pas une partie nécessaire d'une URL. Si le numéro de port est omis, le port par défaut sera utilisé
4. : /item/url/110640
5 . Partie paramètre : fr=aladdin, c'est-à-dire après le point d'interrogation

Requête


Message de requête HTTP Requête principalement se compose des parties suivantes :
* Ligne de requête : Méthode de requête | URL | Version du protocole
* En-tête de requête : L'en-tête de requête contient de nombreuses informations utiles sur l'environnement client et le corps de la requête
* Corps de la requête : Il y a une ligne vide entre l'en-tête de la requête et le corps de la requête. Cette ligne est très importante, elle indique que l'en-tête de la requête est terminé, et ce qui suit est le corps de la requête. Le corps de la requête peut contenir des informations sur la chaîne de requête soumises par le client

Réponse

Le message de réponse HTTP La réponse comprend les parties suivantes :
* Ligne d'état : Version du protocole Code d'état | Message
* En-tête de réponse : Date, Content-Type, etc.
* Texte de réponse : Données de retour côté serveur

Code d'état

Le code d'état est composé de trois chiffres, les premiers Chiffres définissent la catégorie de la réponse
* 1xx : Indiquer le message, indiquant que la demande a été reçue, continuer le traitement
* 2xx : Succès, indiquant que la demande a été reçue avec succès
* 3xx : Redirection, indiquant que la demande sera faite la nuit. Des opérations supplémentaires sont nécessaires
* 4xx : Erreur du client, indiquant que la demande contient une erreur de syntaxe ou ne peut pas être implémentée
* 5xx : Erreur du serveur, indiquant que le serveur a échoué pour mettre en œuvre une requête légale

Code de statut commun :

200 - ok - 请求成功400 - Bad Request - 客户端请求有语法错误,不能被服务器理解401 - Unauthorized - 请求未经授权403 - Forbidden - 服务器收到请求,但是拒绝提供服务404 - Not Found - 请求资源不存在500 - Internal Server Error - 内部服务器错误503 - Server Unavaliable - 服务器不可用

Méthode de requête

HTTP 1.0 定义了三种请求方法 :GET、POST、HEAD
HTTP 1.1 新增了五种请求方法 :OPTIONS、PUT、DELETE、TRACE、CONNECT
GET - 请求指定的页面信息,并返回实体主体
HEAD - 类似于GET请求,但是返回的只有报头
POST - 向指定的资源提交数据进行处理请求
PUT - 从客户端向服务器传送的数据取代指定文件的内容DELETE - 请求服务器删除指定的页面
CONNECT - HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。OPTIONS - 允许客户端查看服务器性能
TRACE - 回显服务器收到的请求,主要用于测试或诊断。

La différence entre GET et POST

  1. Soumission des données : les données de la requête GET seront utilisées après l'URL pour vous connecter, mais les données de la requête POST seront placées dans le package HTTP

  2. Taille des données de transmission : Étant donné que les navigateurs généraux ont des restrictions sur la longueur de l'URL, oui, donc utiliser GET pour demander des données recevra une limite de taille, mais POST place les données dans le package, c'est-à-dire qu'il n'y a pas de limite de taille

  3. Sécurité : GET soumet les données dans l'URL, peut être mis en cache pour renvoyer les données

Remarque :
1. Le protocole HTTP ne limite pas la taille des données transmises. données, et la spécification du protocole HTTP ne limite pas la longueur de l'URL.
2. Les protocoles HTTP GET, POST et SOAP s'exécutent tous sur http

(1) GET : le paramètre de requête est ajouté à l'URL sous la forme d'une séquence de paires clé/valeur (chaîne de requête)
La longueur de la chaîne de requête est limitée par les navigateurs Web et les serveurs Web (comme IE prend en charge jusqu'à 2048 caractères), ce qui n'est pas adapté à la transmission de grands ensembles de données. En même temps, c'est très dangereux

.

(2) POST : les paramètres de la requête sont transmis dans une partie différente de l'en-tête http (corps de l'entité nommée). Cette partie est utilisée pour transmettre les informations du formulaire, donc Content-type doit être défini sur : application/x-www. - formulaire-urlencodé. Post est conçu pour prendre en charge les champs utilisateur sur les formulaires Web, et ses paramètres sont également transmis sous forme de paires clé/valeur.
Cependant : il ne prend pas en charge les types de données complexes car post ne définit pas la sémantique et les règles de transmission des structures de données.

(3) SOAP : Il s'agit d'une version dédiée de la publication http, suivant un format de message XML spécial.
Content-type est défini sur : text/xml Toutes les données peuvent être XMLisées.

Le protocole HTTP définit de nombreuses méthodes d'interaction avec le serveur, dont les plus basiques sont GET, POST, PUT et DELETE. Une adresse URL est utilisée pour décrire une ressource sur le réseau, et en HTTP GET. , POST, PUT et DELETE correspondent aux quatre opérations de vérification, modification, ajout et suppression de cette ressource. Nos plus courants sont GET et POST. GET est généralement utilisé pour obtenir/interroger des informations sur les ressources, tandis que POST est généralement utilisé pour mettre à jour les informations sur les ressources.

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