Slim Framework 2 — не получает код HTTP 304 с помощью etag ()

Я использую тонкий каркас 2 etag() чтобы получить данные кэша, все работает нормально, я получаю данные кэша с почтальоном или любым другим клиентом, но я получаю HTTP 200 OK Ответ все время в клиенте отдыха, но так и должно быть HTTP 304 когда данные приходят из кеша

ниже мой тонкий API:

 $app->get('/getNew', function () use ($app){
$app->etag('uniqueEtag12');
echo "I am updated one";
});

Я понятия не имею, почему каждый раз, когда я получаю 200 OK Код ответа в клиенте отдыха, так как я получаю данные кеша в ответе, ниже приведена моя привязка ответа клиента отдыха

введите описание изображения здесь

почему этот код статуса всегда 200 OK почему я не получаю код статуса 304 Помогите мне, пожалуйста

0

Решение

etag() Метод делает две вещи:

  1. Добавить ETag заголовок к ответу
  2. Отправьте ответ о статусе 304, если клиент отправляет If-None-Match заголовок со значением uniqueEtag12

Поэтому я думаю, что ваш запрос не включает If-None-Match заголовок.

Пример кода:

index.php:

<?php
require 'vendor/autoload.php';

$app = new \Slim\Slim();

$app->get('/hello', function () use ($app) {
$app->etag('1234');
echo "Hello world on " . date("Y-m-d H:i:s");
});$app->run();

Тест с использованием скручивания.

нет If-None-Match заголовок:
$ curl -i HTTP: // локальный: 8888 / привет

HTTP/1.1 200 OK
Host: localhost:8888
Connection: close
X-Powered-By: PHP/7.0.15
Content-type: text/html;charset=UTF-8
Etag: "1234"
Hello world on 2017-05-04 07:12:40

С If-None-Match заголовок:

$ curl -i http://localhost:8888/hello -H 'If-None-Match: "1234"'
HTTP/1.1 304 Not Modified
Host: localhost:8888
Connection: close
X-Powered-By: PHP/7.0.15
Etag: "1234"
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]