Cet article présente différentes méthodes pour interagir avec le serveur. Le nom complet de l'URL est le descripteur de ressources. augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, augmenter, ajouter, augmenter, supprimer 4 opérations. À ce stade, tout le monde devrait avoir une compréhension générale.
1. Selon la spécification HTTP, GET est utilisé pour l'acquisition d'informations, et il devrait être sûr et puissant.
(1). En d'autres termes, les demandes de GET ne doivent généralement pas produire d'effets secondaires. C'est-à-dire qu'il s'agit simplement d'obtenir des informations sur les ressources, tout comme les requêtes de base de données, elle ne modifiera pas, n'augmentera pas les données et n'affectera pas l'état des ressources.
* Remarque: la signification de la sécurité ici ne fait référence qu'aux informations non modifiées.
(2). Ici, je vais expliquer le concept de MI Wait:
Idempotent et idempotnce sont un concept mathématique ou informatique, généralement dans l'algèbre abstraite.
Attendez quelques définitions:
Pour les opérations monoculaires, si une opération est la même pour le résultat du calcul de l'opération de l'opération et le résultat du calcul de l'opération, le résultat de l'opération est le même que le résultat de l'opération. Par exemple, l'opération de valeur absolue est un exemple.
Pour les opérations binoculaires, si les deux valeurs des opérations participantes sont égales, si les résultats de calcul sont égaux aux deux valeurs des opérations participantes, la puissance de l'opération est appelée fonction, il y a une puissance concentrée dans le Nombre réel, c'est-à-dire max (x, x) = x.
Après avoir lu l'explication ci-dessus, vous devez comprendre le sens de Get Power.
Mais dans les applications pratiques, les deux dispositions ci-dessus ne sont pas si strictes. Exemple de citer les articles des autres: Par exemple, la première page du site d'actualités est constamment mise à jour. Bien que la deuxième demande renvoie différents lots de nouvelles, l'opération est toujours considérée comme sûre et puissante, car elle renvoie toujours les nouvelles en cours. Fondamentalement, si l'objectif est que lorsque l'utilisateur ouvre un lien, il peut être sûr qu'il ne peut pas changer les ressources de son propre point de vue.
2. Selon la spécification HTTP, Post indique que la demande de modification des ressources sur le serveur peut modifier la ressource sur le serveur. Continuez à citer l'exemple ci-dessus: prenez toujours les nouvelles à titre d'exemple.
Ci-dessus, parlez-vous de certains principes de Get et Post dans la spécification HTTP. Cependant, dans le fait que de nombreuses personnes ne l'ont pas fait conformément aux spécifications HTTP.
1. Beaucoup de gens sont gourmands et pratiques.
2. Pour l'augmentation, supprimer, modifier, vérifier l'opération, vous pouvez réellement le terminer via Get / Post sans utiliser de put et de suppression.
3. L'autre est que les premiers concepteurs de cadres Web MVC n'ont pas consciemment traité l'URL comme des ressources abstraites, donc un problème plus grave est que le cadre traditionnel Web MVC ne prend en charge que GET et Post deux méthodes HTTP ne sont pas prises en charge par PUT et Supprimer.
* Expliquez simplement le MVC: MVC existait à l'origine dans le programme de bureau. Le but de l'utilisation de MVC est de séparer le code d'implémentation de M et V, afin que le même programme puisse utiliser différentes formulaires d'expression.
Les 3 points ci-dessus décrivent l'ancien ensemble de styles (sans conformité stricte avec les spécifications HTTP).
Après avoir parlé de la raison originale, nous regardons la différence entre Get et Post de l'image de surface:
1. Les données demandées par la demande de FET seront jointes à l'URL (c'est-à-dire placer les données de l'en-tête du protocole HTTP) pour diviser l'URL et la transmission des données, et les paramètres sont connectés, tels que: login.action? Hyddd & Password = Idontknow & Verify =% E4% BD% A0% E5% A5% BD. Si les données sont des lettres / numéros d'anglais, l'envoi d'origine, s'il s'agit d'un espace, convertissez-le en +, s'il s'agit de caractères chinois / autres, crypter directement la chaîne avec Base64 pour l'obtenir BD, dont xx en% xx est un ASCII représenté par hexadécimal.
Post met les données soumises dans le package HTTP.
2. Les données soumises par ONG sont seulement 1024 octets. Intersection Intersection
La phrase ci-dessus a été transférée des autres articles.
(1). En fait, l'URL n'a pas le problème de la limite supérieure du paramètre, et la spécification du protocole HTTP ne limite pas la longueur de l'URL. Cette limite est un navigateur et des restrictions de serveur spécifiques. La limite de l'IE sur l'URL est de 2083 octets (2k + 35). Pour d'autres navigateurs, tels que NetScape, Firefox, etc., il n'y a pas de limitation à long terme, et sa restriction dépend du soutien du système d'exploitation.
Notez que cela est limité à toute la longueur de l'URL, pas seulement la longueur des données de valeur de paramètre. [Voir les données de référence 5]
(2).
Pour les programmes ASP, l'objet de demande a une limite de longueur de données de 100k lors du traitement de chaque domaine. Mais si vous utilisez Request.binaryRead, il n'y a pas de limite.
De cette extension, Microsoft a augmenté les restrictions sur IIS 6.0 pour des raisons de sécurité. Nous devons encore prêter attention:
1).
2).
3).
IIS 6.0 n'avait pas ces restrictions auparavant. [Voir les données de référence 5]
Ainsi, le 80K ci-dessus, 100K peut être juste la valeur par défaut (Remarque: Je n'ai pas confirmé les paramètres de IIS4 et IIS5), mais il doit être défini par moi-même. Étant donné que les valeurs par défaut de ces paramètres de chaque version de l'IIS sont différentes, veuillez vous référer au document de configuration IIS pertinent.
3. Dans ASP, le serveur obtient le paramètre Get Request avec request.Querystring et obtenez le paramètre de demande post avec request.form. Dans JSP, utilisez la demande.GetParamètre (/ xxxx /) pour l'obtenir. & mot de passe = Hyddd, utilisez la demande. En PHP, vous pouvez utiliser $ _get et $ _post pour obtenir des données dans Get et les publications, tandis que $ _Request peut obtenir des données dans deux demandes de GET et POST. Il convient de noter qu'il y aura des dangers cachés d'utiliser $ _request dans JSP dans JSP et PHP.
4. La sécurité de Post est supérieure à la sécurité de GET. Remarque: La sécurité mentionnée ici n'est pas le même concept que la sécurité mentionnée ci-dessus. La signification de la sécurité ci-dessus n'est tout simplement pas de modifier les données, et la signification de la sécurité ici est la signification de la sécurité réelle. Parce que (1) la page de connexion peut être le navigateur. Attaque de contrefaçon de demande de site.
Pour résumer, obtenir une demande d'envoi de données au serveur, et la publication est une demande de soumission des données au serveur.