Как убрать Cache-control заголовок no-cache - PullRequest
0 голосов
/ 07 июня 2018

Моя команда и я работаем над API Laravel, который взаимодействует с внешним интерфейсом Vue.js, который использует клиент Apollo для получения ответов GraphQL.

У нас есть проблема с заголовками контроля кэша, добавляемыми к ответу.

Apollo не может кэшировать содержимое, потому что ответ содержит этот заголовок:

Cache-Control: no-cache, private

В php.ini у нас есть это, чтобы отключить отправку заголовков управления кэшем через PHP:

; Set to {nocache,private,public,} to determine HTTP caching aspects
; or leave this empty to avoid sending anti-caching headers.
; http://php.net/session.cache-limiter
session.cache_limiter =

В конфигурации nginx мы не можем найти ничего, что устанавливает эти заголовки.Я проверил глобальный файл nginx.conf и конфигурационный файл, который мы настроили в sites / available.

Я могу добавить это в конфигурацию nginx, но он только добавит другой заголовок:

add_header Cache-Control "public";

Cache-Control: no-cache, private
Cache-Control: public

Еслиэтот заголовок не исходит от PHP или nginx, тогда откуда он может быть?И как я могу удалить или перезаписать его?

  • Laravel 5.5
  • Folkloreatelier / laravel-graphql
  • PHP 7.1
  • nginx 1.14.0
  • Ubuntu 16.04

Ответы [ 2 ]

0 голосов
/ 31 мая 2019

Вы можете сделать это, добавив свой .htaccess, если вы используете apache

Header always set Cache-Control "no-cache, public"

, поэтому он удалит Cache-Control: private и даст ответ заголовка как

Cache-Control:no-cache , public
0 голосов
/ 07 июня 2018

в любом промежуточном программном обеспечении вы можете использовать этот пример

public function handle($request, Closure $next)
{
    $response= $next($request);
    return $response->header('X-TEST-HEADER','test header value');
}

, но я не знаю, как это исправить вашу проблему

...