reset and begin
4/24/2010

tối ưu website

Tốc độ hiển thị trang web phụ thuộc vào nhiều yếu tố như tốc độ đường truyền, tốc độ xử lý của server, nội dung trang web và tốc độ xử lý của máy tính client. Để tăng tốc độ hiển thị trang web, có thể chia làm 3 phần để xử lý như sau:

- Tại server: Giảm thiểu những tính toán trên server, tối ưu CSDL, tạo bộ đệm, tối ưu chương trình...

- Đường truyền: Giảm thiểu dữ liệu truyền trên mạng bằng cách giảm kích thước các file hình, giảm yêu cầu trao đổi dữ liệu giữa server và client...

- Tại máy client: tối ưu mã html để trình duyệt hiển thị nhanh.

Với chiến lược trên, dưới đây là 10 thủ thuật có thể giúp tăng tốc độ hiển thị trang web.

1. Dùng CSS định nghĩa thuộc tính của các đối tượng trong trang web

Việc dùng CSS sẽ giúp cải thiện tốc độ tải trang web đáng kể. Trình duyệt sẽ chỉ tải file CSS về máy client một lần, những lần sau các trang web sử dụng file CSS này sẽ lấy ngay tại client. Việc tập trung toàn bộ định nghĩa thuộc tính vào file CSS giúp cho đoạn mã HTML trở nên ngắn gọn, rõ ràng đồng thời giúp giảm kích thước của trang web.

Một điểm tiện lợi nữa khi dùng file CSS là bạn có thể thay đổi màu sắc, giao diện của những trang web một cách nhanh chóng thông qua việc chỉnh sửa những thuộc tính trong file CSS.

2. Viết Javascript trên một trang và dùng cho nhiều trang

Điều này tương tự như kỹ thuật dùng file CSS cho mọi trang web. Ví dụ đoạn mã Javascript hiển thị quảng cáo dùng cho nhiều trang, nếu bạn viết toàn bộ mã Javascript trong một file rồi khai báo dùng nó ở các trang như sau:



Giống như file CSS, trình duyệt chỉ tải về file này một lần.

3. Dùng AJAX

AJAX là chữ viết tắt của Asynchronous JavaScript And XML, đây là kỹ thuật dùng Javascript và XML để tối ưu việc trao đổi dữ liệu giữa client và server. Giả sử trang web của ban chứa rất nhiều thông tin, trong đó có một phần chứa 2 combobox: Quốc Gia và Thành Phố. Khi bạn chọn một quốc gia trên combobox 1, thì trong combobox 2 các thành phố tương ứng sẽ hiện ra. Theo cách thông thường, khi chọn một quốc gia, thông số của nó sẽ được gửi về server. Tại đây nội dung của trang web được tính toán lại rồi được gửi trả cho client với combobox2 chứa các thành phố của quốc gia được chọn. Như vậy chỉ một phần nhỏ trong trang web thay đổi mà phải tải về toàn bộ trang web và vẽ lại. Với AJAX, sau khi xử lý, server chỉ gửi trả kết quả cho client danh sách các thành phố chứ không phải toàn bộ trang web. Điều này cải thiện rất nhiều tốc độ đáp ứng của trang web.

4. Mạnh dạn bỏ những gì không cần thiết

Bỏ file flash, audio nếu chúng không thực sự cần thiết. Ngoài ra, đối với người lập trình web, việc sử dụng control của HTML thay cho server control của ASP/JSP... cũng giúp giảm được thời gian biên dịch (từ ASP/JSP... sang HTML).

5. Tránh dùng table lồng trong table

Khi bạn viết table lồng trong table, trình duyệt sẽ mất nhiều thời gian hơn để hiển thị trang web. Đây là điều ít người để ý nhất nhưng lại là một kỹ thuật cải thiện tốc độ hiển thị trang web đáng kể nhất. Khi bạn đặt một table bên trong một table, sẽ mất một khoảng thời gian khá dài để trình duyệt web duyệt qua toàn bộ mã lệnh bên trong mỗi table rồi mới làm đến việc trình bày lên màn hình cho người dùng xem. Nếu có thể, bạn hãy sử dụng CSS để tạo ra những dòng và cột cho trang web.

6. Không dùng table bao toàn bộ nội dung trang web

Nếu bạn dùng một table lớn để tạo layout cho trang web như sau:


























Top
Left MenuContentRight Menu
Footer




Trình duyệt sẽ phải tải toàn bộ thông tin của các thành phần trong bảng gồm: Top, LeftMenu, Content... về máy client, rồi xử lý tính toán toàn bộ control, khoảng trắng, hình ảnh... bên trong table. Khi mọi việc đã thực sự hoàn tất, trình duyệt web lúc đó mới hiển thị toàn bộ nội dung bên trong table lên màn hình cùng lúc.

Nếu không dùng table bao toàn bộ nội dung trang web, thì ngoài việc giảm được dung lượng trang web, thời gian xử lý hiển thị tại máy client, nó còn cho phép trình duyệt web hiển thị dần từng phần đã xử lý xong, cho người dùng có một vài thông tin để đọc trước, trong khi chờ những phần khác tiếp tục hiển thị, điều này tạo cho người dùng cảm giác trang web của bạn có tốc độ hiển thị nhanh.

