這是后端和服務(wù)器要考慮的事情,
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),瑪納斯企業(yè)網(wǎng)站建設(shè),瑪納斯品牌網(wǎng)站建設(shè),網(wǎng)站定制,瑪納斯網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,瑪納斯網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
不同的后端技術(shù)還不一樣,
對于tomcat服務(wù)器,打開conf文件夾下的server.xml 文件
Connector?port="8080"?protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"?/
修改為
Connector?port="8080"?protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla,traviata"
compressableMimeType="text/html,text/xml,text/javascript,application/x-javascript,application/javascript,text/css,text/plain"/
對于node.js服務(wù)器,不同的mvc框架有不同的封裝
//express
var?compression?=?require('compression');
var?express?=?require('express');
var?app?=?express();
app.use(compression());
//node。js?主要采用zlib
nginx開啟gizp
1、Vim打開Nginx配置文件
vim?/usr/local/nginx/conf/nginx.conf
2、找到如下一段,進(jìn)行修改
gzip?on;
gzip_min_length?1k;
gzip_buffers?4?16k;
#gzip_http_version?1.0;
gzip_comp_level?2;
gzip_types?text/plain?application/x-javascript?text/css?application/xml?text/javascript?application/x-httpd-php?image/jpeg?image/gif?image/png;
gzip_vary?off;
gzip_disable?"MSIE?[1-6]\.";
3、解釋一下
第1行:開啟Gzip
第2行:不壓縮臨界值,大于1K的才壓縮,一般不用改
第3行:buffer,就是,嗯,算了不解釋了,不用改
第4行:用了反向代理的話,末端通信是HTTP/1.0,有需求的應(yīng)該也不用看我這科普文了;有這句的話注釋了就行了,默認(rèn)是HTTP/1.1
第5行:壓縮級別,1-10,數(shù)字越大壓縮的越好,時間也越長,看心情隨便改吧
第6行:進(jìn)行壓縮的文件類型,缺啥補(bǔ)啥就行了,JavaScript有兩種寫法,最好都寫上吧,總有人抱怨js文件沒有壓縮,其實(shí)多寫一種格式就行了
第7行:跟Squid等緩存服務(wù)有關(guān),on的話會在Header里增加"Vary:?Accept-Encoding",我不需要這玩意,自己對照情況看著辦吧
第8行:IE6對Gzip不怎么友好,不給它Gzip了
GZIPOutputStream和PHP的gzuncompress配合得不好,似乎是Java產(chǎn)生的數(shù)據(jù)頭在PHP那邊認(rèn)不出來。用DeflaterOutputStream來取代GZIPOutputStream。
如果參數(shù)名和值全部是已知的,那么做一個映射表就可以了。
如果參數(shù)的值涉及用戶提交的內(nèi)容,對于過長的內(nèi)容,最好使用POST,并開啟Gzip壓縮。
關(guān)于URL的長度:
1,普通用戶很少通過修改url來實(shí)現(xiàn)跳轉(zhuǎn)
2,太短的參數(shù)名稱就很難理解含義,比如content如果縮短成c,你知道這代表什么意思么?
3,如果說為了便于保存和分享,那么可以考慮short url的處理方式
4,url的長度對性能的影響微乎其微,除非是超長文本,那就是程序設(shè)計的問題了
5,如果說刻意追求極短的url,還要進(jìn)行壓縮和解壓縮步驟,真的有點(diǎn)畫蛇添足了
這個需要 url轉(zhuǎn)碼 。轉(zhuǎn)碼的 目的 是為了 解碼
比如 你需要傳一個 密碼(123456)
你可以先 發(fā)送一個 $str= serialize("123456")
然后 解包上面 的 變量 unserialize($str)
這個就是類似的 壓縮, 解包 的 過程
加密 解密的 過程
轉(zhuǎn)碼 解碼 的過程