diff --git a/conf/core/server.conf b/conf/core/server.conf
index 686cf1005dea38ba5c01b32b5fe96bfe610e7a01..4264b374635cf8a3dd7ff83bb6e4305e1c7f3ec3 100644
--- a/conf/core/server.conf
+++ b/conf/core/server.conf
@@ -67,3 +67,5 @@ GLOBAL_ENTITY_PERMISSIONS_FILE=./conf/core/global_entity_permissions.xml
 CERTIFICATES_KEY_PASSWORD=
 CERTIFICATES_KEY_STORE_PATH=
 CERTIFICATES_KEY_STORE_PASSWORD=
+
+WEBUI_HTTP_HEADER_CACHE_MAX_AGE=28800
\ No newline at end of file
diff --git a/src/main/java/caosdb/server/ServerProperties.java b/src/main/java/caosdb/server/ServerProperties.java
index 10ede003057096b7dd8555bcdb39ba9f195205af..5e295ae5e84057be6c8604b21902465a550347d8 100644
--- a/src/main/java/caosdb/server/ServerProperties.java
+++ b/src/main/java/caosdb/server/ServerProperties.java
@@ -129,6 +129,8 @@ public class ServerProperties extends Properties {
 
   public static final String KEY_GLOBAL_ENTITY_PERMISSIONS_FILE = "GLOBAL_ENTITY_PERMISSIONS_FILE";
   public static final String KEY_TIMEZONE = "TIMEZONE";
+  public static final String KEY_WEBUI_HTTP_HEADER_CACHE_MAX_AGE =
+      "WEBUI_HTTP_HEADER_CACHE_MAX_AGE";
 
   /**
    * Read the config files and initialize the server properties.
diff --git a/src/main/java/caosdb/server/resource/Webinterface.java b/src/main/java/caosdb/server/resource/Webinterface.java
index 334f55f037c70185235dc02ccb618fd2f71dc77c..7343fc5ff681a56f1dcba633bd7f3de4ba27f813 100644
--- a/src/main/java/caosdb/server/resource/Webinterface.java
+++ b/src/main/java/caosdb/server/resource/Webinterface.java
@@ -22,8 +22,13 @@
  */
 package caosdb.server.resource;
 
+import caosdb.server.CaosDBServer;
+import caosdb.server.ServerProperties;
 import java.io.File;
 import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import org.restlet.data.CacheDirective;
 import org.restlet.data.Header;
 import org.restlet.data.MediaType;
 import org.restlet.data.Status;
@@ -42,7 +47,7 @@ public class Webinterface extends ServerResource {
     super.doInit();
   }
 
-  private final File PUBLIC_DIRECTORY = new File("caosdb-webui/public/").getAbsoluteFile();
+  private static final File PUBLIC_DIRECTORY = new File("caosdb-webui/public/").getAbsoluteFile();
 
   @Get
   public Representation deliver() throws IOException {
@@ -86,6 +91,12 @@ public class Webinterface extends ServerResource {
 
     final FileRepresentation ret = new FileRepresentation(file, mt);
 
+    List<CacheDirective> cacheDirectives = new ArrayList<>();
+    cacheDirectives.add(
+        new CacheDirective(
+            HeaderConstants.CACHE_MAX_AGE,
+            CaosDBServer.getServerProperty(ServerProperties.KEY_WEBUI_HTTP_HEADER_CACHE_MAX_AGE)));
+    getResponse().setCacheDirectives(cacheDirectives);
     return ret;
   }
 }