1.什麼是頁面靜態化
頁面靜態化,能夠分爲僞靜態與靜態化兩種
僞靜態是指將動態連接經過必定的手段變成靜態文件的連接(
restful方式等),如userdetail.htm?userid=1234 變成 userdetail/1234.html
靜態化 則是在userdetail目錄下面生成1234.html文件
2.爲何須要靜態化
咱們爲何須要將頁面靜態化,主要考慮到一下方面
- 利用seo (search engine optimization ) 搜索引擎優化
- 提升程序性能,因爲不訪問容器和對數據庫的操做,因此效率比較高
- 防止sql注入攻擊
3.怎樣在項目中使用頁面靜態化
1.怎樣生成靜態文件
咱們能夠使用模板引擎的方式,根據模板和數據,生成對應的靜態文件,常見的java的模板引擎有(
freemarker,
velocity,beetl
)等,目前咱們的靜態化,採用freemarker
2.模板的存儲
靜態化模板的存儲,一般有兩種: 1,保存數據庫;2,當成資源文件放在工程目錄下。 若是模板規模比較大,且模板的更新比較平凡,建議使用數據庫進行保存。
3.如何訪問靜態文件
常規工程項目架構如圖
常規工程,能夠將生成的靜態文件放置在某一個文件夾下或者某一個靜態文件服務器中,由nginx等代理服務器,反向代理訪問相應的資源文件
因爲阿里雲OSS 提供靜態網站訪問功能,故咱們能夠使用阿里雲的靜態網站託管功能作靜態資源訪問,具體使用方法能夠見阿里雲
1.新建單獨
Bucket
2.配置index索引頁,與錯誤支持頁
3.配置域名及CDN 加速
注意:
若是開通CDN加速功能,在更改相應的靜態文件時,須要從新刷新對應的CDN ,目前阿里雲提供了CDN操做的接口,具體API參照:
因爲未實際使用騰訊雲進行測試,故暫時的方案定爲 騰訊雲存儲COS+CDN
具體步驟:
1 生成靜態文件
2 上傳文件至COS
3 刷新CDN
附:
上傳文件參考:
配置CDN
CDN操做相關API
4.相關代碼: