ПредишенСледващото

Лечение на обикновените искания Cors

В най-простия случай, интердоменни взаимодействие започва с искане GET, POST, главата или ресурс на сървъра. В този случай, съдържанието е ограничено приложение POST тип заявка / х-WWW-форма-urlencoded. съставното / форм-данни или текст / обикновен. Искането включва заглавна произход. което показва произхода на страната на клиента код.

Сървърът ще разгледа произхода искане и да приемете или отхвърлите заявката се обработва. Ако сървърът е получил искането, той ще отговори с необходимият ресурс в заглавната Access-Control-Allow-произход. Този удар с глава ще покаже на клиента, с които произхода на клиента ще бъде разрешен достъп до ресурса. Като се има предвид, че за контрол на достъпа-Позволи-видове произход съответства на заявката, браузърът позволява на искането.

От друга страна, ако Access-Control-Allow произход не носи отговорност, или ако това не е в искането за произход, браузърът няма да позволи на искането.

Например, да предположим, че кодът на клиента се намира на foo.client.com и изпраща заявка към bar.server.com:

Освен това, Access-Control-Allow-произход може да бъде настроен да "*", което показва наличието на всички. Това се счита за опасно, освен в специални случаи, при които API е напълно публична, и е предназначен за употреба от всеки клиент.

финалния искания

Ако искането може да окаже влияние върху данните на потребителя, по простата заявката недостатъчни. Вместо това, predpolenty искане CORS се изпраща искане, преди да изпратите необходимо да се гарантира безопасността на изпращане на искането. Финален преглед искания са необходими в случаите, когато всеки метод HTTP, различен от GET, POST, HEAD, или ако типа на съдържанието на искането за POST е различна от прилагане / х-WWW-форма-urlencoded. съставното / форм-данни или текст / обикновен. Също така, ако искането съдържа всички персонализирани заглавията, имате нужда от летене поискване.

Например, да предположим, че клиентът намира на foo.client.com, изпълнява DELETE заявка за bar.server.com на ресурсите. Предварително искане отнема искане формата варианта, със следните заглавия:

Финален преглед искане всъщност пита наличието на сървъра DELETE заявка, без всъщност да изпратите най-DELETE искането. Ако сървърът позволява на това искане, той ще отговори предполетна искане по този начин:

Финален преглед заявка реакция показва (заглавие за контрол на достъпа-Позволи-методи), че клиентът е достъпно DELETE искане до предава ресурс. Заглавие Access-Control-Max-Age показва, че отговорът е валидна финалния 84600 секунди или 1 ден, след което трябва да се изпълняват нова предполетна поискване.

В същото време, клиентът ще бъде на разположение за изпълнение на доставката този DELETE искане до ресурса.

С оригиналния текст на урока може да се намери на spring.io.

материали за обучение

Подкрепете проекта - споделете линка, благодаря!