Cross-Origin Resource Sharing
CORS styrer nettleserens tilgang til svar fra en annen origin. Det erstatter verken API-innlogging eller kontroll av rettigheter.
La en annen origin lese svar
Cross-Origin Resource Sharing, forkortet CORS, er en mekanisme med HTTP-headere. Serveren angir fra hvilke andre origins nettleserkode kan få tilgang til svarene. En origin omfatter protokoll, vert og port. Nettleseren håndhever regelen; CORS er ingen API-innlogging.
Skill mellom portal og API
En fiktiv portal på https://portal.example vil lese prosjektdata fra https://api.example/projects. API-et kan tillate portalens origin med Access-Control-Allow-Origin. Avhengig av metode og headere spør nettleseren først med OPTIONS om selve kallet er tillatt. Denne forhåndskontrollen kalles preflight og skjer ikke ved alle kall.
Ved andre kall kan forespørselen allerede nå serveren, selv om nettleseren deretter ikke gir skriptet tilgang til svaret. En CORS-feil beviser derfor ikke at ingenting har skjedd på serveren.
Skal sesjonskapsler sendes med, må også innstillingene for påloggingsopplysninger stemme. Slike svar krever en eksplisitt origin fremfor jokertegnet *; også Access-Control-Allow-Credentials er relevant. Nettleserens regler for informasjonskapsler gjelder fortsatt. Uavhengig av dette kontrollerer API-et identitet og rettigheter til de forespurte prosjektdataene.
Kilder
Beslektede begreper
- Same-origin-policy (SOP)Same-origin-policyen begrenser nettlesertilgang mellom ulike origins. En annen sidesti skaper ikke i seg selv en ny origin.
- Cross-site request forgery (CSRF)CSRF utnytter en innlogget økt til en uønsket forespørsel. Øktinformasjonskapselen alene beviser ikke at personen ønsket handlingen.
- SameSite-informasjonskapselSameSite påvirker sending av informasjonskapsler mellom nettsteder. Valget må passe innlogging og navigasjon; CSRF-beskyttelse trengs fortsatt.
- Server-Sent EventsServer-Sent Events sender tekstmeldinger fra server til klient via HTTP, for eksempel om fremdriften til en bakgrunnsjobb.
- ETagEn ETag identifiserer en bestemt representasjonsversjon av en HTTP-ressurs og støtter betingede oppslag eller endringer.
- Elektronisk datautvekslingEDI overfører strukturerte forretningsdokumenter mellom systemer. Format, partnerprofil, datakoblinger og tilbakemeldinger må stemme overens.
Ditt prosjekt med ASES
Beskriv prosjektet ditt for oss. Vi tar kontakt med en første vurdering.