FHEMWEB: Wie HTTP Date Header senden?

Begonnen von FhemPiUser, 26 Dezember 2020, 15:14:32

Vorheriges Thema - Nächstes Thema

FhemPiUser

Ich würde gerne mit einem low-power-ESP32 Client die Uhrzeit des FHEM Webservers auswerten, wenn ich ein Reading per HTTP URL "...fhem.cmd=..." abfrage. Es gibt ja einen HTTP Date Header, der die Uhrzeit des Servers an den Client übertragen kann (laut RFC2616 sogar muss) in der HTTP response (siehe z.B. https://wiki.selfhtml.org/wiki/HTTP/Header/Date). Nach Analyse mit der Firefox Webconsole scheint der HTTP Date Header bei FHEMWEB standardmäßig nicht gesendet zu werden, oder habe ich es übersehen bzw. kan man die HTTP header in der Firefox Webkonsole nicht sehen?

Fals der header tatsächlich nicht gesendet wird: Kann man FHEMWEB so konfigurieren, dass HTTP "Date" Header gesendet wird? Theoretisch gibt es ja ein attr "httpHeader" bei FHEMWEB. Ginge das damit? Nur wie?

rudolfkoenig

httpHeader wird "verbatim" gesendet, es gibt keine perl Auswertung.

Man koennte Expires auswerten, das sollte immer 900 Sekunden in der Zukunft liegen.

Indirekt kann man FHEMWEB auch zum Senden eines Date Headers motivieren:
% wget -q -S http://localhost:8083/fhem/images/fhemSVG/cul.svg
  HTTP/1.1 200 OK
  Content-Encoding: gzip
  Expires: Sat Dec 26 14:47:15 2020 GMT
  X-FHEM-csrfToken: csrf_129359200852858
  ETag: "1439033119"
  Transfer-Encoding: chunked
  Content-Type: image/svg+xml; charset=UTF-8
% wget --header "If-None-Match:1439033119" -q -S http://localhost:8083/fhem/images/fhemSVG/cul.svg
  HTTP/1.1 304 Not Modified
  Date: Sat, 26 Dec 2020 14:32:21 GMT
  ETag: 1439033119
  Expires: Sat, 26 Dec 2020 14:47:21 GMT
  X-FHEM-csrfToken: csrf_129359200852858