7. Phân trang web thành các trang nhỏ hơn

Thay vì hiển thị toàn bộ thông tin trên 1 trang web, bạn hãy phân trang web thành nhiều mục nhỏ và hiển thị trên nhiều trang khác nhau. Giống như Yahoo Mail, tại mỗi thời điểm, các bạn chỉ có thể xem được tiêu đề của 50 email lên màn hình, để xem danh sách các email khác bạn phải nhấn liên kết next/previous...

Điều này không chỉ giúp tăng tốc độ hiển thị trang web mà trên thực tế, phần lớn người dùng thật sự không thích phải ngồi chờ vài phút để rồi xem một trang web có nội dung khá dài, phải dùng đến scroll bar mới xem được hết toàn bộ nội dung.

8. Xóa các khoảng trắng không cần thiết

Cố gắng xóa tất cả những khoảng trắng không cần thiết trong đoạn mã html. Hãy nhớ là một lần ấn phím space sẽ làm tăng kích thước trang web của bạn lên 1 byte. Việc loại bỏ khoảng trắng này có thể làm bằng tay hoặc dùng công cụ hỗ trợ như HTML code Cleaner (có thể tìm với Google).

9. Dọn dẹp mã chương trình cho sáng sủa

Hãy loại bỏ toàn bộ những thẻ trống như
hay . Điều này không những giúp cải thiện dung lượng trang web, tăng tốc độ hiển thị mà còn giúp cho mã lệnh của bạn trở nên rõ ràng, giúp dễ dàng hiệu chỉnh hoặc nâng cấp.

10. Tối ưu hình ảnh

Hạn chế dùng hình ảnh: Hình ảnh giúp cho trang web của bạn trở nên sống động và lôi cuốn, tuy nhiên hình ảnh cũng chính là một trong những nguyên nhân làm chậm tốc độ hiển thị trang web.

Chỉ định rõ kích thước của hình ảnh: Khi trình duyệt hiển thị hình ảnh của trang web, nó phải biết kích thước của tấm ảnh để có thể chừa khoảng trống trên màn hình cho việc hiển thị tấm ảnh này, và việc hiển thị sẽ theo trình tự từ trên xuống. Nếu bạn không định rõ kích thước của tấm ảnh (ví dụ: ), trình duyệt phải tải tấm ảnh trước để xác định kích thước rồi mới xử lý hiển thị nội dung. Điều này cũng tương tự như việc sử dụng table bao toàn bộ nội dung. Vì vậy nếu được, bạn nên sử dụng khai báo “width”, “height” để chỉ định trước kích cỡ của hình ảnh.

Giảm kích thước hình ảnh: Hãy giảm tối đa kích thước hình ảnh. Đôi khi bạn không cần phải trương lên trang web những hình ảnh có chất lượng thật cao mà có thể dùng thumbnail thay thế. Định dạng GIF/JPG là lựa chọn hàng đầu cho trang web vì kích thước nhỏ.
Ví dụ dùng CSS thay cho table


Trình bày 3 cách hiển thị một form đăng nhập đơn giản:
- Dùng bảng
- Không dùng bảng
- Không dùng bảng và dùng CSS

1. Dùng bảng













Name: 
Email:  
  


Kết quả của đoạn mã lệnh trên sẽ như hình dưới đây


2. Không dùng bảng

Name


E-mail




Kết quả của đoạn mã lệnh trên sẽ như hình dưới đây

3. Dùng CSS
Từ cách 2 ở trên nếu bạn định nghĩa CSS cho đối tượng Label và Submit Input như dưới đây bạn sẽ có kết quả như cách 1 mà không cần sử dụng bảng.
label
{
width: 4em;
float: left;
text-align: right;
margin-right: 0.5em;
display: block
}
.submit input
{
margin-left: 4.5em;
}

Kết quả sau khi định nghĩa CSS cho đối tượng Label và Submit Input

Bây giờ, nếu muốn thêm màu và tạo khung bạn có thể sử dụng tag và như dưới đây:
Khai báo CSS
fieldset
{
border: 1px solid #781351;
width: 20em
}
legend
{
color: #fff;
background: #ffa20c;
border: 1px solid #781351;
padding: 2px 6px
}
Mã HTML

This is my form

Name


E-mail





Tag bên trong tag sẽ tạo ra phần header cho khung bao quanh nội dung form, kết quả sẽ như hình dưới đây.

Trên đây chỉ là các kỹ thuật tối ưu cơ bản cho mã HTML. Hẹn gặp lại các bạn trong các bài viết sau về kỹ thuật tối ưu trang web với mã lệnh cơ sở dữ liệu, VB, C#, JSP...

Bloger Comments
G+ Comments
Comments FaceBook

No comments:

List

Profiles Information


About me : Nothing is 1 vài thứ - 1985

Places I've Lived : I Hà Nội

Home Page : http://www.shimivn.blogspot.com/

Think : 1:1000000000

Languages spoken : Vietnamese,English.

Mobile : sony C2305

dell : i3-Ram 3GB- HDD 250GB .