Jakie są prawidłowe wartości dla nagłówka http pragma
. Wiem, że no-cache
jest jednym z nich, ale chcę włączyć buforowanie, więc co powinienem ustawić. Zrobiłem trochę googleingu i wszystko co mam, to większość klientów ignoruje to, ale nie ma informacji o innych wartościach, które akceptuje.Jakie są prawidłowe wartości dla http Pragma
Odpowiedz
Co zaskakujące, domyślnie zdefiniowany jest tylko jeden parametr, który nie jest buforowany, a nowe dyrektywy Pragma nie będą zdefiniowane w protokole HTTP zgodnie z RFC.
ref: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.32
Co więcej, trzeba będzie użyć Cache-Control nagłówek za zarządzanie zachowań buforowania zamiast dyrektywy Pragma, która wydaje się być nadal włączone jedynie w celu wspierania HTTP starszych/1.0.
ref: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9
Pewnie szuka Cache-Control, to jest obsługiwana w HTTP/1.1 i definiuje więcej stanów niż Pragma.
Więcej informacji, które mogą pomóc niektórym osobom, które są mniej zainteresowane buforowaniem, i bardziej zainteresowane nagłówkami HTTP w ogóle. tj. dosłowna interpretacja pierwotnego pytania "jakie są prawidłowe wartości dla nagłówka http?"
Odwołanie w zaakceptowanej odpowiedzi (https://stackoverflow.com/a/7376516/3246928) to RFC http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.32. Definiuje snytax jak:
Pragma = "Pragma" ":" 1 # pragma-dyrektywa
Pragma dyrektywą = "no-cache" | Rozszerzenie-Pragma
przedłużenie-Pragma = token [ "=" (znak | quoted-string)]
Ten implikuje, że każda 'znacznik = wartość' para jest do przyjęcia (z wartością jest opcjonalny). Specyfikacja mówi:
Żadne nowe dyrektywy Pragma nie zostaną zdefiniowane w protokole HTTP.
i chciałbym odgadnąć ten jest również przeznaczona na pokrycie „extension-PRAGMA” część, ale szkoda, że nie było tu bardziej jednoznaczne.
Ten nagłówek ma numer , a nie wydaje się być specjalnie stworzony do buforowania; opis w dokumencie RFC mówi:
Pole ogólnego nagłówka Pragma służy do włączenia implementation- konkretnych dyrektyw, które mogą odnosić się do każdego odbiorcy w łańcuchu żądanie/odpowiedź
Tak więc, w teoria, możesz dodać tutaj rzeczy i mogą one działać. Jednak pomimo wielu poszukiwań, nie znalazłem żadnego odniesienia do jakichkolwiek innych wartości, które kiedykolwiek były tutaj używane. Jest to faktycznie martwa i żenująca część http/1.
Wydaje się, że normalną rzeczą do zrobienia jest:
używać tylko Pragma z flagą no-cache. Jest to jedyna wartość, jakiej każdy powinien kiedykolwiek użyć. (Oczywiście, powinieneś również użyć nagłówka kontrolki pamięci podręcznej, aby cache zachowywał się zgodnie z oczekiwaniami).
Jeśli chcesz umieścić specjalne informacje w nagłówku http - np. Jeśli chcesz "uwzględnić dyrektywy dotyczące konkretnych implementacji, które mogą dotyczyć dowolnego adresata w łańcuchu żądania/odpowiedzi", utwórz niestandardowy nagłówek http. Na przykład Google i Amazon wykonują to: http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html i https://cloud.google.com/storage/docs/reference-headers
Należy zwrócić uwagę na konwencję nazewnictwa w nagłówku http. Prefiks "x-" jest przestarzały przez http://tools.ietf.org/html/rfc6648, ale wydaje się, że wszyscy go używają.
- 1. Jakie są prawidłowe nazwy tabel w SQLite?
- 2. wkhtmltopdf: Jakie rozmiary papieru są prawidłowe?
- 3. jakie są prawidłowe kolory dla rozszerzenia koloru rtęci?
- 4. Jakie są prawidłowe znaki dla nazw i wartości zmiennych środowiska Windows?
- 5. Jakie są możliwe wartości deskryptorów plików?
- 6. Jakie są inne wartości NaN?
- 7. Jakie są wartości domyślne dla Binding.Mode = Domyślne dla formantów WPF?
- 8. Jakie są prawidłowe miejsca dla parametrów w OKHttp w wywołaniu wieloczęściowym?
- 9. Czy identyfikatory IRI są prawidłowe jako wartości atrybutów HTML?
- 10. Jakie są przesłanki nagłówka daty HTTP?
- 11. Jakie są wymagane pola nagłówków HTTP?
- 12. Jakie są prawidłowe znaki w nazwach przestrzeni nazw PHP?
- 13. Jakie są prawidłowe typy powrotne metody kontrolera Spring MVC?
- 14. Wygeneruj wszystkie prawidłowe wartości dla wyrażenia regularnego.
- 15. Jakie jest prawidłowe kodowanie dla typu SNMP Unsigned32?
- 16. Jakie są alternatywy dla IRB?
- 17. Jakie są alternatywy dla PlayN?
- 18. Jakie są wady ElasticSearch Doc Wartości
- 19. Jakie są prawidłowe ustawienia Cloudwatch/Autoskala dla wyjątkowo krótkich skoków ruchu w Amazon Web Services?
- 20. Jakie są prawidłowe ustawienia manifestu Androida dla aplikacji Adobe AIR w celu ograniczenia dostępności urządzenia?
- 21. Jakie jest prawidłowe użycie dla sqlite na blokowaniu lub async
- 22. Jakie jest prawidłowe użycie funkcji Kontrolki bezpieczeństwa()?
- 23. Jakie są plusy i minusy podstawowego uwierzytelniania HTTP
- 24. C++ #pragma pack
- 25. Gdzie są prawidłowe wartości zdefiniowane dla @Sope w kontekstach kontekstowych sieci i portalu?
- 26. Jakie są odpowiednie formaty właściwości http://schema.org/GeoShape?
- 27. Jakie są prawidłowe sposoby pisania filtrów Boto3 w celu użycia niestandardowej nazwy znacznika?
- 28. Jakie są sekundy w regionie?
- 29. Prawidłowe pomost dla ARC?
- 30. Jakie są języki programowania dla GPU
dzięki za link bonusowy – aWebDeveloper