优化任务列表性能和本地登录代理
This commit is contained in:
@@ -6,6 +6,7 @@ import uvicorn
|
||||
from contextlib import asynccontextmanager
|
||||
from fastapi import FastAPI, Request
|
||||
from fastapi.middleware.cors import CORSMiddleware
|
||||
from fastapi.middleware.gzip import GZipMiddleware
|
||||
from fastapi.staticfiles import StaticFiles
|
||||
from fastapi.responses import FileResponse
|
||||
from starlette.middleware.base import BaseHTTPMiddleware
|
||||
@@ -66,6 +67,9 @@ app.add_middleware(
|
||||
allow_headers=["*"],
|
||||
)
|
||||
|
||||
# 压缩 JSON 和静态资源响应,避免任务列表轮询反复传输大体积文本。
|
||||
app.add_middleware(GZipMiddleware, minimum_size=1024)
|
||||
|
||||
|
||||
# 安全响应头中间件
|
||||
class SecurityHeadersMiddleware(BaseHTTPMiddleware):
|
||||
@@ -74,6 +78,9 @@ class SecurityHeadersMiddleware(BaseHTTPMiddleware):
|
||||
response.headers["X-Content-Type-Options"] = "nosniff"
|
||||
response.headers["X-Frame-Options"] = "DENY"
|
||||
response.headers["Referrer-Policy"] = "strict-origin-when-cross-origin"
|
||||
if request.url.path.startswith("/assets/"):
|
||||
# Vite 产物文件名带 hash,可以长期缓存。
|
||||
response.headers["Cache-Control"] = "public, max-age=31536000, immutable"
|
||||
return response
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user