yahoo軍規

1.減小Http請求數量css

2.使用CDN(內容分發網絡) 放置副本服務器html

3.添加Expire/Cache-Control頭 expire頭的內容是一個時間值,值就是資源在本地的過時時間,存在本地,在本地緩存階段,找到一個對應的資源值,當前時間還沒超過資源的過時時間,就直接使用這一個資源,不會發送Http請求 cache-control 是Http協議中經常使用的頭部之一,顧名思義,它是負責頁面的緩存機制,若是該頭部指示緩存,緩存的頭部也會存在本地,操做流程和expire類似,但也有不一樣的地方,cache-control有更多的選項,並且也有更多的處理方式java

4.啓用Gzip壓縮 先壓縮,再傳輸web

5.將css放置在頁面的最上邊瀏覽器

6.將script放置在頁面最下面(先呈現內容,減小等待時間) 頁面元素的加載順序html->head->meta->title(內容,網頁標題)->style加載樣式,解析樣式->link標籤->script文件->body->div->img->頁面加載完畢緩存

7.避免在css中使用Expressions css Expressions 關聯css屬性<--->JavaScript表達式安全

8.把JavaScript和css都放到外部文件中服務器

8.1提取成文件的好處 提升js和css的複用 減小頁面體積 提升js和css的可維護性網絡

8.2寫在頁面中的好處 減小頁面請求 提高頁面渲染速度post

8.3寫在頁面的狀況 當css或js只應用於一個頁面 不常常被訪問到 腳本和樣式不多

9.減小DNS查詢 瀏覽器緩存,IE 30ms Firefox 60s Chrome 60s 當緩存時間長:減小DNS的重複查找,節省時間 當緩存時間短:及時的檢測網站服務器的變化,保證準確性 單域 多域

10.最小化JavaScript和css

10.1去除沒必要要的空白符,格式符,註釋符-->代碼的格式化

10.2簡寫方法名,參數名壓縮Js腳本 建議:在正式上線項目前,將javaScript和css都進行壓縮,使線上版本是最輕量級的,大幅提高網站性能

11.避免重定向 重定向:原始請求被重定向到了其餘請求 重定向狀態碼:301 Moved Permanently 移動到了另外的位置,永久重定向,搜索引擎智能 302 Found 頁面被找到了,臨時重定向 找舊地址再跳 增長了訪問服務器的次數

12.移除重複的腳本

13.配置實體標籤(ETag) ETag Entity Tag實體標籤,屬於http協議,受web服務支持 使用特殊的字符串來標識某個請求資源版本

14.使用Ajax(Asynchronous JavaScript and XML)緩存 分批加載,局部更新 POST:每次都執行,不能夠被緩存 GET:同一地址不重複執行,能夠被緩存 POST和GET的區別

14.1GET: 把參數數據隊列加到提交表單的ACTION屬性所指的URL隊列中,值和表單內各個字段一一對應,在URL中能夠看到 服務器端用Request.QueryString獲取變量的值 傳送的數據量比較小,不能大於2kb 安全性很是低 <form method="get" action="a.asp?b=b">跟<form method="get" action="a.asp">是同樣的,也就是說,method爲get時,action頁面後邊帶的參數列表會被忽略 總結:get會將參數添加到URL中,經過這種方式傳遞到服務器,一般利用一個?表明URL地址的結尾與數據參數的開端,後面的參數每個數據參數以"名稱=值"的形式出現,參數與參數之間利用鏈接符&來區分

14.2POST: 經過HTTP POST機制,將表單內各個字段與其內容放置在HTML header內一塊兒傳送ACTION屬性所指的URL地址,用戶看不到這個過程 服務器端用Request.Form獲取提交的數據 傳送的數據量比較大,通常被默認爲不受限制,但理論上,因服務器的不一樣而異 安全性較高 <form method="post" action="a.asp?b=b">跟<form method="post" action="a.asp">是不同的 總結:數據是放在HTTP主體中的,其組織方式不僅一種,有&鏈接方式,也有分隔符方式,可隱藏參數,傳遞大批數據,比較方便

相關文章
相關標籤/搜索