web-dev-qa-db-fra.com

CORS avec POSTMAN

Ce sujet a été posé plusieurs fois, mais je ne comprends toujours pas quelque chose:

Quand j'ai lu les réponses à propos de

Pas d'en-tête 'Access-Control-Allow-Origin'

problème, il est indiqué qu'un paramètre doit être défini sur le serveur demandé afin de permettre le transfert de domaines: add_header 'Access-Control-Allow-Origin' '*';.

Mais, s'il vous plaît dites-moi pourquoi quand on demande à postman (qui est un client), cela fonctionne comme un charme et j'ai une réponse du serveur demandé?

Je vous remercie

54
IsraGab

Comme le commente @Musa, il semble que la raison en soit que:

Postman ne s’intéresse pas à la SOP, c’est un outil de développement, pas un navigateur

Soit dit en passant, voici extension chrome afin de le faire fonctionner sur votre navigateur (celui-ci est pour chrome, mais vous pouvez le trouver pour FF ou Safari).

Cochez ici si vous voulez en savoir plus sur Cross-Origin et pourquoi cela fonctionne pour les extensions.

33
IsraGab

Si vous utilisez un site Web et que vous remplissez un formulaire pour soumettre des informations (votre numéro de sécurité sociale, par exemple), vous voulez être sûr que les informations sont envoyées au site vers lequel vous pensez qu'elles sont envoyées. Les navigateurs ont donc été conçus pour indiquer, par défaut, "N'envoyez pas d'informations à un domaine autre que le domaine visité).

Cela finit par devenir trop contraignant, mais l'idée par défaut reste toujours dans les navigateurs. Ne laissez pas la page Web envoyer des informations à un autre domaine. Mais tout ceci est une vérification du navigateur. Chrome et Firefox, etc., ont un code intégré qui dit: "avant d'envoyer cette demande, nous allons vérifier que la destination correspond à la page visitée".

Postman (ou CURL sur la ligne de commande) n'a pas ces contrôles intégrés. Vous interagissez manuellement avec un site afin de contrôler totalement ce que vous envoyez.

21
user3724317

SOP est une configuration côté serveur que les clients décident de ne pas appliquer. La plupart des navigateurs l'appliquent pour éviter les problèmes liés à CSRF. La plupart des outils de développement ne s'en soucient pas.

6
Felipe Roos