盜鏈概念
盜鏈是指在自己的頁面上展示一些並不在自己伺服器的內容
防盜煉工作原理
通過referer或者簽名,**可以檢測目標網頁訪問的**頁,一旦檢測到**頁不是本站即進行阻止或者返回指定頁面
解決方案1
referer
nginx 模組ngx_http_referer_module用於阻擋**非法的網域名稱請求
location ~ .*\.(gif|jpg|png|swf|bmp|jpeg)$
}
缺點:可以進行偽裝referer
解決方案2
使用第三方httpaccesskeymodule模組實現nginx防盜煉
location ~ .*\.(gif|jpg|png|swf|bmp|jpeg)$
缺點:要在每個資源後面加個簽名為什麼要減少http請求次數
httpl連線產生的開銷
解決方案1
地圖使用標籤
解決方案2
css精靈
通過指定css的backgroud-image和backgroud-position來顯示元素
解決方案3
合併指令碼和樣式表
使用外部js和css檔案引用方式
解決方案4
使用base64編碼減少頁面的請求數
使用外部js和css檔案引用方式http快取機制
1.200 from cache: 直接從本地快取中獲取響應,最快速,最省流量,因為根本沒有向伺服器傳送請求
2.304 not modify:協商快取,瀏覽器在本地沒有命中情況下請求頭髮送一定的校驗資料到服務端,如果服務端資料沒有改變瀏覽器從本地快取響應,返回304,快速,傳送的資料小,只返回一些基本的響應頭資訊,資料量很小,不發生實際響應體
3.200 ok:以上兩種快取全都失敗,伺服器返回完整響應,沒有用到快取,相對最慢。
nginx配置
location ~ .*\.(gif|jpg|png|swf|bmp|jpeg)$
前端**和資源的壓縮
js**壓縮常用工具:uglifyjs, yui compressor, closure compiler
css**壓縮常用工具:yui compressor, css compressor
html**壓縮常用工具:htmlcompressor
壓縮常用工具:tinypng, jpegmini, imageoptim
gzip壓縮
location ~ .*\.(gif|jpg|png|swf|bmp|jpeg)$
什麼是cdn,全稱:content delivery network 內容分發網路
使用cdn的優勢獨立的必要性:
1.分擔web伺服器的i/o負載,將耗費資源的服務分離出來,提高伺服器的效能和穩定性,
2.能夠專門對伺服器進行優化,為服務設定有針對性的快取方案,減少頻寬成本,提高訪問速度,
採用獨立網域名稱:
1.同一網域名稱下瀏覽器的併發連線數有限制,突破瀏覽器的連線數限制(同一網域名稱下瀏覽器併發連線數2-6個)
2.由於cookie的原因,對快取不利,大部分web cache 都只能快取不帶cookie的請求,導致每次的請求都不能命中cache
3.如何進行上傳和同步,nfs共享方式,利用ftp同步程序,執行緒,協程,同步阻塞,非同步非阻塞,
php併發程式設計實踐:swoole 訊息佇列 介面的併發請求(curl_multi_init)1 為什麼的要使用資料庫快取
極大地j解決資料庫伺服器的壓力
提高應用資料的響應速度
常見的快取形式:記憶體快取,檔案快取
是為了讓客戶端很少,甚至不訪問資料庫伺服器進行資料的查詢,高併發下,能最大程度降低對資料庫伺服器的壓力
2 使用redis,memcache快取查詢資料
php高併發,大流量
一般使用lvs php集群 1000臺 就算日均80億次請求,每秒有10萬併發,那分到每台機器的請求只有100個。只要你的php程式不是太差,100qps總沒問題吧?而真正的瓶頸在於資料庫和儲存系統,資料的一致性,可擴充套件性,可用性很難保證。所以需要根據具體的業務場景再做橫向和縱向的分庫分表。再輔...
PHP面試考點 4 流程控制
4.流程控制 請列出3中php迴圈陣列的方法,說出各自的區別 for foreach while.list each 組合 for只能遍歷索引陣列,其他兩個能遍歷索引陣列和關聯陣列 foreach能重置陣列的指標 while.list.each 不能重置指標 php分支考點 if.elseif只能有...
PHP面試考點 7 檔案操作
7.檔案操作 fopen 函式 用來開啟乙個檔案,開啟時需指定開啟模式 開啟模式 r 唯讀 r 讀寫 w 清空寫 w 建立寫 a 追加寫 a 追加建立寫 x 建立,如果檔案存在則報錯 x 建立讀寫 寫函式 fwrite 讀函式 fread 關閉 fclose 名稱相關 basename 檔名 dir...