Version static asset URLs to prevent stale proxy browser resources
This commit is contained in:
@@ -794,6 +794,8 @@ class Handler(BaseHTTPRequestHandler):
|
||||
raise Problem('页面不存在', 404)
|
||||
file = ROOT / 'web' / files[path]
|
||||
raw = file.read_bytes()
|
||||
if path == '/':
|
||||
raw = raw.replace(b'__ASSET_VERSION__', (ROOT / 'VERSION').read_bytes().strip())
|
||||
self.send_response(200)
|
||||
self.send_header('Content-Type', (mimetypes.guess_type(file.name)[0] or 'application/octet-stream') + '; charset=utf-8')
|
||||
self.send_header('Content-Length', str(len(raw)))
|
||||
@@ -801,7 +803,7 @@ class Handler(BaseHTTPRequestHandler):
|
||||
self.send_header('X-Frame-Options', 'DENY')
|
||||
self.send_header('Referrer-Policy', 'same-origin')
|
||||
self.send_header('Content-Security-Policy', "default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; media-src 'self' blob:; worker-src 'self' blob:; connect-src 'self'; frame-ancestors 'none'; base-uri 'none'; form-action 'self'")
|
||||
self.send_header('Cache-Control', 'no-cache')
|
||||
self.send_header('Cache-Control', 'no-store' if path == '/' else 'no-cache')
|
||||
self.end_headers()
|
||||
self.wfile.write(raw)
|
||||
except Problem as e:
|
||||
|
||||
Reference in New Issue
Block a user