當(dāng)使用前后端分離開發(fā)項目時,如果前端使用vue react等框架進行開發(fā)時,往往項目中的js文件很大伍玖,即使使用webpack打包之后,少則幾百k多則幾mb剿吻。如果不將數(shù)據(jù)進行壓縮傳輸窍箍,將會大大增加用戶加載頁面的等待時間。同時在使用ajax交互數(shù)據(jù)的同時丽旅,json數(shù)據(jù)往往也會達到幾百k椰棘。使用django可以輕松將通過接口請求的數(shù)據(jù)進行g(shù)zip壓縮。大大提升用戶的體驗榄笙。
django配置gzip
要使通過django處理的請求都進行壓縮邪狞,可以使用全局配置
MIDDLEWARE_CLASSES = (
'django.middleware.gzip.GZipMiddleware',
)
如果想控制某個接口進行壓縮,可以使用gzip_page進行配置
from django.views.decorators.gzip import gzip_page
@gzip_page
def viewFunc(request):
return HttpResponse("hello"*100)
如果請求的數(shù)據(jù)不通過django來處理(nginx+uwsgi)那么就需要使用nginx將靜態(tài)資源進行壓縮茅撞。 不過django壓縮的好處是可以直接壓縮json數(shù)據(jù)帆卓。
nginx使用GZIP
http://www.reibang.com/p/c5d1fc829855