Datgs' Blog

Quyết chiến quyết thắng !

Archive for the tag “HTTP”

Để tăng tốc độ tải của website

Tham khảo tại http://developer.yahoo.com/performance/rules.html

Thu gọn các HTTP Requests

80% thời gian mà người sử dụng cuối phải dành ra là chờ đợi các kết quả website trả về, chủ yếu là chờ đợi tải các thành phần hình ảnh, javascript, css… Vậy phải làm thế nào để giảm bớt các request này. Có các phương pháp sau:

kết hợp các file dữ liệu giúp giảm các request tới server

sử dụng css để định các ảnh muốn tải về

image maps

inline images

Sử dụng các mạng phân phối nội dung

Là sử dụng các mạng lưu trữ khác để giúp cho việc phân phối nội dụng trở nên nhanh hơn.

Sử dụng điều khiển cache ở header

Expires: Thu, 15 Apr 2010 20:00:00 GMT

Sử dụng thành phần nén nội dung gzip

Accept-Encoding: gzip, deflate

Content-Encoding: gzip

Vị trí đặt các thành phần trong HTML

Đặt các stylesheets ở đầu trang

Đặt các script ở cuối trang

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

Đặt css và javascipt ở bên ngoài  (không nhúng vào html)

Giảm DNS Lookups

Làm nhỏ dung lượng các file css & javascript

Tránh các redirects

Xóa bỏ các đoạn script trùng lặp

Cấu hình ETags

Sử dụng ajax với khả năng cache nội dung

Sớm đẩy nội dung ra khỏi buffer

Sử dụng GET với ajax

Sử dụng thành phần Post-Load

Sử dụng thành phần Preload

Giảm số lượng các  DOM

Tách các thành phần cùng domain

Hạn chế sử dụng iframe

Không xài 404s

Giảm kích thước cookie

Sử dụng các tên miền không cookie (cookie-free)

Giảm truy cập DOM

Phát triển các điều khiển sự kiện khôn khéo hơn

Sử dụng link thay vì @import (css)

Tránh Filter (css)

Tối giản các hình ảnh

Tối ưu hóa css

Không thay đổi khích thước ảnh mà bạn muốn

flavor.ico nhỏ và có khả năng được cache

Giữ các thành phần không quá 25k kích thước

Không show hết nội dung website mà chia thành các phần nhỏ hơn nếu có thể

HTTP header, thu thập thông tin http header

Ví dụ, header của http://vnexpress.net

HTTP/1.1 302 Object moved

Connection: close
Date: Mon, 02 Mar 2009 14:34:41 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Location: /GL/Home/
Content-Length: 130
Content-Type: text/html
Expires: Mon, 02 Mar 2009 15:04:41 GMT
Set-Cookie: ASPSESSIONIDSATTBQQA=NNOHHNNBFBLILNLGFIDBCLHH; path=/
Cache-control: private

Đó là một phần các thông tin của HTTP header.

Trong php, có thể cập nhật header gửi về client bằng hàm header. Sử dụng hàm header có thể che dấu một số thông tin phía máy chủ. Ví dụ như ở trên, header có ASP.NET (khi che dấu đi thì người lấy thông tin không có nguồn để đối chiếu xem vnexpress.net sử dụng công nghệ nào, webserver nào, hệ điều hành gì.

Header cũng là nơi để lưu trữ các tham số mà browser có thể sử dụng để đưa ra xử lí thích hợp, ví dụ như kiểu dữ liệu và cách mã hóa (Content-Type: text/html; Charset: UTF-8). Hoặc nếu trong header là dạng octect-stream thì browser sẽ hiện ra bảng chọn có mở chương trình sau khi download hay không hoặc lưu về một thư mục trên máy.

Post Navigation

Follow

Get every new post delivered to your Inbox.