Index: wp-admin/load-styles.php
===================================================================
--- wp-admin/load-styles.php	(revision 28755)
+++ wp-admin/load-styles.php	(working copy)
@@ -134,6 +134,14 @@
 	}
 }
 
+$md5_file = md5($out);
+
+if ( $md5_file === filter_input(INPUT_SERVER, 'HTTP_IF_NONE_MATCH', FILTER_SANITIZE_STRING) ) {
+	header('HTTP/1.1 304 Not Modified');
+	exit();
+}
+
+header('Etag: ' .$md5_file);
 header('Content-Type: text/css; charset=UTF-8');
 header('Expires: ' . gmdate( "D, d M Y H:i:s", time() + $expires_offset ) . ' GMT');
 header("Cache-Control: public, max-age=$expires_offset");
Index: wp-admin/load-scripts.php
===================================================================
--- wp-admin/load-scripts.php	(revision 28755)
+++ wp-admin/load-scripts.php	(working copy)
@@ -143,6 +143,14 @@
 	$out .= get_file($path) . "\n";
 }
 
+$md5_file = md5($out);
+
+if ( $md5_file === filter_input(INPUT_SERVER, 'HTTP_IF_NONE_MATCH', FILTER_SANITIZE_STRING) ) {
+	header('HTTP/1.1 304 Not Modified');
+	exit();
+}
+
+header('Etag: ' .$md5_file);
 header('Content-Type: application/x-javascript; charset=UTF-8');
 header('Expires: ' . gmdate( "D, d M Y H:i:s", time() + $expires_offset ) . ' GMT');
 header("Cache-Control: public, max-age=$expires_offset");
