Latest web development tutorials

méthodes HTTP: GET Comparaison POST

Les deux méthodes HTTP les plus courants: GET et POST.


Qu'est-ce que HTTP?

Hypertext Transfer Protocol (HTTP) est conçu pour assurer la communication entre le client et le serveur.

HTTP est une requête fonctionne entre le client et le serveur - protocole de réponse.

navigateur web peut être le client, et les applications de réseau sur l'ordinateur peut également être utilisé comme serveur.

Exemple: le client (navigateur) pour soumettre une requête HTTP au serveur, le serveur renvoie la réponse au client. La réponse contient des informations d'état sur la demande et le contenu peut être demandé.


Deux types de méthodes de requête HTTP: GET et POST

Entre le client et la demande du serveur - réponse aux deux méthodes les plus couramment utilisés sont: GET et POST.

  • GET - données de demande de la ressource spécifiée.
  • POST - soumission des données à traiter les ressources désignées.

Méthode GET

S'il vous plaît noter que la chaîne de requête (paires nom / valeur) sont envoyés dans la requête URL GET:

/test/demo_form.php?name1=value1&name2=value2

GET demandes au sujetdecertains des autres commentaires:

  • GET demande peut être mis en cache
  • demande GET reste dans l'historique du navigateur
  • Les requêtes GET peuvent être mis en signet
  • GET demandes ne devraient pas être utilisés lors du traitement de données sensibles
  • GET demandes ont des restrictions de longueur
  • GET demandes ne devraient être utilisées pour récupérer des données

méthode POST

S'il vous plaît noter que la chaîne de requête (paires nom / valeur) sont envoyés dans un message de demande corps HTTP POST de:

POST /test/demo_form.php HTTP/1.1
Host: w3cschool.cc
name1=value1&name2=value2

POST demande sur certains des autres commentaires:

  • les requêtes POST ne sont pas mis en cache
  • les requêtes POST ne sont pas conservées dans l'historique du navigateur
  • POST ne peut pas être bookmarked
  • Les requêtes POST pour la longueur des données ne nécessite pas

Comparaison GET et POST

Le tableau suivant compare les deux méthodes HTTP: GET et POST.

  GET POST
后退按钮/刷新 无害 数据会被重新提交(浏览器应该告知用户数据会被重新提交)。
书签 可收藏为书签 不可收藏为书签
缓存 能被缓存 不能缓存
编码类型 application/x-www-form-urlencoded application/x-www-form-urlencoded or multipart/form-data。为二进制数据使用多重编码。
历史 参数保留在浏览器历史中。 参数不会保存在浏览器历史中。
对数据长度的限制 是的。当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。 无限制。
对数据类型的限制 只允许 ASCII 字符。 没有限制。也允许二进制数据。
安全性 与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。

在发送密码或其他敏感信息时绝不要使用 GET !
POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。
可见性 数据在 URL 中对所有人都是可见的。 数据不会显示在 URL 中。


D'autres méthodes de requête HTTP

Le tableau ci-dessous présente quelques-unes des autres méthodes de requête HTTP:

方法 描述
HEAD 与 GET 相同,但只返回 HTTP 报头,不返回文档主体。
PUT 上传指定的 URI 表示。
DELETE 删除指定资源。
OPTIONS 返回服务器支持的 HTTP 方法。
CONNECT 把请求连接转换到透明的 TCP/IP 通道。