{"id":243,"date":"2007-08-22T00:22:25","date_gmt":"2007-08-21T22:22:25","guid":{"rendered":"http:\/\/www.mitternachtshacking.de\/blog\/243-apache-etag"},"modified":"2018-05-22T23:33:55","modified_gmt":"2018-05-22T22:33:55","slug":"apache-etag","status":"publish","type":"post","link":"https:\/\/www.mitternachtshacking.de\/blog\/243-apache-etag","title":{"rendered":"Apache ETag"},"content":{"rendered":"<p>Wir kennen ja aus dem Fingerprinting der Webserver, dass Microsofts IIS gerne eine ASPSESSIONID mitschickt und Apache ein ETag. Das ist ganz praktisch, um den Webserver zu identifizieren, wenn kein brauchbarer Server-String mitgeschickt wird. (Alternativ kann man auch einfach <a href=\"http:\/\/www.netcraft.com\/\">Netcraft<\/a> fragen.)<\/p>\n<ul>\n<pre>\r\n~&gt; telnet www.mitternachtshacking.de 80\r\nHEAD \/ HTTP\/1.0\r\nHTTP\/1.1 200 OK\r\nDate: Sun, 26 Aug 2007 04:21:17 GMT\r\nServer: Apache\/2.2.0 (Linux\/SUSE)\r\nLast-Modified: Wed, 26 Apr 2006 15:56:38 GMT\r\nETag: \"310f-2544-844df980\"<\/pre>\n<\/ul>\n<p>Das ETag wird jedoch eigentlich verwendet, damit der Browser entscheiden kann, ob er ein Dokument bereits im Cache hat und nicht mehr neu laden muss oder ob er das Dokument neu anfordert.<\/p>\n<p>Apache setzt das <a href=\"http:\/\/httpd.apache.org\/docs\/1.3\/mod\/core.html#fileetag\">ETag<\/a> normalerweise aus drei Informationen zusammen: aus der Inode-Nummer, dem Datum der letzten Datei\u00e4nderung und der Dateigr\u00f6\u00dfe. Das Datum und die Dateigr\u00f6\u00dfe sind bekannt. Kann man mit der Inode-Nummer nun etwas anfangen?<\/p>\n<p>Einige Server setzen mit Hilfe der ETag-Direktive das ETag so, dass nur \u00c4nderungsdatum und Gr\u00f6\u00dfe in das ETag einflie\u00dfen. Das ist insbesondere dann relevant, wenn ein Reverse-Proxy Loadbalancing mehrerer Webserver anbietet. Wenn keine Inode-Nummer enthalten ist und \u00c4nderungsdatum und Gr\u00f6\u00dfe bekannt sind,  kann man dann mit dieser Information Cache-Informationen invalidieren?<\/p>\n<p>Mal testen &#8230;<\/p>\n<p>(via <a href=\"http:\/\/joshua.schachter.org\/2006\/11\/apache-etags.html\">Joshua Schachter<\/a>)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wir kennen ja aus dem Fingerprinting der Webserver, dass Microsofts IIS gerne eine ASPSESSIONID mitschickt und Apache ein ETag. Das ist ganz praktisch, um den Webserver zu identifizieren, wenn kein brauchbarer Server-String mitgeschickt wird. (Alternativ kann man auch einfach Netcraft fragen.) ~&gt; telnet www.mitternachtshacking.de 80 HEAD \/ HTTP\/1.0 HTTP\/1.1 200 OK Date: Sun, 26 Aug [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[8,10],"tags":[],"_links":{"self":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/posts\/243"}],"collection":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/comments?post=243"}],"version-history":[{"count":0,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/posts\/243\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/media?parent=243"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/categories?post=243"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/tags?post=243"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}