10/10/2018, 10:38

14 thủ thuật tăng tốc độ website

Chuyên gia Steve Souders của Yahoo đã hướng dẫn chi tiết cách tối ưu hóa trang web bằng việc tập trung vào những vấn đề mặt trước (front-end: phần chương trình tương tác trực tiếp với người sử dụng).

Đây được coi là tài liệu đáng đọc với bất cứ ai liên quan đến công việc xây dựng web. Bài viết của Souders được đăng dài kỳ trên blog Yahoo user interface và sẽ được xuất bản vào tháng 9 tới.

Khả năng hoạt động của website là vấn đề được nhiều người quan tâm. Một số nghiên cứu mới đây cho thấy tốc độ ảnh hưởng trực tiếp đến lưu lượng khách truy cập. Souders đã đưa ra 14 nguyên tắc cải thiện là:

1. Hạn chế HTTP requests.

2. Sử dụng CDN (Content Delivery Network: Hệ thống các máy tính được kết nối với nhau qua Internet để truyền nội dung tới người sử dụng).

3. Đưa thêm Expires header.

4. Gzip các thành tố (Gzip, hay GNU zip, là ứng dụng phần mềm miễn phí được dùng để nén file).

5. Đưa CSS lên đầu.

6. Chuyển JS (JavaScript) xuống cuối.

7. Tránh các biểu thức CSS.

8. Đặt CSS và JS ở bên ngoài.

9. Giảm quá trình tra cứu DNS.

10. Thu nhỏ JS.

11. Tránh chuyển hướng (redirect).

12. Loại bỏ các tập lệnh sao lưu (duplicate scripts).

13. Tắt ETags.

14. Làm cho AJAX nhỏ và có thể lưu trữ được (cacheable).

Tham khảo bản thuyết trình PowerPoint với 97 slide của Souders tại đây.: http://www.web2expo.com/presentation...ders_steve.ppt
duongtien viết 12:46 ngày 10/10/2018
Được gửi bởi thongtinlaptop

1. Hạn chế HTTP requests.

3. Đưa thêm Expires header.

13. Tắt ETags.
Anh có thể nói rõ hơn về mấy cái này không ạ? Em không hiểu lắm.
huythanh007 viết 12:49 ngày 10/10/2018
Được gửi bởi duongtien
Anh có thể nói rõ hơn về mấy cái này không ạ? Em không hiểu lắm.
Vậy mà đòi làm mod, em cũng chả hiểu gì cả, nhìn vào mù lun
3do viết 12:39 ngày 10/10/2018
view slide của họ để hiểu rõ hơn, trong đó có ví dụ và biểu đồ rất rõ ràng

Hạn chế HTTP requests.
Đối với cùng 1 domain thì browser chỉ gửi 1 request vào 1 thời điểm nên càng nhiều request thì càng phải đợi lâu. Steve đề nghị các cách cải tiến sau:

Dùng image maps.
CSS sprites.
Nghĩa là thay vì dùng mỗi ảnh 1 file thì có thể kết hợp file này vào 1 ảnh lớn. Như vậy chỉ cần 1 request cho tất cả các ảnh thay vì mỗi ảnh 1 request. Đối với image map thì các ảnh phải liên tục, đối với css sprites thì ko cần.

inline images: nhúng ảnh trong file html (chỉ nên dùng với ảnh k1ich thước nhỏ)

combined scripts, combined stylesheets: gom scripts và css lại

Đưa thêm Expires header
field Expire kèm theo header sẽ cho biết nội dung được tải về sẽ hết hạn khi nào, nếu hết hạn, browser sẽ loại ra khỏi cache và request lại 1 lần nữa. Nên reponse expire trong header để cache hình ảnh, js, css hiệu quả

Tắt ETags
ko hiểu rõ lắm
nobie viết 12:44 ngày 10/10/2018
Đối với cùng 1 domain thì browser chỉ gửi 1 request vào 1 thời điểm
Sai. Cả IE, Firefox, Opera, Safari đều không hạn chế đến vậy.

càng nhiều request thì càng phải đợi lâu.
Nó không liên quan đến trình duyệt nên kết luận này là sai. Bạn có thể tìm hiểu thêm về giao thức HTTP và cách thực lập trình một web server nhé.
huythanh007 viết 12:45 ngày 10/10/2018
Cái giảm HTTP Request em nghĩ là để giảm bớt cho máy chủ, mà em nghĩ chỉ làm với những ảnh nhỏ nhỏ, chứ em thấy ảnh lớn thì người thường khuyên là cắt nhỏ ra để tải nhanh hơn mà.
huythanh007 viết 12:45 ngày 10/10/2018
Được gửi bởi 3do
field Expire kèm theo header sẽ cho biết nội dung được tải về sẽ hết hạn khi nào, nếu hết hạn, browser sẽ loại ra khỏi cache và request lại 1 lần nữa. Nên reponse expire trong header để cache hình ảnh, js, css hiệu quả
Anh có thể nói rõ thêm cái đó được không? Làm cách nào để đưa vào ạ?
pcdinh viết 12:41 ngày 10/10/2018
Không nên trông đợi học hỏi được cái gì đó từ slide của Steve nếu các bạn không vững về giao thức HTTP 1.1.

Không hiểu Steve nói tắt Etags là như thế nào và trong trường hợp nào nhưng rõ ràng là nếu chỉ nói đơn giản vậy thì phát biểu của Steve là sai lầm. Etags có mặt trong HTTP 1.1. Trong Apache nó là sự kết hợp của 3 yếu tố và nếu dùng kết hợp với Last-Modified/If-None-Match một cách có hiểu biết thì đó là một cách để validate cache 1 cách có hiệu quả.

Hạn chế của ETags có thể là HTTP 1.1
cái nick đó viết 12:50 ngày 10/10/2018
em không rõ các bác cứ nói kiểu ngập ngừng thế này là để muốn giúp mọi người hay để khoe trình độ
nobie viết 12:45 ngày 10/10/2018
@cái nick đó

Em không biết thì em phải tự học để có thể hiểu người khác nói gì chứ làm sao mà chờ có ai đó dỗi hơi post lên đây cả một cuốn tiểu thuyết để em sụt sịt nói lời cảm ơn được. Mai sau em đi làm em sẽ thấy cái này là đúng

Sách vở thì đầy trên mạng thì làm gì mà phải giải thích. Anh nghĩ giải thích những cái mà ai cũng biết, ai cũng có thể học trừ 1 vài người mới là cải lương phải không các bồ
Bài liên quan
0