2024. szeptember 18., szerda

PHP böngésző problémákra

?php
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");
header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE');

// Ne tárolja el a böngésző a választ 
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); 
header("Cache-Control: post-check=0, pre-check=0", false); 
header("Pragma: no-cache"); 
header("Expires: 0");

Ezek a fejlécbeállítások PHP-ban általában a Cross-Origin Resource Sharing (CORS) és a cache kezelésére szolgálnak.

Az első 3 lehetővé teszi a szerver számára, hogy különböző eredetű (domainek közötti) kéréseket fogadjon el, és különböző HTTP-módszereket (GET, POST, PUT, DELETE) kezeljen. A következő 4 a cache problémát oldja meg, amivel a fejlesztés során találkozunk.

  1. header('Access-Control-Allow-Origin: *');

    • Ez a fejléc beállítja, hogy a szerver minden domaintől elfogadjon kéréseket. A * azt jelenti, hogy bármilyen eredet (origin) engedélyezett.
  2. header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");

    • Ez a fejléc határozza meg, hogy a kérésben milyen egyedi fejlécek használhatók. Itt például az Origin, X-Requested-With, Content-Type, és Accept fejléceket engedélyezi.
  3. header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE');

    • Ez a fejléc szabályozza, hogy milyen HTTP-módszereket engedélyez a szerver. A GET, POST, PUT és DELETE módszerek itt kifejezetten engedélyezve vannak.
  4. Cache-Control: no-store, no-cache, must-revalidate, max-age=0

    • no-store: Ne tároljon semmilyen adatot.
    • no-cache: Minden egyes kérésnél ellenőrizze, hogy a válasz friss-e.
    • must-revalidate: Az elavult adatok nem használhatóak.
    • max-age=0: Az adatok azonnal lejárnak.
  5. Cache-Control: post-check=0, pre-check=0, false

    • post-check és pre-check: Ezek az opciók az Internet Explorer speciális beállításait érintik.
  6. Pragma: no-cache

    • Ez a fejléc a régebbi HTTP/1.0 rendszerek számára biztosítja, hogy ne cache-eljenek.
  7. Expires: 0

    • Ez a fejléc a válasz lejárati idejét állítja be, általában azonnali lejáratra.
  8. Ezek a beállítások segítenek abban, hogy a böngésző minden egyes kérésnél friss adatokat kérjen a szervertől, és ne tároljon el semmit a cache-be.

Nincsenek megjegyzések:

Megjegyzés küldése

<<< szintaxis

 A <<< szintaxist a PHP-ban "heredoc" vagy "nowdoc" szintaxisnak nevezzük. Ez nem pontosan olyan, mint a Jav...