LỜI CẢM ƠN

Trước khi trình bày nội dung nghiên cứu của luận văn, chúng em xin dành

những dòng đầu tiên để gởi lời cảm ơn chân thành đến:

Cô Huỳnh Thụy Bảo Trân, người đã tận tình hướng dẫn và tạo mọi điều kiện

tốt nhất cho chúng em trong suốt thời gian thực hiện luận văn.

Chúng em xin gởi lời cảm ơn chân thành đến quý Thầy Cô trong Khoa Công

nghệ thông tin, trường Đại học Khoa học Tự nhiên Thành phố Hồ Chí Minh đã

giảng dạy, hướng dẫn và giúp đỡ chúng em thực hiện tốt luận văn này.

Chúng con cũng xin gởi lời cảm ơn sâu sắc đến ba mẹ và gia đình đã luôn

chăm sóc và động viên trong suốt quá trình học tập, nghiên cứu để chúng con có thể

đạt được kết quả như ngày hôm nay.

Và cũng xin chân thành cảm ơn sự giúp đỡ hết sức nhiệt tình của các bạn Hồ

Phạm Thái Vinh, Chu Hoàng Nam, Đặng Xuân Hữu và Nguyễn Quốc Bảo đã hỗ trợ

thiết bị giúp chúng tôi hoàn thành tốt đề tài này.

Tp.Hồ Chí Minh, ngày 12 tháng 6 năm 2005

Nhóm sinh viên thực hiện:

Nguyễn Thanh Phong - Nguyễn Ngọc Phương Vi

MỤC LỤC

LỜI NÓI ĐẦU ...........................................................................................................9 PHẦN I. TÌM HIỂU CÔNG NGHỆ WAP ...........................................................................12 Chương 1. TỔNG QUAN VỀ WAP ...................................................................13 1.1. Giới thiệu.......................................................................................................13 1.2. Kiến trúc ứng dụng WAP..............................................................................14 1.2.1. WAP Client .........................................................................................16 1.2.2. WAP Proxy, WAP Gateway và WAP Server.....................................17 1.3. Ngăn xếp giao thức WAP – WAP Protocol stack.........................................23 1.3.1. Wireless Application Environment – WAE........................................25 1.3.2. Wireless Session Layer – WSP...........................................................26 1.3.3. Wireless Transaction Layer – WTP....................................................27 1.3.3.1. Yêu cầu không tin cậy – Unreliable request................................28 1.3.3.2. Yêu cầu có thể tin cậy – Reliable request....................................28 1.3.3.3. Yêu cầu tin cậy với một thông điệp kết quả ................................29 1.3.4. Wireless Transprot Layer Security – WTLS ......................................30 1.3.5. Wireless Datagram Protocol – WDP ..................................................32 1.4. Vấn đề bảo mật trên WAP ............................................................................32 1.4.1. So sánh các mô hình bảo mật..............................................................32 1.4.1.1. Bảo mật trên Internet ...................................................................32 1.4.1.2. Bảo mật trên WAP.......................................................................34 1.4.2. Vấn đề bảo mật trên WAP ..................................................................37 1.4.2.1. Chứng thực người dùng...............................................................37 1.4.2.2. WAP Gateway .............................................................................38 1.4.2.3. TLS và WTLS .............................................................................39

Chương 2. SỰ PHÁT TRIỂN CỦA CÁC NGÔN NGỮ ĐÁNH DẤU PHỤC VỤ CHO WAP.........................................................................................................43 2.1. Ngôn ngữ đánh dấu (Markup-Language)......................................................43 2.2. WAP và WML ..............................................................................................45 2.3. XHTML cơ sở ...............................................................................................46 2.4. XHTML Mobile Profile ................................................................................47 2.5. WAP CSS......................................................................................................47 2.6. So sánh XHTML với HTML, WML.............................................................49 2.6.1. Sự khác nhau giữa XHTML và HTML ..............................................49 2.6.2. Sự khác nhau giữa XHTML và WML 1.x..........................................51 2.7. Các giao thức chuyển tải WML và XHTML ................................................55 2.8. Cuộc cách mạng của trình duyệt WAP .........................................................57

PHẦN II. CÔNG CỤ TÌM KIẾM...........................................................................................60 SEARCH ENGINE .................................................................................................60 Chương 3. TỔNG QUAN VỀ MÁY TÌM KIẾM..............................................61

- 1 -

3.1. Sơ lược về máy tìm kiếm ..............................................................................61 3.2. Phân loại máy tìm kiếm ................................................................................61 3.2.1. Máy tìm kiếm meta .............................................................................62 3.2.2. Máy tìm kiếm thông thường ...............................................................65 3.2.2.1. Nguyên lý hoạt động của một máy tìm kiếm ..............................65 3.2.2.2. Hệ thống thu thập dữ liệu (robot, spider,crawler…) ...................66 3.2.2.3. Hệ thống phân tích và lập chỉ mục dữ liệu..................................66 3.2.2.4. Hệ thống tìm kiếm (truy vấn dữ liệu)..........................................67 Chương 4. MÁY TÌM KIẾM HỖ TRỢ THIẾT BỊ DI ĐỘNG .......................68 4.1. Tìm hiểu các dịch vụ tìm kiếm hỗ trợ thiết bị di động hiện có.....................68 4.1.1. Google Mobile Search ........................................................................68 4.1.2. Các máy tìm kiếm trên WAP hiện nay ...............................................71 4.2. Chuyển đổi các tài liệu sẵn có từ chuẩn web sang WAP..............................71 4.2.1. Nhu cầu chuyển đổi ............................................................................71 4.2.2. Hoạt động của các bộ chuyển đồi .......................................................73 4.2.3. Điều kiện quyết định khả năng chuyển đổi nội dung một tài liệu ......74 4.2.4. Các ưu điểm ........................................................................................75 4.2.5. Các nhược điểm ..................................................................................76

(cid:190)

PHẦN III. ỨNG DỤNG MINH HỌA ......................................................................................77 Chương 5. PHÂN TÍCH THIẾT KẾ HỆ THỐNG “CÔNG CỤ TÌM KIẾM HỖ TRỢ THIẾT BỊ DI ĐỘNG” ...........................................................................78 5.1. Khảo sát hiện trạng........................................................................................78 5.2. Phân tích và xác định yêu cầu .......................................................................79 5.3. Mô hình hoạt động ........................................................................................81 5.3.1. Mô hình chung ....................................................................................81 5.3.2. Mô hình chi tiết máy tìm kiếm............................................................82 5.4. Mô hình Use-case..........................................................................................82 5.4.1. Xác định Actor và Use-case................................................................82 5.4.2. Mô hình Use-case ...............................................................................83 5.5. Đặc tả Use-case .............................................................................................84 5.5.1. Tìm kiếm .............................................................................................84 5.5.2. Thay đổi thông số hiển thị kết quả tìm kiếm ......................................84 5.5.3. Chuyển đổi nội dung...........................................................................85 5.6. Module Máy tìm kiếm – Search Engine .......................................................86 5.6.1. Phần thu thập dữ liệu ..........................................................................86 Thuật toán duy trì thông tin cho máy tìm kiếm ..................................87 5.6.2. Phần thu thập dữ liệu ..........................................................................89 5.6.2.1. Thiết kế dữ liệu............................................................................91 5.6.2.1.1. Bảng định danh tài liệu .....................................................................91 5.6.2.1.2. Cấu trúc từ điển chỉ mục...................................................................92 5.6.2.1.3. Cấu trúc tập tin chỉ mục nghịch đảo .................................................93 5.7. Module nhận và phân tích query từ người dùng ...........................................96 5.7.1. Mô hình hoạt động ..............................................................................96

- 2 -

5.7.2. Mô hình xử lý......................................................................................98 5.7.3. Mô tả ...................................................................................................98 5.7.4. Mô hình sequence ...............................................................................99 5.8. Module chuyển đổi trang web.....................................................................101 5.8.1. Mô hình hoạt động ............................................................................101 5.8.2. Mô tả .................................................................................................101 5.8.3. Mô hình sequence .............................................................................102 Chương 6. CÀI ĐẶT..........................................................................................104 6.1. Hệ thống cơ sở dữ liệu chỉ mục ..................................................................104 6.2. Module chuyển đổi trang HTML sang trang WAP ....................................105 6.2.1. Các lớp cài đặt chính.........................................................................105 6.2.2. Phần chuyển đổi WAP 1.x – Servlet Html2Wml .............................105 6.2.3. Phần chuyển đổi WAP 2.0 – Servlet Html2Xhml ............................106 6.3. Module nhận và phân tích query từ người dùng .........................................106 6.3.1. Các lớp cài đặt chính.........................................................................106 6.3.2. Phần xử lý detect trình duyệt ............................................................107 6.3.3. Phần xử lý query ...............................................................................108 6.3.4. Phần truy vấn cơ sở dữ liệu tìm kiếm kết quả ..................................108 6.3.5. Giao diện tìm kiếm trên thiết bị di động...........................................109 6.3.5.1. Giao diện cho trình duyệt hỗ trợ WAP 2.0................................109 6.3.5.2. Giao diện cho trình duyệt hỗ trợ WAP 1.x................................111 Chương 7. THỬ NGHIỆM ...............................................................................112 7.1. Thử nghiệm trên các bộ giả lập...................................................................112 7.2. Thử nghiệm trên môi trường thực tế ...........................................................112 Chương 8. TỔNG KẾT .....................................................................................114 8.1. Kết quả đạt được .........................................................................................114 8.2. Hạn chế........................................................................................................115

a) b)

a) b)

PHẦN IV. ĐÁNH GIÁ – HƯỚNG PHÁT TRIỂN ...............................................................116 TÀI LIỆU THAM KHẢO ....................................................................................118 PHỤ LỤC A HƯỚNG TRIỂN KHAI HỆ THỐNG .................................................................119 1. Cơ sở dữ liệu ............................................................................................120 Cài đặt ...............................................................................................120 Đăng ký cơ sở dữ liệu với hệ thống ODBC......................................120 2. Web server................................................................................................123 Cài đặt ...............................................................................................123 Thiết lập server .................................................................................124 3. Kết hợp nối hệ thống thông qua bộ giả lập trình duyệt wap của Nokia...126 4. Đưa trang Web lên internet qua đường truyền ADSL (self-hosting).......127 Đặc điểm ...........................................................................................127 a) b) Nguyên tắc ........................................................................................127 c) Mô hình hoạt động ............................................................................128

- 3 -

d) e) Trình tự kết nối từ bên ngoài ............................................................129 Thiết lập ............................................................................................129

PHỤ LỤC B QUẢN TRỊ HỆ THỐNG MOBILE SEARCH ENGINE ..................................137 1. Trang chủ..................................................................................................138 Cài đặt thiết lập cơ sở dữ liệu Oracle cho hệ thống..........................138 Thêm URL và download các trang web ...........................................140 Kiểm tra thông tin tự điển của hệ thống ...........................................142 a) b) c)

a) b)

PHỤ LỤC C BỘ TOOLKIT CỦA NOKIA...............................................................................145 1. Nokia Mobile Internet Toolkit v4.1 .........................................................146 Giới thiệu ..........................................................................................146 Các chức năng...................................................................................146 2. Nokia WAP Gateway Simulator ..............................................................150 3. Nokia Browser Simulator.........................................................................152

a. b. c. d. e. PHỤ LỤC D BỘ WAP CSS ........................................................................................................154 1. Các vấn đề được kiểm soát bởi các dạng mẫu .........................................157 2. Áp dụng các kiểu định dạng .....................................................................157 Các bảng định dạng bên ngoài ..........................................................158 Phần tử style trong đầu đề tài liệu.....................................................158 Phần tử style trong thân tài liệu ........................................................158 Luật thác nước cho các phần tử mẩu ................................................158 Sử dụng các thuộc tính của XHTML................................................159 3. Những điều cần tránh ...............................................................................162

PHỤ LỤC E CÁC NGUYÊN TẮC THIẾT KẾ........................................................................164 1. Trước khi thiết kế một wapsite.................................................................165 2. Các nguyên tắc chung cho một thiết kế tốt ..............................................165 3. Cần chú ý đến mô hình liên kết................................................................166 4. Thiết kế hệ thống phân cấp trong liên kết ................................................167 5. Nguyên tắc thiết kế cho màn hình nhỏ.....................................................167 6. Đảm bảo các tài liệu phải có kích thước nhỏ ...........................................169 7. Tạo các ứng dụng trên điện thoại di động ................................................170 8. Đảm bảo các tác vụ tiến hành trôi chảy và sử dụng hợp lý các hình ảnh 170 9. Đảm bảo cấu trúc wapsite dễ dùng đối với người mới sử dụng...............171 10. Cung cấp vừa đủ thông tin trên một trang ............................................171 11. Phản ánh được hành động của người dùng...........................................172 12. Hạn chế số lượng và kích thước của màn hình.....................................173 13. Thiết lập các thuộc tính chiều cao và chiều rộng màn hình .................174 14. Sử dụng bảng một cách cẩn thận ..........................................................174 15. Cần cân nhắc các tuỳ chọn ...................................................................175 16. Loại bỏ các khoảng trắng và các ghi chú trong phần code...................175

- 4 -

Sử dụng các chỉ dẫn trong phần tiêu đề HTTP trong việc lưu trang ....175 17. Sử dụng mã Unicode cho các nội dung XHTML.................................176 18. Sử dụng chính xác các kiểu MIME và mã XHTML ............................176 19. 20. Các tiêu đề chỉ dẫn và các nhãn phần tử...............................................177 21. Thực hiện kiểm tra khả năng sử dụng của hệ thống.............................178

PHỤ LỤC F DANH SÁCH CÁC THUẬT NGỮ......................................................................179

- 5 -

DANH SÁCH HÌNH Hình 1.1-1: Sự phát triển của điện thoai di động ......................................................13 Hình 1.2-1: Kiến trúc trên Internet............................................................................15 Hình 1.2-2: WAP được dùng truy cập internet .........................................................15 Hình 1.2-3: WAP được dùng truy cập intranet .........................................................15 Hình 1.2-4: WAP Client............................................................................................16 Hình 1.2-5: Server gốc kết nối trực tiếp với Internet................................................18 Hình 1.2-6: Truy cập Internet thông qua proxy server .............................................18 Hình 1.2-7: Gateway server nằm giữa hai loại mạng khác nhau ..............................19 Hình 1.2-8: Sử dụng WAP proxy/gateway ...............................................................19 Hình 1.2-9: WAP gateway trong mạng không dây...................................................20 Hình 1.2-10: Các bước thực hiện khi tiến hành một phiên giao dịch WAP .............21 Hình 1.2-11: Quá trình bên dịch các yêu cầu tại gateway chuyển đổi giao thức......22 Hình 1.2-12: Mô tả chức năng mã hoá/giải mã của WAP gateway..........................22 Hình 1.3-1: Ngăn xếp WAP 1.x ................................................................................23 Hình 1.3-2: Ngăn xếp WAP 2.0 ................................................................................24 Hình 1.3-3: Sự kế thừa của ngăn xếp WAP từ mô hình OSI ....................................25 Hình 1.3-4: Unreliable request..................................................................................28 Hình 1.3-5: Reliable request .....................................................................................29 Hình 1.3-6: Reliable request với thông điệp kết quả ................................................29 Hình 1.3-7: WAP gateway điều khiển phiên an toàn................................................31 Hình 1.4-1: Mô hình giao tiếp cổ điển trên Internet .................................................33 Hình 1.4-2: Mô hình giao tiếp trên WAP..................................................................35 Hình 1.4-3: Giao thức sử dụng trên Tầng Vận Chuyển của WAP 2.0......................37 Hình 2.1-1: Mối quan hệ giữa các ngôn ngữ đánh dấu.............................................45 Hình 2.5-1: Minh họa tham chiếu bảng định dạng bên ngoài tài liệu.......................48 Hình 2.7-1: Sự truyền tải nội dung WML.................................................................56 Hình 2.7-2: Sự truyền tải nội dung XHTML ............................................................56 Hình 2.7-3: Sự truyền tải phối hợp WML và XHTML.............................................57 Hình 3.2-1: Mô hình hoạt động của máy tìm kiếm...................................................66 Hình 4.1-1: Google Mobile Search ...........................................................................68 Hình 4.1-2: Chức năng tìm kiếm trang web của Google Mobile Search..................69 Hình 4.1-3: Chức năng tìm kiếm hình ảnh của Google Mobile Search....................70 Hình 4.2-1: Lược đồ mô tả quá trình chuyển đổi......................................................73 Hình 5.3-1: Mô hình hoạt động chung......................................................................81 Hình 5.3-2: Mô hình hoạt động chi tiết.....................................................................82 Hình 5.4-1: Mô hình Use-case ..................................................................................83 Hình 5.6-1: Lưu đồ xử lý qui trình thu thập thông tin ..............................................87 Hình 5.6-2: Lưu đồ xử lý qui trình duy trì thông tin cho máy tìm kiếm...................88 Hình 5.6-3: Lưu đồ xử lý qui trình lập chỉ mục ........................................................90 Hình 5.7-1: Mô hình hoạt động module nhận và phân tích query từ người dùng ....97

- 6 -

Hình 5.7-2: Mô hình xử lý quá trình nhận và phân tích query người dùng ..............98 Hình 5.7-3: Quá trình nhận và phân tích query từ người dùng.................................99 Hình 5.7-4: Mô hình sequence ................................................................................100 Hình 5.8-1: Mô hình hoạt động của bộ chuyển đổi ................................................101 Hình 5.8-2: Quá trình chuyển đổi trang web ..........................................................102 Hình 5.8-3: Mô hình sequence của module chuyển đổi trang web.........................103 Hình 6.2-1: Các bước chuyển đổi WAP 1.x ...........................................................105 Hình 6.2-2: Các bước chuyển đổi WAP 2.0 ...........................................................106 Hình 8.2-1: Mô hình hoạt động quá trình cung cấp IP thông qua đường ADSL (selt- hosting)....................................................................................................................128 Hình 8.2-2: Trang web nhà cung cấp dịch vụ DynDNS .........................................130 Hình 8.2-3: Giao diện kết nối thành công vào ADSL modem/router.....................131 Hình 8.2-4: Chọn chức năng cấu hình bảng NAT ..................................................132 Hình 8.2-5: Bảng NAT............................................................................................133 Hình 8.2-6: Đăng ký dịch vụ DNS động với nhà cung cấp dịch vụ .......................134 Hình 8.2-7: Thực hiện unclock các dịch vụ cần thiết .............................................135 Hình 8.2-8: Trang showip.com ...............................................................................136 Hình 8.2-1: Các kiểu định dạng khác nhau trên các trình duyệt khác nhau ...........156 Hình 8.2-2: Thay đổi kiểu bullet sử dụng mẫu .......................................................157

- 7 -

DANH SÁCH BẢNG

Bảng 1.4-1: Một vài điểm khác nhau giữa TLS và WTLS .......................................40 Bảng 2.6-1: Các qui tắc XML có trong XHTML nhưng không có trong HTML.....49 Bảng 2.6-2: Những khác nhau phổ biến giữa XHTML MP với CSS và WML 1.x .55 Bảng 2.8-1: Cuộc cách mạng trình duyệt WAP trên các thế hệ điện thoại di động của Nokia...................................................................................................................58 Bảng 3.2-1: Các công cụ tìm kiếm meta dạng 1 .......................................................63 Bảng 3.2-2: Các công cụ tìm kiếm meta dạng 2 .......................................................64 Bảng 4.1-1: Các máy tìm kiếm hỗ trợ WML và WAP .............................................71 Bảng 5.2-1: Xác định yêu cầu ...................................................................................81 Bảng 5.6-1: Bảng định danh tài liệu .........................................................................91 Bảng 5.6-2: Bảng mục từ ..........................................................................................93 Bảng 5.6-3: Cấu trúc trang cho từng mục từ trong tập tin chỉ mục nghịch đảo........94

- 8 -

LỜI NÓI ĐẦU

Sự phát triển của hệ thống mạng toàn cầu – Internet đã đưa việc tiếp cận

thông tin trở nên dễ dàng hơn bao giờ hết. Với những tiến bộ vượt bậc của các thiết

bị phần cứng cũng như các chuẩn mạng di động hiện nay, việc truy cập thông tin từ

Internet thông qua các thiết bị di động ngày càng phổ biến hơn. Đó là nhờ vào hệ

thống các wapsite đã và đang được phát triển trên nền tảng của công nghệ WAP.

Thậm chí các trang web truyền thống cũng đã có thể được truy cập từ các điện thoại

di động thông minh có hỗ trợ chuẩn HTTP hoặc các chuẩn WAP mới nhất hiện nay.

Nhưng với lượng thông tin khổng lồ từ Internet, hiện nay vẫn chưa có nhiều

dịch vụ tìm kiếm hỗ trợ cho người dùng truy cập từ thiết bị cầm tay – vốn có những

hạn chế về khả năng xử lý, hiển thị đồ họa và băng thông mạng thấp. Đến tháng

6/2005, Google chính thức tham gia thị trường dịch vụ tìm kiếm hỗ trợ cho các thiết

bị di động có tích hợp thêm chức năng tìm kiếm hình ảnh và các trang web, dấy lên

sự cạnh tranh với một số ít các dịch vụ tìm kiếm khác hiện có.

Một thực trạng khác cũng đặt ra nhiều khó khăn đó là phần lớn thông tin, tài

liệu lưu hành trên Internet chỉ có thể hiển thị bằng máy tính desktop. Và vấn đề là

làm sao tận dụng được những thông tin có sẵn dưới dạng các trang web truyền

thống để có thể hiển thị trên điện thoại di động, những thiết bị vốn rất hạn chế về bộ

nhớ, khả năng xử lý và đặc biệt là khả năng hiển thị đồ họa.

Xuất phát từ những vấn đề trên chúng em đã thực hiện đề tài “TÌM HIỂU

WAP VÀ CÔNG CỤ TÌM KIẾM HỖ TRỢ THIẾT BỊ DI ĐỘNG”. Mục tiêu

của đề tài là tìm hiểu về công nghệ WAP và các công nghệ bổ trợ, tìm hiểu cấu trúc

của máy tìm kiếm và xây dựng thử nghiệm một hệ thống tìm kiếm hỗ trợ cho thiết

bị di động.

- 9 -

Nội dung của đề tài được chia làm 4 phần gồm 8 chương:

Phần I. TÌM HIỂU CÔNG NGHỆ WAP

Chương 1. Tồng quan về WAP : giới thiệu tổng quan công nghệ WAP về

kiến trúc cũng như ứng dụng.

Chương 2. Sự phát triển của các ngôn ngữ đánh dấu phục vụ cho WAP: giới

thiệu các bước phát triển của các ngôn ngữ đánh dấu và so sánh đặc điểm các ngôn

ngữ phục vụ cho công nghệ không dây. Đồng thời tìm hiểu xu hướng mới của các

trình duyệt WAP hỗ trợ các ngôn ngữ này.

PHẦN II. CÔNG CỤ TÌM KIẾM – SEARCH ENGINE

Chương 3. Tổng quan về máy tìm kiếm: giới thiệu tổng quan về kiến trúc

máy tìm kiếm, tìm hiểu các máy tìm kiếm phổ biến hiện nay.

Chương 4. Máy tìm kiếm hỗ trợ thiết bị di động: tìm hiều các máy tìm kiếm

hiện có hỗ trợ các thiết bị di động, các vấn đề liện quan về việc tận dụng và chuyển

đổi những nội dung sẵn có trên web.

PHẦN III. ỨNG DỤNG MINH HỌA

Chương 5. Phân tích thiết kế hệ thống “Máy tìm kiếm hỗ trợ thiết bị di

động”: phân tích, thiết kế các chức năng của chương trình, các mô hình, lưu đồ và

các vấn đề liên quan đến việc xây dựng ứng dụng.

Chương 6. Cài đặt: Giới thiệu môi trường phát triển và cài đặt ứng dụng,

đồng thời thực hiện phân tích một số vấn đề về cài đặt chương trình về chức năng

xử lý cũng như thể hiện.

Chương 7. Thử nghiệm: Kết quả thực hiện trên bộ giả lập và trên môi trường

thực tế.

Chương 8. Trình bày kết quả đạt được cũng như các vấn đề còn hạn chế.

PHẦN IV. ĐÁNH GIÁ – HƯỚNG PHÁT TRIỂN

- 10 -

Thực hiện đánh giá những kết quả mà đề tài đã đạt được, đồng thời đưa ra

hướng phát triển trong tương lai cho đề tài và ứng dụng.

- 11 -

PHẦN I.

TÌM HIỂU CÔNG NGHỆ WAP

- 12 -

Chương 1. TỔNG QUAN VỀ WAP

1.1. Giới thiệu

Trong những năm gần đây, khái niệm về thông tin di động rất được mọi

người ưu chuộng, người ta quan tâm ngày càng nhiều hơn đến các thiết bị nhỏ gọn

với tốc độ xử lý nhanh.

Đồ thị bên dưới đây được trích từ bài báo có tên WAP Market Strategies của

Ovum (http://www.ovum.com)[7]. Bài báo này đã so sánh và dự đoán sự phát

triển của các thế hệ điện thoại di động nói chung, các thế hệ điện thoai di động hỗ

trợ Internet, và các loại điện thoại di động hỗ trợ Internet hiện đang được dùng để

truy cập thông tin:

Hình 1.1-1: Sự phát triển của điện thoai di động

- 13 -

Chính nhu cầu truy cập thông tin từ các thiết bị di động đã mở đường cho các

công nghệ không dây phát triển mạnh mẽ. Wireless Application Protocol (WAP) là

một dạng đặc tả theo chuẩn công nghiệp mở cho các ứng dụng thực thi trên môi

trường mạng không dây, chú trọng vào các ứng dụng trên thiết bị di động, đặc biệt

là điện thoại di động. Các tiêu chuẩn này được đưa ra bởi WAP Forum, nhóm này

hình thành vào tháng 6 năm 1997 bởi Ericsson, Nokia, Motorola, và Unwired

Planet, và hiện tại đã được hàng trăm công ty khác tham gia, bao gồm IBM, Hewlett

Packard, Visa, và Microsoft. Theo thống kê chính thức của WAP Forum, những

thành viên thuộc WAP Forum là đại diện cho trên 90% nhà sản xuất điện thoại di

động trên toàn thế giới.

WAP đã và sẽ được hỗ trợ trên nhiều loại thiết bị, từ đơn giản như điện thoại

di động thông thường cho đến những thiết bị thế hệ mới - các điện thoại “thông

minh” với màn hình rộng có thể chạy được nhiều ứng dụng; thậm chí là những máy

trợ lý cá nhân kỹ thuật số (PDA), các palmtop hay các máy tính với kích thước nhỏ

gọn. Tất cả các thiết bị di động rồi sẽ được áp dụng công nghệ WAP, trực tiếp từ

nhà sản xuất hay là từ phiên bản nâng cấp nào đó thuộc nhóm các công ty thứ ba

(third-party). Mỗi một thiết bị có một cách hiển thị khác nhau và các phương pháp

nhập liệu khác nhau. Công việc của công nghệ WAP là sắp xếp lại “mớ hỗn độn” đó

và cung cấp một khung làm việc (framework) chung cho phép các ứng dụng chạy

được trên cả tất hệ nền khác nhau này.

1.2. Kiến trúc ứng dụng WAP

Các giao thức WAP được thiết kế trên nền của các giao thức web. Mục đích

của WAP là sử dụng lại cấu trúc cơ sở của web, để từ đó nâng cao quá trình giao

tiếp giữa nhà cung cấp và các thiết bị di động, giúp quá trình này trở nên hiệu quả

và tốn ít thời gian hơn là sử dụng chính các giao thức web.

Do kiến trúc của WAP được thiết kế gần giống với Web, nên nó cũng kế

thừa mô hình client-server được dùng trên Internet của Web. Điểm khác nhau chính

đó là sư có mặt của WAP gateway dùng cho việc chuyển đổi giữa HTTP và WAP.

- 14 -

Hình 1.2-1: Kiến trúc trên Internet

Hình 1.2-2: WAP được dùng truy cập internet

Hình 1.2-3: WAP được dùng truy cập intranet

- 15 -

Để truy cập vào một ứng dụng trên server, client khởi tạo một nối kết với

WAP gateway và gởi đi yêu cầu của mình. Gateway sẽ chuyển đổi những yêu cầu

này sang định dạng được dùng trên Internet (HTTP), và sau đó chuyển chúng đến

server cung cấp dịch vụ. Nội dung trả về được gởi từ server đến gateway, tại đây nó

sẽ được chuyển sang định dạng WAP, để sau đó gởi về cho thiết bị di động. Như

vậy, gateway đã giúp Internet có thể giao tiếp với môi trường mạng không dây [9].

1.2.1. WAP Client

Các đặc tả WAP cho phép những nhà sản xuất di động có nhiều lựa chọn cho

riêng mình. Nó không bắt buộc thiết bị WAP phải trông như thế nào hay sẽ hiển thị

nội dung nhận được từ Internet ra sao, mà nó gắn liền với giao diện người dùng với

tổ chức bên trong của chức năng điện thoại [9].

Yêu cầu duy nhất cho một thiết bị hỗ trợ WAP đó là nó phải cung cấp một

tác nhân người dùng WAE (WAE User Agent), một tác nhân người dùng WTA

(WTA User Agent) và ngăn xếp WAP (WAP Stack).

Hình 1.2-4: WAP Client

- 16 -

(cid:131) WAE User Agent (Wireless Application Environment User Agent) là

một loại trình duyệt nhỏ (microbrowser) thực hiện hoàn trả nội dung phục

vụ việc hiển thị. Nó nhận vào WML, WML Script đã được biên dịch và

các hình ảnh từ WAP gateway, sau đó xử lý hoặc hiển thị chúng lên màn

hình. WAE User Agent cũng quản lý việc giao tiếp với người dùng,

chẳng hạn như nhập liệu văn bản, thông báo lỗi hay các thông điệp cảnh

báo khác.

(cid:131) WTA User Agent (Wireless Telephony Application User Agent) nhận

các tập tin WTA được biên dịch từ WTA server và thực thi chúng. WTA

User Agent bao gồm việc truy cập vào giao diện điện thoại và các chức

năng mạng như quay số, trả lời cuộc gọi, tổ chức phonebook, quản lý

thông điệp và các dịch vụ định vị.

(cid:131) WAP Stack cho phép điện thoại nối kết với WAP gateway sử dụng các

giao thức WAP.

Các khái niệm này sẽ được mô tả chi tiết hơn trong phần sau.

1.2.2. WAP Proxy, WAP Gateway và WAP Server

Ba thuật ngữ này rất thường được sử dụng thay thế cho nhau. Thế nhưng,

trong môi trường mạng thì chúng lại hoàn toàn khác nhau với những chức năng

cũng khác nhau:

(cid:131) Server nội dung/gốc/ứng dụng: đây là phần tử trong mạng chứa thông tin

hoặc các ứng dụng web/WAP.

(cid:131) Proxy: là một phần tử trung gian, hoạt động cả như client lẫn server trên

mạng. Nó nằm giữa các client và các server gốc (origin server); các client

gởi yêu cầu đến cho proxy, nó sẽ truy xuất và lưu trữ thông tin cần thiết

bằng cách giao tiếp với trình duyệt gốc.

(cid:131) Gateway: đây là một thành phần trung gian thường được dùng để nối kết

hai loại mạng khác nhau. Nó nhận yêu cầu trực tiếp từ các client như thể

- 17 -

nó chính là một server gốc mà client muốn truy xuất thông tin. Các client

này thông thường không nhận ra rằng mình đang giao tiếp với gateway.

Ba thuật ngữ này được minh họa trong các hình vẽ sau đây:

Hình 1.2-5: Server gốc kết nối trực tiếp với Internet

Hình 1.2-6: Truy cập Internet thông qua proxy server

- 18 -

Hình 1.2-7: Gateway server nằm giữa hai loại mạng khác nhau

Trong kiến trúc WAP, một WAP gateway thật ra là một proxy. Nó được

dùng để nối một vùng mạng không dây (wireless domain) với mạng Internet. Tuy

nhiên, nó có thêm chức năng của gateway chuyển đổi giao thức (protocol gateway)

và chức năng mã hoá/giải mã.

Hình 1.2-8 mô tả việc sử dụng một WAP proxy/gateway:

Hình 1.2-8: Sử dụng WAP proxy/gateway

Còn ở Hình 1.2-9 là một WAP gateway cùng với các phần tử khác trong

mạng không dây. Nó mô tả cách mà một WAP gateway cộng tác và giao tiếp với

tất cả các phần tử khác để cung cấp một dịch vụ phù hợp:

- 19 -

Hình 1.2-9: WAP gateway trong mạng không dây

- 20 -

Mỗi khi bắt đầu một phiên WAP (WAP session) trên điện thoại di động

chúng ta đều phải thức hiện theo các bước như sau:

Hình 1.2-10: Các bước thực hiện khi tiến hành một phiên giao dịch WAP

- 21 -

Hình 1.2-11: Quá trình bên dịch các yêu cầu tại gateway chuyển đổi giao thức

Hình 1.2-10 mô tả quá trình biên dịch tại gateway chuyển đổi giao thức các

yêu cầu được gởi và nhận về giữa thiết bị di động và mạng Internet.

Chức năng mã hoá/giải mã (CODEC) bên trong gateway được dùng để

chuyển đổi nội dung dạng WML và WML Script thành một dạng phù hợp với các

mạng có băng thông thấp (thường ở dạng nhị phân). Quá trình này được mô tả trong

Hình 1.2-11 dưới đây.

Hình 1.2-12: Mô tả chức năng mã hoá/giải mã của WAP gateway

Một dịch vụ khác mà chức năng CODEC có thể cung cấp là biên dịch HTML

hay văn bản thành WML/XTHML. Tuy nhiên, việc sử dụng gateway như thế này

còn rất nhiều giới hạn. Mặc dù HTML và WML/XHTML đều được xây dựng dựa

trên các nhưng HTML lại cho phép hiển thị các nội dung động cũng như các dạng

dữ liệu đa truyền thông (multimedia) như hình ảnh, âm thanh, đồ họa, hay các cấu

trúc phức tạp như các khung, các bảng lồng nhau...do đó với những giới hạn của

- 22 -

thiết bị di động (bộ nhớ nhỏ, băng thông thấp, độ trễ cao) thì việc chuyển đổi đơn

thuần sẽ gây không ít khó khăn cho việc hiển thị.

1.3. Ngăn xếp giao thức WAP – WAP Protocol stack

Có hai phiên bản WAP đang được sử dụng hiện nay đó là WAP 1.x và WAP 2.0 [8].

Hình 1.3-1: Ngăn xếp WAP 1.x

- 23 -

Hình 1.3-2: Ngăn xếp WAP 2.0

Ngăn xếp WAP bao gồm 5 tầng khác nhau:

(cid:131) Tầng ứng dụng (Application Layer): WAE (Wireless Application

Environment) cung cấp một môi trường ứng dụng với mục đích phát triển

và thực thi các ứng dụng cũng như dịch vụ di động.

(cid:131) Tầng phiên (Session Layer): WSP (Wireless Session Protocol) cung cấp

các phương thức hỗ trợ việc trao đổi thông tin một cách có tổ chức giữa

các ứng dụng dạng client/server.

(cid:131) Tầng tác vụ (Transaction Layer): WTP (Wireless Transaction Protocol)

cung cấp các phương thức khác nhau cho việc thực hiện các giao tác.

(cid:131) Tầng an ninh (Security Layer): WTLS (Wireless Transport Security

Layer) là tầng tùy chọn hỗ trợ tính bảo mật cho nối kết giữa các ứng

dụng.

(cid:131) Tầng vận chuyển (Transport Layer): WDP (Wireless Datagram

Protocol) là tầng dưới cùng của ngăn xếp WAP, nó được xem là chỗ dựa

cho các tầng bên trên.

Hình 1.3-3 cho thấy sự kế thừa của ngăn xếp WAP từ mô hình OSI:

- 24 -

Hình 1.3-3: Sự kế thừa của ngăn xếp WAP từ mô hình OSI

Cả hai tầng ứng dụng trong mô hình web và WAP đều cung cấp một ngôn

ngữ đánh dấu và một ngôn ngữ điều khiển (scripting language) riêng cho việc phát

triển các ứng dụng. Trong mô hình web, Tầng Phiên và Tầng Tác Vụ được kết hợp

lại vào cùng một tầng đó là HTTP, trong khi chúng là hai thực thể riêng biệt trong

ngăn xếp WAP (WSP và WTP). Tầng Vận Chuyển (WDP) và Tầng An Ninh

(WTLS) được xếp trực tiếp lên các tầng TCP/UDP và TLS/SSL trên web.

Sau đây chúng ta sẽ xét đến từng thành phần trong ngăn xếp của WAP[9]:

1.3.1. Wireless Application Environment – WAE

Tầng ứng dụng của WAP (WAE) cung cấp tất cả các thành phần liên quan

đến việc phát triển và thực thi ứng dụng. WAE cho phép những nhà phát triển có

- 25 -

thể sử dụng các định dạng và dịch vụ riêng biệt để tạo ra hoặc tuỳ biến việc hiển thị

nội dung và tương tác với các thiết bị di động vốn có nhiều giới hạn. WAE gồm có

hai tác nhân người dùng khác nhau được đặt ở phía client đó là: tác nhân người

dùng WAE (WAE user agent) – bao gồm trình duyệt (microbrowser) và trình soạn

thảo thông điệp dạng văn bản – và tác nhân người dùng WTA (WTA user agent).

(WTA sẽ được đề cập chi tiết hơn trong phần 1.3).

1.3.2. Wireless Session Layer – WSP

Wireless Session Protocol cho phép các dịch vụ trao đổi dữ liệu với các ứng

dụng theo một cách có tổ chức. Nó bao gồm hai giao thức khác nhau:

(cid:131) Dịch vụ phiên hướng kết nối (Connection oriented session services) –

hoạt động nhờ vào Wireless Transaction Protocol (WTP)

(cid:131) Dịch vụ phiên phi kết nối (Connectionless session services) – hoạt

động trực tiếp trên Wireless Transport layer (WDP)

Các dịch vụ phiên (session service) là những chức năng giúp cho việc thiết

lập kết nối giữa một client và một server. Dịch vụ này được phân phối thông qua

việc dùng các ‘primitives’ mà nó cung cấp.

Primitives là các thông điệp được định nghĩa mà một client dùng để gởi cho

server yêu cầu dịch vụ. Chẳng hạn như trong WSP, một trong những primitives là

SConnect, với nó chúng ta có thể yêu cầu việc tạo lập một nối kết với server.

Dịch vụ phiên hướng kết nối (Connection-oriented session service) cung

cấp khả năng quản lý một phiên làm việc và vận chuyển dữ liệu tin cậy giữa client

và server. Phiên làm việc tạo ra có thể được hoãn lại và phục hồi sau đó nếu như

việc truyền tải dữ liệu không thể thực hiện được. Trong kỹ thuật push, dữ liệu

không mong muốn có thể được gởi đi từ server đến client theo hai cách: được xác

nhận hoặc là không được xác nhận.

(cid:131) Trường hợp được xác nhận (confirmed push), client sẽ thông báo cho

server khi nhận được dữ liệu.

- 26 -

(cid:131) Trường hợp không được xác nhận (unconfirmed push) server không

được thông báo khi dữ liệu push được nhận.

Phần lớn các chức năng được cung cấp bởi dịch vụ phiên hướng kết nối

(connection-oriented session service) đều được xác nhận: client gởi các thông điệp

yêu cầu (Request primitive) và nhận lại thông điệp xác nhận (Confirm primitive),

server gởi các thông điệp phản hồi (Response primintive) và nhận lại các thông điệp

chỉ dẫn (Indication primitive).

Dịch vụ phiên phi kết nối (Connectionless session service) chỉ cung cấp các

dịch vụ không được xác nhận (non-confirmed services). Trong trường hợp này các

client có thể chỉ sử dụng thông điệp yêu cầu (Request primitive) và các server cũng

chỉ có thể dùng thông điệp chỉ dẫn (Indication primitive).

Để bắt đầu một phiên làm việc mới, client yêu cầu một WSP primitive cung

cấp một số tham số như địa chỉ server, địa chỉ client và các client header. Các tham

số này có thể được liên kết với các tiêu đề HTTP của client, và có thể được server

dùng để nhận ra loại tác vụ người dùng bên trong WAP client (có thể là phiên bản

và loại của trình duyệt). Điều này có ích khi ta muốn định dạng lại phần đầu ra khác

đi, tuỳ thuộc vào loại thiết bị ở phía client. Chẳng hạn như một điện thoại có thể có

một màn hình hiển thị chứa được 20 ký tự; nhưng thiết bị khác thì lại chỉ hiển thị

được 16 ký tự.

WSP về cơ bản đó chính là một dạng nhị phân của HTTP. WSP cung cấp tất

cả các phương thức được định nghĩa bởi HTTP/1.1 và cho phép đàm phán nhằm đạt

được sự tương thích với chuẩn HTTP/1.1 này.

1.3.3. Wireless Transaction Layer – WTP

Wireless Transaction Protocol cung cấp các dịch vụ nhằm thực hiện các giao

tác tin cậy và không tin cậy, nó làm việc trên tầng WDP hay tầng an ninh WTLS.

Cũng như tất cả các tầng khác trong WAP, WTP được tối ưu cho phù hợp với băng

- 27 -

thông nhỏ của giao tiếp trên sóng vô tuyến, cố gắng giảm số lượng các giao tác thực

hiện lại giữa client và server.

Cụ thể, có ba lớp khác nhau của các dịch vụ giao tác cung cấp cho các tầng

bên trên là:

(cid:131) Các yêu cầu không tin cậy – Unreliable requests

(cid:131) Các yêu cầu có thể tin cậy – Reliable requests

(cid:131) Các yêu cầu tin cậy với một thông điệp kết quả

1.3.3.1. Yêu cầu không tin cậy – Unreliable request

Trình khởi đầu (Initiator) (trong trường hợp này là một server chứa nội dung

– content server) gởi yêu cầu đến trình đáp ứng (Responder) (tác nhân người dùng),

và không có một thông điệp xác nhận nào được gởi trả về. Giao tác này không có

trạng thái và kết thúc ngay thông điệp yêu cầu được gởi đi:

Hình 1.3-4: Unreliable request

1.3.3.2. Yêu cầu có thể tin cậy – Reliable request

Trình khởi đầu gởi một yêu cầu đến cho trình đáp ứng, trình này sẽ trả lời lại

khi nhận được yêu cầu. Trình đáp ứng lưu trữ thông tin trạng thái của giao tác trong

một thời gian để nó các thể gởi lại thông điệp xác nhận (acknowledgement

- 28 -

message) nếu như server có yêu cầu lại lần nữa. Giao tác kết thúc tại trình khởi đầu

khi trình này nhận được thông điệp xác nhận:

Hình 1.3-5: Reliable request

1.3.3.3. Yêu cầu tin cậy với một thông điệp kết quả

Trình khởi đầu gởi yêu cầu đến cho trình đáp ứng, khi nhận được yêu cầu

trình này sẽ gởi trả lại một thông điệp kết quả. Trình khởi đầu nhận thông điệp này,

duy trì thông tin trạng thái của giao tác trong một thời gian sau khi xác nhận được

gởi đi, phòng trường hợp thông báo gởi đi không đến được đích. Giao tác kết thúc

tại trình đáp ứng khi nó nhận được thông điệp xác nhận.

Hình 1.3-6: Reliable request với thông điệp kết quả

- 29 -

1.3.4. Wireless Transprot Layer Security – WTLS

WTLS được cung cấp bởi WAP Forum, đây là một giải pháp cho vấn đề bảo

mật trên WAP. WTLS là một tầng tùy chọn hoạt động trên tầng vận chuyển (WDP),

và được xây dựng dựa trên hai giao thức Internet đó là TLS (Transport Layer

Security) v1.0, tầng này cũng dựa trên một tầng khác đó là SSL (Secure Sockets

Layer) v3.0.

WTLS cũng có cùng các đặc điểm cơ bản như tất cả các tầng trước đây trong

ngăn xếp WAP: nó là điều chỉnh của một giao thức Internet cho phù hợp với điều

kiện độ trễ cao, băng thông thấp, cùng với bộ nhớ và khả năng xử lý giới hạn của

các thiết bị WAP. WTLS cũng cố gắng giảm bớt chi phí liên quan đến việc thiết lập

một kết nối an toàn giữa hai ứng dụng. WTLS cung cấp cùng một mức độ bảo mật

như ở SSL 3.0 nhưng giảm đi khoảng thời gian giao tác. Các dịch vụ mà nó cung

cấp là:

(cid:131) Tính bảo mật (Privacy) bảo đảm dữ liệu gởi đi giữa server và client

không thể được truy cập từ bất kỳ người nào khác. Không ai có thể giải

mã thông điệp cho dù họ có thể nhìn thấy các thông điệp này ở dạng đã

được mã hóa.

(cid:131) Định danh server đảm bảo một server thật sự.

(cid:131) Định danh client giúp server gốc giới hạn khả năng truy cập đến những

nội dung mà nó cung cấp. Xác định chỉ một số client nào đó mới có thể

truy cập vào những trang nào đó cho phép mà thôi.

(cid:131) Bảo toàn dữ liệu sẽ đảm bảo nội dung dữ liệu trên đường truyền giữa

server và client sẽ không bị chỉnh sửa mà không được thông báo.

Hình 1.3-7 dưới đây mô tả cách WAP gateway điều khiển các phiên làm việc

an toàn. Một phiên SSL chuẩn được mở ra giữa web server và WAP gateway và

một phiên WTLS được khởi tạo giữa gateway và thiết bị di động. Nội dung mã hóa

- 30 -

được gởi đi thông qua nối kết này từ server đến gateway, gateway biên dịch và gởi

nó đến cho điện thoại di động.

Hình 1.3-7: WAP gateway điều khiển phiên an toàn

Sau đó WTLS giao quyền lại cho giao thức SSL làm việc trên Internet.

Việc chuyển đổi giữa SSL và WTLS thực hiện bên trong bộ nhớ của WAP

gateway. Điều quan trọng là các thông tin không được mã hóa sẽ không được lưu

trữ bên trong gateway, vì như thế sẽ làm mất tác dụng tất cả các phương áp bảo mật

được dùng để bảo vệ dữ liệu lưu trữ với những người không được định danh.

Mặc dù các WAP gateway được cung cấp nhiều chức năng để bảo đảm ở cấp

an toàn cao nhất, thế nhưng vẫn còn nhiều vấn đề liên quan đến giải pháp an toàn

cho WAP.

WTLS là một tầng tùy chọn trong ngăn xếp WAP. Điều này có nghĩa là cơ

chế bảo mật trong WAP chỉ có giá trị khi được yêu cầu và không được xây dựng

như là một chức năng trong kiến trúc WAP. Do đó, thông tin lưu chuyển đến và đi

qua WAP gateway thường không được mã hoá, trừ phi chúng ta dùng các kết nối

SSL để giao tiếp giữa các server gốc và gateway.

- 31 -

1.3.5. Wireless Datagram Protocol – WDP

WDP là lớp dưới cùng trong ngăn xếp WAP và là một trong những phần tử

làm cho WAP trở thành một giao thức cực kỳ di động, có thể thực thi trên nhiều loại

mạng di động khác nhau. WDP che chở các tầng bên trên nhờ vào các dịch vụ nền

mà mạng cung cấp. Các dịch vụ nền bao gồm: SMS, CSD, USSD, DECT, và

CDMA.

1.4. Vấn đề bảo mật trên WAP

Bảo mật luôn là vấn đề được nhiều rất người quan tâm. Tuy nhiên, phạm vi

đề tài này không cho phép thực hiện một tìm hiểu hoàn chỉnh về vấn đề bảo mật cho

các ứng dụng mạng không dây. Thay vào đó là thực hiện việc so sánh vấn đề bảo

mật trong môi trường WAP với một môi trường khá quen thuộc đó là Internet [9].

1.4.1. So sánh các mô hình bảo mật

1.4.1.1. Bảo mật trên Internet

- 32 -

Hình 1.4-1: Mô hình giao tiếp cổ điển trên Internet

Trong Hình 1.4-1, giả sử thiết bị ở phía client là một PC được kết nối với

Internet thông qua một ISP dùng modem và giao thức PPP (point-to-point protocol).

Người dùng được ISP định danh trước khi cho phép sử dụng mạng do mình

cung cấp. Các giao thức định danh này thực hiện bằng cách sử dụng tên và mật

khẩu mà người dùng cung cấp.

Khi việc định danh hoàn tất, thiết bị ở phía client được cung cấp một địa chỉ

IP, và đăng ký địa chỉ này với ISP. Tiếp theo, RAS server sẽ đóng vai trò như là

một proxy đối với thiết bị client, thực hiện gởi đi các gói IP nhận được từ client và

thu thập các gói tin gởi thẳng đến server và chuyển tiếp chúng thông qua nối kết

PPP.

Mạng của ISP sẽ kết nối với mạng trục Internet (Internet backbone) thông

qua một router hoặc là một gateway. Đồng thời với sự có mặt của bức tường lửa

- 33 -

(firewall), nó sẽ bảo vệ mạng của ISP với những những lưu chuyển bên ngoài mạng

Internet (bức tường lửa có thể nằm độc lập hoặc tính hợp ngay vào trong router).

Khi ra được bên ngoài Internet, dữ liệu sẽ đi qua nhiều mạng chuyển mạch

(circuit-switched) và chuyển gói (packet-switched), lưu chuyển từ router này qua

router khác trước khi đi đến đích.

Phương thức bảo mật phổ biến nhất được dùng để bảo vệ đó là giao thức

TLS (Transport Layer Security), trước đây là SSL (Secure Sockets Layer). Đây là

một giao thức ở tầng vận chuyển.

Khi client yêu cầu một phiên làm việc an toàn với server, các tham số của

phiên sẽ được trao đổi giữa client và server trước khi phiên làm việc an toàn được

thiết lập giữa chúng. Tất cả các giao tiếp giữa client và server đều được mã hóa

bằng các thuật toán và khóa được trao đổi như là một phần của việc thiết lập phiên

làm việc. Mặc dù kẻ nghe trộm có thể sẽ chặn được các gói tin thiết lập phiên,

nhưng với sự có mặt của khóa đủ để đảm bảo rằng phiên làm việc không bị ảnh

hưởng. Điều này đạt được là do các khóa phiên được hình thành nhờ vào sự phối

hợp của các khóa chung và riêng (public key, private key) lại với nhau. Như vậy, để

có được khóa của phiên giao dịch, kẻ nghe trộm phải sở hữu một trong số các khoá

riêng này.

TLS cung cấp các giao tiếp an toàn dạng end-to-end giữa client và server.

Với hướng giao tiếp này, tất cả dữ liệu được mã hóa và không thể được giải mã bởi

bất kỳ trạm trung gian nào giữa client và server.

1.4.1.2. Bảo mật trên WAP

Cũng giống như Internet, bảo mật được thực hiện ngay trên Tầng Vận

Chuyển: mô hình trên mạng Internet thực thi phần lớn các chức năng bảo mật của

mình trong TLS, còn WAP thì thực hiện phần lớn trong WTLS (WTLS dựa trên nền

của TLS).

- 34 -

Hình 1.4-2: Mô hình giao tiếp trên WAP

Trong mô hình này, nối kết được thiết lập thông qua điện thoại di động,

nhưng lúc này kết nối được quản lý bởi người điều khiển mạng chứ không phải từ

ISP. Khi điện thoại thực hiện cuộc gọi, tín hiệu sẽ được truyền đến cho người quản

lý, nó thực hiện việc tìm đường đi thông qua một trong những modem của mình và

nối kết với RAS server cũng giống như trong mô hình mạng Internet.

RAS server cũng sẽ thực hiện việc định danh, nhưng một khi gói tin đi qua

RAS server thì mọi thứ bắt đầu khác đi. Thay vì tìm đường trên Internet đến web

server, dữ liệu được định tuyến đến WAP gateway. Tại đây, dữ liệu sẽ được biên

dịch thành dạng nhị phân (nếu cần), sau đó được chuyển đi trong không khí.

Gateway cũng hoạt động như là một proxy đối với điện thoại, việc giao tiếp với web

server được thực hiện thông qua các giao thức HTTP 1.1. Web server không quan

- 35 -

tâm rằng mình đang giao tiếp với một WAP gateway, nó xem gateway đơn giản như

là một thiết bị client khác.

Web server có thể nằm ngay bên trong mạng, hay cũng có thể thuộc một tổ

chức bên ngoài khác. WAP gateway sẽ gởi các gói tin HTTP của mình qua bức

tường lửa đến với web server thuộc mạng cần đến.

Nếu như WAP gateway hoạt động như là một proxy đối với điện thoại di

động và sử dụng các giao thức HTTP 1.1 thông thường thì không có lý do gì TLS

không được dùng đến để đảm bảo an toàn cho tất cả các giao tiếp giữa WAP

gateway và web server, giống như trên Internet. Nhưng với hai chuẩn WAP đang

được áp dụng hiện nay – WAP 1.x và WAP 2.0 – thì các giao thức được dùng cho

việc bảo mật khác nhau:

(cid:131) WAP 1.x: do TLS đòi hỏi một truyền tải tin cậy – thường là TCP – còn

điện thoại thì lại không sử dụng TCP để giao tiếp với WAP gateway nên

TLS không thể dùng để bảo mật các giao tiếp giữa điện thoại di động và

WAP gateway. Thay vào đó là sử dụng một giao thức mới có tên là

WTLS (có khả năng hoạt động trên WDP và UDP). Giao thức này được

phát triển dựa trên TLS và cung cấp cùng một mức bảo mật giống như

trong TLS.

Như vậy, hệ thống phải sử dụng hai cơ chế bảo mật: một được đặt từ thiết

bị đến WAP gateway, một thì từ gateway đến web server. Điều này có

nghĩa là phải có một sử chuyển đổi từ WTLS sang TLS tại gateway.

(cid:131) WAP 2.0: do kiến trúc của ngăn xếp WAP 2.0 gần giống với kiến trúc

trên web, giao thức được sử dụng trên Tầng vận chuyển là wTCP/IP

(Wireless Profile TCP/IP). wTCP/IP được tối ưu hóa từ TCP/IP nhằm

vào mục đích phục vụ cho hoạt động trên mội trường di động, giao thức

này có thể phối hợp tốt giữa hai môi trường mạng đó là: di động và mạng

Internet [8].

- 36 -

Hình 1.4-3: Giao thức sử dụng trên Tầng Vận Chuyển của WAP 2.0

Do đó, cơ chế bảo mật được dùng trong WAP 2.0 cũng chính là TLS như

trên môi trường web.

1.4.2. Vấn đề bảo mật trên WAP

So sánh trên đây cho thấy mô hình giao tiếp trên môi trường không dây cũng

tương tự với mô hình giao tiếp trên Internet. Tuy nhiên, có hai điểm trên WAP mà

ta cần quan tâm đó là: sự hiện của WAP gateway và vấn đề chứng thực người dùng

[9].

1.4.2.1. Chứng thực người dùng

Khi muốn nối kết với ISP thì chúng ta cần phải cung cấp ID và mật khẩu

người dùng để ISP thực hiện việc chứng thực. Hầu hết mọi người đều lưu trữ những

thông tin này bên trong máy tính của mình, và chúng sẽ đại diện cho người dùng

mỗi khi cần đến.

Sẽ không có vấn đề gì nếu như mỗi người có một máy tính cho riêng mình,

nhưng điều gì xảy ra khi có nhiều người cùng truy cập trên cùng một chiếc máy

tính? Khi đó, người sử dụng sau có thể sử dụng thông tin của người sử dụng trước

đó để truy cập Internet, gởi nhận email, hay thậm chỉ có thể sử dụng cả những

chứng nhận (certificate) của người dùng trước. Trường hợp này đòi hỏi hệ thống

cần được quản lý bằng một cơ chế bảo mật nào đó.

Những vấn đề này lại nhỏ đủ có thể được bỏ qua trong môi trường có dây

thông thường, trong thế giới không dây thì lại là cả một vấn đề. Có sự khác nhau rõ

- 37 -

ràng giữa việc chứng thực thiết bị sử dụng và chứng thực người dùng, sự khác nhau

này quan trọng hơn trong trường hợp có nhiều ứng dụng.

Mặc dù vấn đề này tồn tại trên môi trường thương mại điện tử cũng như trên

môi trường di động, nhưng trong môi trường di động nó lại cao hơn, đơn giản chỉ

bởi vì các thiết bị này di động. Khi số lượng điện thoại di động cũng như các thiết

bị di động khác tăng lên thì tỷ lệ bị mất cắp cũng sẽ tăng theo. Một số tổ chức thậm

chí còn không dùng các máy laptop cho đội ngũ bán hàng của mình, vì các máy

laptop rất dễ bị mất cắp và dẫn đến việc mất thông tin quan trọng có trên máy.

Bảo mật không chỉ dùng giao thức mà trong nhiều hệ điều hành còn cung cấp

nhiều dạng khác, chẳng hạn như bảo mật ở cấp tập tin thông qua việc sử dụng các

danh sách điều khiển truy xuất ACL (Access Control Lists). Nhưng nếu ACL được

lưu trữ dưới dạng tập tin thì cũng có thể hệ thống khác sẽ đọc được nội dung này.

Về bản chất đây không phải là một vấn đề của WAP, nhưng nó lại là một vấn đề về

di động và cần phải được quan tâm đến nếu như các thiết bị di động chứa các thông

tin quan trọng.

Một cách để tránh được trường hợp này đó là không bao giờ lưu các thông

tin quan trọng trên thiết bị di động nếu có thể. Một khả năng khác là thực hiện việc

chứng thực người dùng. Sử dụng cách chứng nhận sẽ định danh một cách hiệu quả

các thiết bị và thiết lập một kết nối an toàn, và sau đó tất cả dữ liệu được truyền đi

dưới dạng được mã hoá, yêu cầu người dùng nhập vào ID và mật khẩu. Chúng ta có

thể dùng bất kỳ một kỹ thuật thông thường nào để xác nhận ID và mật khẩu này

như: Kerberos, LDAP, hay một sản phẩm chứng thực người dùng nào đó.

1.4.2.2. WAP Gateway

Vấn đề trên WAP gateway có thể nhận thấy rõ ràng nhất là trên chuẩn WAP

1.x, do chuẩn này đòi hỏi WML và WMLScript phải được chuyển thành dạng nhị

phân cho phù hợp với đặc điểm vận chuyển trên môi trường di động – có nhiều

thách thức về băng thông và tài nguyên của thiết bị. WAP gateway chịu trách nhiệm

thực hiện công việc này. Tuy nhiên:

- 38 -

(cid:131) Một phiên bảo mật WTLS được thiết lập giữa điện thoại và WAP

gateway, chứ không phải là trực tiếp với web server. Như vậy, dữ liệu chỉ

được mã hoá giữa điện thoại và gateway, khi đến gateway chúng được

giải mã trước khi lại được mã hóa và gởi đến cho web server qua một kết

nối TLS.

(cid:131) Tại WAP gateway toàn bộ dữ liệu có thể được thấy một cách tường minh.

Điều này cũng có nghĩa là tại gateway dữ liệu có thể sẽ bị mất mát.

1.4.2.3. TLS và WTLS

(cid:153) Giống nhau:

Cùng khái niệm phân biệt một phiên (session) và một kết nối (connection).

- Kết nối được đánh giá là ngắn hơn so với phiên

- Trong trường hợp mạng không dây, thời gian sống của một kết nối có

thể tuỳ thuộc vào chất lượng thông tin nơi mà người dùng sử dụng (vị

trí địa lý, khí hậu…)

- Các phiên bền hơn là các kết nối và có thể tồn tại qua nhiều kết nối và

được xác định bằng một số ID của phiên (session ID)

- Các tham số bảo mật cho mỗi phiên được sử dụng để bảo mật một kết

nối, có nghĩa là khi một kết nối bị phá vỡ, phiên có thể vẫn tồn tại và

có thể được phục hồi sau đó.

- Phiên có thể được phục hồi, có nghĩa là một phiên đang được thiết lập

có thể sử dụng cùng một tập tham số bảo mật với phiên trước đó.

Phiên đó có thể là từ một kết nối hiện đang hoạt động, một kết nối

khác cũng đang hoạt động hay là một kết nối đã hoạt động rồi. Việc

phục hồi các phiên có thể được sử dụng để tạo nên các kết nối đồng

thời cùng chia sẽ một tập tham số chung. Điều đó còn tuỳ thuộc vào

server, vì server có quyền quyết định xem có cho phép phiên được

phục hồi hay không

- 39 -

(cid:153) Khác nhau:

TLS WTLS

Thuộc tầng vận chuyển , nhưng bên trên Thực chất là một tầng thêm vào Tầng nó là WTP và WSP và Tầng Phiên. Vận Chuyển dùng để can thiệp giữa Cách sắp xếp này cho phép chúng có tầng ứng dụng và tầng vận chuyển ‘thực thể độc lập với các dịch vụ được ứng sự’ nhằm vào mục đích bảo mật. dụng yêu cầu.

Không đòi hỏi giao thức vận chuyển tin Đòi hỏi giao thức vận chuyển tin cậy

cậy (UDP, WDP). (TCP).

Dùng trường số tuần tự: cho phép Không dùng trường số tuần tự

WTLS làm việc với các vận chuyển (sequence number field).

không tin cậy.

Cho phép phân đoạn, lắp ghép dữ Không hỗ trợ phân đoạn, lắp ghép dữ

liệu dưới dạng các gói tin nhận được liệu dưới dạng các gói tin.

từ các tầng trên.

Bảng 1.4-1: Một vài điểm khác nhau giữa TLS và WTLS

WTLS cho phép chứng thực cả client và server gồm ba lớp thực hiện cùng

với các đánh dấu chức năng là: bắt buộc, tuỳ chọn hay loại trừ.

Lớp 1 chỉ yêu cầu hỗ trợ trao đổi khoá chung (public key exchange), mã hoá

và MACs (kiểm soát truy cập môi trường truyền thông), các chứng nhận bên phía

client và server và một tuỳ chọn bắt tay bí mật có chia sẽ (Một bắt tay bí mật có

chia sẽ là trường hợp mà cả client và server đều đã biết được bí mật và chúng không

cần trao đổi với nhau nữa).

Các thuật toán nén và giao tiếp thẻ thông minh không được dùng trong quá

trình thực hiện của Lớp 1. Các thực thi trên Lớp 1 có thể vẫn chọn hỗ trợ cho việc

- 40 -

chứng thực cả hai phía client và server thông qua các chứng nhận, nhưng nó không

cần thiết.

Lớp 2 hỗ trợ chứng nhận phía server là cố định.

Lớp 3, hỗ trợ cho cả client và server là cố định.

Hỗ trợ việc nén và giao tiếp thẻ thông minh là một tuỳ chọn ở Lớp 2 và 3.

Quá trình thực hiện:

Client bắt đầu tiến trình thiết lập một phiên bảo mật bằng cách gởi thông

điệp đến cho server yêu cầu đàm phán thiết lập phiên bảo mật.

Server cũng có thể gởi thông điệp yêu cầu phía client bắt đầu một phiên đàm

phán, thế nhưng nó còn tuỳ thuộc vào phía client có đồng ý hay không.

Tại bất kỳ thời điểm nào trong phiên làm việc, phía client cũng có thể gởi

thông điệp này để yêu cầu đàm phán lại các thiết lập này. Đàm phán lại các thiết lập

giúp giới hạn lượng dữ liệu có thể thấy được khi kẻ nghe trộm tấn công bằng cách

tạo ra một khoá an toàn mới.

Khi client yêu cầu đàm phán một phiên bảo mật, nó cung cấp một danh sách

các dịch vụ bảo mật mà nó có thể hỗ trợ. Phía client cũng cho biết rằng sau bao lâu

thì các tham số bảo mật phải được làm mới lại. Trong phần lớn các trường hợp, phía

client có thể yêu cầu các tham số này được làm mới qua mỗi thông điệp.

Nếu cơ chế trao đổi khoá chung xác định không phải là kẻ mạo danh thì phía

server phải gởi cho client một chứng nhận để xác định chính mình. Chứng nhận

được gởi đi phải phù hợp với thuật toán trao đổi khoá đã được đồng ý.

Chứng nhận ở phía gởi phải đến đầu tiên trong danh sách, và mỗi chứng

nhận đến tiếp theo phải chứng thực chứng nhận đến trước đó. Chứng nhận của CA

gốc có thể được bỏ qua trong danh sách, về cơ bản có thể chấp nhận chứng nhận

của CA gốc có giá trị tùy ý, và có thể đã có sẵn ở phía client. Nếu không thì client

cũng có thể dễ dàng quản lý được.

- 41 -

Nếu việc trao đổi khóa không là ẩn danh, thì server cũng có thể yêu cầu một

chứng nhận từ phía client. Nếu client không có chứng nhận, nó có thể gởi một thông

điệp mà không chứa chứng nhận nào. Tuỳ thuộc vào server quyết định xem có

muốn tiếp tục không với một chứng nhận có giá trị từ phía client. Bằng cách gởi

thông điệp này, client chứng minh nó có một khoá riêng tương ứng khóa chung

chứa trong chứng nhận mà nó gởi cho server. Client gởi thông điệp chứa tất cả các

thông điệp bắt tay được trao đổi trước đó giữa client và server, và được đánh dấu

bằng khoá riêng của nó. Việc này cho phép server thực hiện một tính toán tương tự

ở phía của nó và kiểm tra tập phân loại thông điệp mà nó nhận được như là một

phần của chữ ký so với cái mà nó tạo ra. Nếu chúng phù hợp, server biết client đó là

thật.

- 42 -

Chương 2. SỰ PHÁT TRIỂN CỦA CÁC NGÔN NGỮ ĐÁNH

DẤU PHỤC VỤ CHO WAP

Tương lai mà công nghệ WAP nhắm đến là tiến gần hơn với các chuẩn hiện

đang được sử dụng rộng rãi trên Internet. Và để có thể “hội tụ” các nội dung phát

triển trên di động và Web truyền thống, WAP Forum đã thông qua chuẩn XHTML

với Cascading Style Sheets (CSS) từ W3C như là cơ sở cho WAP 2.0. Việc chuyển

đổi sang XHTML MP và WAP CSS đã cũng cố thêm vị trí của các trình duyệt di

động trong xu hướng phát triển Internet và mở ra khả năng xa hơn trong việc thiết

kế cách thức định dạng so và trình bày với trước đây:

(cid:131) Các nội dung đang tồn tại trên mạng được viết theo định dạng HTML và

XHTML, do đó việc định nghĩa chuẩn WAP 2.0 làm cho việc phát triển

các nội dung trao đổi trên thiết bị di động trở nên dễ dàng hơn, nhanh hơn

và ít tốn kém hơn.

(cid:131) XHTML cùng với CSS cho phép sắp xếp chính xác vị trí của văn bản,

hình ảnh, các đường viền và những phần tử khác, do đó tất cả các thiết bị

di động có thể trình bày nội dung XHTML một cách đồng nhất, tránh

được nhiều vấn đề trước đây vẫn xảy ra trong WML.

(cid:131) Các nhà phát triển đã có kinh nghiệm làm việc với XHTML và CSS, các

công cụ phát triển Web và các máy chủ cũng đã hỗ trợ các chuẩn này.

(cid:131) Sự phát triển trong tương lai của các chuẩn Web sẽ được áp dụng cho cả

Internet truyền thống và trên các thiết bị di động.

2.1. Ngôn ngữ đánh dấu (Markup-Language)

SGML (Standard Generalize Markup Language) là ngôn ngữ đánh dấu đa

mục đích dành cho các tài liệu xử lý trên máy tính. Nó là một tập hợp bao gồm các

thẻ (tag) đánh dấu, các phần tử, và nhãn. Các thẻ đánh dấu được giới hạn bằng hai

ký tự “<” và “>” để phân biệt với phần dữ liệu. Ngôn ngữ này sử dụng DTD

- 43 -

(Document Type Definition), nó là một dạng tài liệu có cú pháp đặc biệt, được dùng

để định nghĩa các phần tử có thể sẽ xuất hiện trong một tài liệu và trật tự sắp xếp

của chúng.

Mặc dù SGML là một ngôn ngữ đánh dấu chung nhưng ta có thể tạo nên

nhiều loại tài liệu khác nhau bằng cách sử dụng những tài liệu DTD khác nhau.

HTML là một ngôn ngữ đánh dấu dựa trên SGML được dùng để tạo ra các

tài liệu hiển thị trên các trình duyệt Web. Tuy được xây dựng dựa trên SGML

nhưng ngôn ngữ được sử dụng rộng rãi này lại không hoàn toàn tuân theo SGML do

không cần dùng DTD cũng như nó không đòi hỏi phải tuân theo các qui luật sử

dụng các phần tử trong tài liệu. Ví dụ HTML cho phép sử dụng một thẻ mở (

)

mà không cần phải có một thẻ đóng (

).

Do nhu cầu sử dụng ngôn ngữ đánh dấu cho những mục đích khác chứ không

chỉ là hiển thị đơn thuần (như HTML), ngôn ngữ XML đã ra đời. Do XML có cấu

trúc rất nghiêm ngặt và rất uyển chuyển, nên có thể được sử dụng cho nhiều mục

đích khác như: thương mại điện tử, xử lý cơ sở dữ liệu v.v..

XHTML đại diện cho sự cách mạng của HTML, nó gần như giống với

HTML nhưng lại tuân theo cú pháp nghiêm ngặt của XML. XHTML được sử dụng

để trình bày nội dung trên các trình duyệt Web giống như HTML đã làm.

WML là một ngôn ngữ XML dùng một DTD riêng của nó. WML được sử

dụng để soạn thảo các nội dung được sử dụng để hiển thị trên các thiết bị di động.

- 44 -

Hình 2.1-1: Mối quan hệ giữa các ngôn ngữ đánh dấu

2.2. WAP và WML

Vào năm 1998, WAP Forum đã cho ra đời một ngôn ngữ mới gọi là WML

1.1 và một giao thức mạng mới được gọi là WPS-Wireless Protocol Stack. WML

1.1 sau đó được nâng cấp lên thành WML 1.3, thế hệ WAP này được đề cập đến

dưới tên WAP 1.x và ngôn ngữ để xây dựng là WML 1.x.

Hiện nay, WAP 1.x vẫn hoạt động tương đối tốt nhưng khả năng áp dụng

WAP vào thương mại đã xuất hiện nhiều hạn chế. Đó là những giới hạn trong khả

năng điều khiển việc sắp xếp các phần tử, kết quả là tạo nên các trang tương tự như

các trang web thế hệ đầu tiên – không có màu sắc và hầu hết các phần tử được canh

theo lề trái và cứ thế trải dài đến hết trang. Các trang này không những thiếu sự lôi

cuốn trực quan so với trang web truyền thống mà còn khó sử dụng .

Nhưng vấn đề nghiêm trọng hơn với WML đó là bảng đặc tả không định

nghĩa các qui định cho việc hiển thị các phần tử trên một trang nội dung. Do đó, với

cùng một nội dung WML, mỗi nhà sản xuất trình duyệt trên di động sẽ hiển thị theo

- 45 -

một cách khác nhau mặc dù các nội dung đó phù hợp với các đặc tả của WML. Điều

này đã gây nên nhiều vấn đề nghiêm trọng nhanh chóng lan rộng trong cộng đồng

các nhà phát triển web cho di động, những nhà phát triển cần phải dò ra loại thiết bị

đang xử lý nội dung để có thể biến đổi kết quả để phù hợp với các cách thức xử lý

WML khác nhau trên các loại thiết bị di động. XHTML MP và WAP CSS đã đưa ra

những phát triển to lớn trong việc điều khiển dàn trang và khắc phục được tính

không nhất quán trong việc triển khai WML.

2.3. XHTML cơ sở

Theo bảng đặc tả XHTML của tổ chức W3C (World Wide Web

Consortium), XHTML Basic DTD định nghĩa một loại tài liệu đủ mạnh để có thể

xây dựng và định dạng các nội dung được chia sẻ giữa các nhóm thiết bị khác nhau

như máy tính để bàn, thiết bị trợ giúp cá nhân (PDA), TV và điện thoại cầm tay.

XHTML Basic là một phiên bản trên di động của XHTML 1.0 bao gồm tất cả các

phần tử của XHTML 1.0 ngoại trừ các phần tử không phù hợp cho các thiết bị có

màn hình nhỏ, ví dụ như khung (frame).. XHTML Basic lại tiếp tục được phát triển

lên thành XHTML MP bằng việc thêm vào bảy phần tử và thuộc tính mới.

Theo tổ chức W3C, bản thân XHTML là đại diện cho sự thay đổi lớn đầu

tiên của HTML kể từ phiên bản HTML 4.0 được công bố vào năm 1997. XHTML

đã mang lại một cấu trúc rõ ràng cho các trang web, điều này cũng đặc biệt quan

trọng cho các thiết bị di động vốn có giới hạn về màn hình hiển thị và khả năng xử

lý. Tổ chức W3C hiện đang khuyến khích sử dụng XHTML cho sự phát triển các

trang web dành cho các trình duyệt trên máy tính để bàn cũng như các thiết bị khác

bao gồm cả điện thoại cầm tay.

Sử dụng XHTML đảm bảo rằng cùng một nội dung sẽ được hiển thị như

nhau trên các hệ nền khác nhau, từ các nhà cung cấp khác nhau. Điều này không

giống với trường hợp sử dụng WML 1.x, vì nó không đảm bảo tính nhất quán khi

hiển thị nội dung trên các loại thiết bị khác nhau. Khi đó các nhà phát triển và quản

- 46 -

lý nội dung phải đối diện với nhiều khó khăn do sự khác nhau của giao diện người

dùng trên các thiết bị cầm tay khác nhau.

Một số thuận lợi của XHTML so với HTML bao gồm:

(cid:131) Các trang nội dung có thể được kiểm tra tính đúng đắn về cấu trúc

một cách dễ dàng hơn.

(cid:131) Các tài liệu có thể được chuyển đổi định dạng thông qua các công

cụ như XSLT (Extensible Stylesheet Language Transformation )

(cid:131) Các phần trong tài liệu có thể được tìm lại một cách nhanh chóng.

(cid:131) Văn bản có thể được lưu trữ một cách hiệu quả trong cơ sở dữ liệu

hướng đối tượng.

2.4. XHTML Mobile Profile

Tổ chức OMA đã lấy đặc tả XHTML Basic [XHTML] DTD từ tổ chức W3C

và chuyên môn hóa nó cho mục đích sử dụng cho các trình duyệt di động bằng việc

thêm vào các phần tử sau:


, , , , ,

bản (được đánh dấu bởi các phần tử

).

c. Phần tử style trong thân tài liệu

Phần tử

một dòng tiếp sau dòng có chức phần tử :

khi đó các phần tử

trong tài liệu sẽ sử dụng font chữ Arial, nhưng màu chữ sẽ

là màu xanh.

Tuy nhiên, nều như thứ tự bị đảo lại:

Khi đó màu của chữ sẽ là màu đen.

e. Sử dụng các thuộc tính của XHTML

style

Thuộc tính style cho phép đặt kiểu mẫu cho một phần tử đơn lẻ tại một điểm

trong tài liệu tại nơi phần tử được đưa ra. Tham chiếu đến như là một kiểu mẫu bên

trong (“inline style”), đặc trưng này là một phần mở rộng trong XHTML MP. Nó

cho phép áp dụng các kiểu mẫu cho các phần tử riêng lẽ, do đó được ưu tiên hơn bất

- 159 -

kỳ kiểu mẫu nào khác được định nghĩa trong các phần tử

span. Ví dụ một bảng mẫu chức các giá trị sau:

Bên trong phần thân tài liệu, bạn có thể áp dụng kiểu mẫu được đưa ra bởi

phần tử div cho một chuỗi các đoạn văn và kiểu mẫu được đưa ra bởi phần tử span

This paragraph is blue.

Here are Test51 and

Test52 specs.

cho một chuỗi các ký tự như sau:

- 161 -

Trong đoạn code ở trên, phần nội dung của cả hai đoạn văn được canh giữa

và sử dụng font chữ màu xanh, ngoại trừ chuỗi ký tự “Test51 and Test52”, được sử

dụng font màu đỏ.

3. Những điều cần tránh

Tránh ẩn đường bao nội dung XHTML. Hay nói cách khác, không sử dụng

giá trị nowrap của white-space property. Lớp bao được nhấn mạnh sử dụng bởi vì

nó cho phép nhiều nội dung được nhìn thấy ngay mà không cần phải dùng đến

thanh cuộn. Lớp bao được kích hoạt tự động trong Nokia Mobile Browser v3.0.

Tránh việc xóa các đường gạch dưới từ các phần tử . Hay nói cách khác,

không sử dụng mẫu text–decoration:none trong các liên kết. Người sử dụng sẽ

không thể phân biệt được liệu một liên kết không được gạch dưới có phải là một

liên kết không hay đơn giản chỉ là một đoạn văn bản bình thường. Hơn nữa, một nối

kết được gạch dưới đã khá quen thuộc với người dùng và việc bỏ đi phần gạch dưới

sẽ làm cho tiến định vị của dịch vụ trở nên mơ hồ và chậm lại mà thôi.

Và ngược lại, tránh sử dụng text-decoration:underline property

trong dạng văn bản bình thường. Việc gạch dưới phần văn bản sẽ làm cho nhiều

người sử dụng hiểu nhầm vì nó trông giống như một là liên kết. Thay vào đó, có thể

làm nổi bật văn bản bằng cách khác, ví dụ như làm cho nó đậm lên chẳng hạn. Nói

chung là các dạng văn bản gây phiền phức cần được tránh nhằm giúp tài liệu dễ đọc

và tập trung hơn vào nội dung của tài liệu.

Tránh làm nổi bật văn bản quá nhiều thông qua việc sử dụng font-style và

font-variant, đặc biệt là trên cùng một trang XHTML. Quá nhiều và quá khác nhau

sẽ làm cho nội dung tài liệu mất đi sự tập trung. Cố gắng áp dụng phần nhấn mạnh

trên chỉ một vài từ trong mỗi trang XHTML.

Tránh sử dụng quá nhiều loại font chữ (font-family) và kích thước (font-

weight, font-size) khác nhau trong cùng một trang XHTML. Cố gắng giới hạn việc

sử dụng các kích thước và các loại font chữ trong mỗi trang XHTML là từ một đến

hai mà thôi. Đồng thời cũng tránh định nghĩa từ mà chỉ sử dụng các ký tự in hoa vì

- 162 -

nó thường được hiểu như là những tiếng reo hò, và chúng lại khó đọc hơn là các ký

tự thường.

Không nên xóa các đường biên trên các bảng được dùng để mô tả thông tin

theo cách ghi thành bảng.

Ở những nơi có thể, định nghĩa các kiểu mẫu sử dụng các luật thác nước thay

cho việc dùng các thuộc tính class hay id bên trong các phần tử. Ví dụ như trong

p (color:red}

bảng mẫu WAP CSS của bạn sử dụng các thuộc tính như:

.red {color:red}

hơn là dùng thuộc tính class như sau:

Nhưng loại trừ khi cần phải đưa ra chuỗi class=“red” bên trong mỗi phần tử

trong một tài liệu.

- 163 -

PHỤ LỤC E

CÁC NGUYÊN TẮC THIẾT KẾ

- 164 -

1. Trước khi thiết kế một wapsite

Khi thiết kế một dịch vụ nhắm vào cả thiết bị di động và máy tính để bàn thì

phải bắt đầu bằng bảng thiết kế cho giao diện người dùng trên thiết bị di động. Việc

mở rộng một dịch vụ hướng di động cho môi trường máy tính để bàn thường sẽ dễ

dàng hơn là làm theo cách ngược lại.

Khi bắt đầu bằng một Website dành cho máy tính để bàn, người ta khuyến

cáo rằng nên chia dịch vụ thành những phần nhỏ. Ta chỉ chọn những phần là trung

tâm của hệ thống dịch vụ để dành cho phiên bản trên môi trường di động. Cần phải

chú trọng vào các phần trung tâm này khi thiết kế dịch vụ trên di động.

Cần phải nghiên cứu đặc tính vật lý của các trình duyệt di động khác nhau

trên thị trường để có thể làm một bản thiết kế hiệu quả sử dụng XHTML và CSS.

Cần phải nắm rõ kích thước tối đa của trang nội dung, bảng định dạng (style sheet)

và các hình ảnh đồ họa; lượng không gian màn hình cho phép để hiển thị nội dung;

và lượng không gian màn hình dành cho các đối tượng khác như: văn bản soft-key,

các biểu tượng, các tiêu đề v.v..

Ví dụ như các điện thoại di động của Nokia có một đường tiêu đề chứa các

biểu tượng và có thể chứa tiêu đề của trang XHTML. Nó cũng có một vùng nội

dung nơi dùng để hiển thị nội dung của trang XHTML và một vùng chứa một hay

nhiều phím mềm (soft key) tùy thuộc vào từng model điện thoại khác nhau

2. Các nguyên tắc chung cho một thiết kế tốt

Việc đưa ra XHTML MP và CSS tạo nên một số lượng đa dạng các giao diện

người dùng mới. XHTML có nhiều phần tử/thẻ hơn WML, và cách hiển thị các

phần tử có thể được hiệu chỉnh theo nhiều cách với CSS. XHTML MP cung cấp

nhiều khả năng hơn cho các nhà cung cấp dịch vụ giúp cho dịch vụ của họ hấp dẫn,

lôi cuốn hơn đồng thời thêm vào đó là sự phức tạp do đó tạo nên những thách thức

về tính tiện lợi.

- 165 -

3. Cần chú ý đến mô hình liên kết

Ta cần cung cấp một giao diện người dùng dễ dàng sử dụng được xây dựng

cùng với một mô hình định vị nhất quán và dễ dàng nắm bắt. Điều này quan trọng

hơn là việc cố gắng sử dụng tất cả các khả năng hiển thị lôi cuốn của XHTML.

Nhu cầu và sự kỳ vọng của những người dùng di động khác rất nhiều so với

người dùng trên máy tính để bàn. Những người dùng di động thường mong muốn

truy cập một cách dễ dàng và nhanh chóng đến những thông tin họ cần. Do đó, các

nội dung trên di động cần phải ngắn gọn, chính xác và nhanh chóng.

Tránh việc tạo nên các nội dung thừa, không cần thiết hoặc các trang splash

(splash screen) rối rắm; tuy nhiên, ta có thể hiển thị một logo nhỏ hoặc những phần

nhấn mạnh thương hiệu tạo nên sự gần gũi với khách hàng. Trong nhiều trường hợp

nên hiển thị nội dung chính yếu ngay khi người dùng có yêu cầu xem nó.

Việc nhập dữ liệu cũng là một việc làm gây khó khăn và mất thời gian trên

phần lớn các thiết bị di động (các thiết bị không được cung cấp bàn phím chuẩn

QWERTY), do đó cần xây dựng wapsite với yêu cầu nhập nội dung tối thiểu, nhất

là nội dung văn bản. Để làm được điều đó ta có thể cân nhắc khả năng giao tiếp với

người dùng để chọn hình thức nhập khác như danh sách chọn (listbox, combo box),

các nút chọn (check box, radio button) thay vì sử dụng ô nhập văn bản thuần túy.

input-format và đặt input mask, ví dụ như *N để nhập số. Điều này giúp cho

Khi thực sự cần phải nhập thông tin, ta có thể sử dụng thuộc tính –wap-

người dùng tránh được thao tác chuyển đổi chế độ nhập.

Thuộc tính –wap-input-format của CSS xác định một input mask cho dữ

liệu mà người dùng nhập vào, do đó hạn chế việc chuyển đổi chế độ nhập giữa text

và số. Tuy nhiên trên những phiên bản trình duyệt XHTML không phải của Nokia

trước đây chưa hỗ trợ thuộc tính này mà chỉ hỗ trợ thuộc tính cũ format=””, do đó

cần phải đặt cả hai thuộc tính là –wap-input-format và format với cùng một

chuỗi định dạng (ví dụ *N cho dữ liệu số). Xem thêm bảng đặc tả WAP June 2000

- 166 -

[WML] hoặc WAP Overview [WAPOver] để rõ hơn chi tiết cú pháp của WAP

input mask.

Nhiều người dùng di động phải trả theo thời gian truy cập do đó nếu họ

không lấy được thông tin họ cần trong một thời gian ngắn thì họ sẽ ngưng dùng dịch

vụ.

4. Thiết kế hệ thống phân cấp trong liên kết

Mô hình định vị là cách mà một người dùng duyệt qua các trang XHTML

của một dịch vụ, tương tác thông qua các liên kết, các trình đơn và dữ liệu nhập. Để

xây dụng một mô hình định vị cho wapsite, cần phải bảo đảm các yêu cầu sau:

(cid:131) Mô hình định vị phải thống nhất trên toàn thể hệ thống

(cid:131) Đối với các dịch vụ XHTML, tránh thêm vào các liên kết dẫn về trang

vừa mới truy cập bởi vì bộ trình duyệt sẽ xử lý việc này một cách tự động

thông qua một phím back được tích hợp sẵn.

(cid:131) Tránh xây dựng một hệ thống quá sâu. Người dùng sẽ gặp khó khăn trong

việc duy trì một cái nhìn tổng thể của một dịch vụ chứa 4 hoặc 5 lớp.

(cid:131) Đưa vào một hướng liên kết trở về trang khởi đầu hoặc các nhánh chính

của hệ thống để người dùng dễ dàng quay trở lại điểm bắt đầu. Hệ thống

định vị càng sâu thì càng cần phải có một liên kết trở về trang khởi đầu.

5. Nguyên tắc thiết kế cho màn hình nhỏ

Các dự báo cho rằng số lượng thiết bị di động sẽ nhanh chóng vượt qua số

lượng máy tính để bàn trên toàn thế giới, tạo nên một cơ hội kinh doanh khổng lồ

cho các ứng dụng thân thiện người dùng được thiết kế cho những thiết bị có màn

hình nhỏ này. Một điều chắc chắn rằng sẽ có nhiều thách thức cho việc hiển thị trên

thiết bị nhỏ nhưng khó có thể tạo nên các ứng dụng lôi cuốn trên các thiết bị di động

như trên máy tính để bàn. Ta nên tuân theo các yêu cầu sau khi thiết kế các nội

dung dành để hiển thị trên các thiết bị có kích thước màn hinh nhỏ:

- 167 -

(cid:131) Cần đảm bảo là có thông tin được hiển thị khi người dùng truy cập vào

trang wap

(cid:131) Sử dụng mục trong phần <head> để cung cấp một tiêu đề ngắn</p> <p>cho mỗi trang wap. Thông thường tiêu đề không nên dài quá 14 ký tự trừ</p> <p>khi ta có ý định hiển thị trang wap trên một thiết bị di động xác định.</p> <p>(cid:131) Sử dụng địng dạng thống nhất cho tất cả các trang XHTML trong một</p> <p>dịch vụ. Tính thống nhất đó sẽ giúp nâng cao khả năng nắm bắt, đặc biệt</p> <p>là những người dùng sử dụng dịch vụ thường xuyên.</p> <p>(cid:131) Hạn chế việc cuộn trang theo chiều ngang. Thêm vào đó người dùng có</p> <p>thể trở nên mất định hướng về vị trí của họ trên toàn thể trang. Nếu có thể</p> <p>thì nên thiết kế nội dung không rộng hơn hoặc dài hơn màn hình hiển thị</p> <p>của thiết bị.</p> <p>(cid:131) Sử dụng thuộc tính canh lề (left, right, center) cho các thành phần để</p> <p>tăng tính rõ ràng, nhưng tránh sử dụng nhiều hơn hai hoặc ba kiểu trên</p> <p>cùng một trang đơn bởi vì khi đó sẽ làm cản trở khả năng nắm bắt cấu</p> <p>trúc tổ chức của trang.</p> <p>(cid:131) Sử dụng khoảng trắng đặc biệt là dọc theo các hình ảnh cao, hẹp. Ta có</p> <p><img>. Ví dụ: <img align="left" src="sky.gif" alt="Sky</p> <p>Picture"/>. Thêm vào đó trong file CSS ta có thể làm như thế (thậm</p> <p>thể làm như thế bằng cách sử dụng thuộc tính align trong phần tử</p> <p><img>. Khi đó các hình ảnh với thuộc tính này cho phép hiển thị văn bản</p> <p>chí tốt hơn nữa) một trong các cách đó là đặt thuộc tính float cho phần tử</p> <p>dọc theo nó do đó sẽ sử dụng hết phần hiển thị của thiết bị.</p> <p>(cid:131) Tránh lạm dụng các thuộc tính làm nổi bật văn bản như in đậm (bold), in</p> <p>nghiêng (italic) và gạch dưới (underline) vì khi đó chúng sẽ làm giảm sự</p> <p>rõ ràng của trang wap.</p> <p>- 168 -</p> <p>(cid:131) Tránh sử dụng các từ dài, phức tạp trong khi có thể dùng các từ ngắn gọn,</p> <p>và súc tích hơn.</p> <p>(cid:131) Tránh sử dụng quá nhiều màu khác nhau trên cùng một trang. Mặc dù</p> <p>màu sắc làm cho dịch vụ trở nên lôi cuốn hơn nhưng quá nhiều màu có</p> <p>thể gây phản tác dụng. Cố gắng sử dụng màu sắc thống nhất, ví dụ có thể</p> <p>sử dụng cùng một màu cho một phần tử XHTML trên toàn bộ hệ thống.</p> <p>(cid:131) Tránh đề cập đến tên màu sắc, ví dụ như: “nhấn vào liên kết màu đỏ</p> <p>để…” bởi vì trên những thiết bị di động không có màn hình màu thì các</p> <p>nội dung có màu sẽ trở thành trắng đen.</p> <p>6. Đảm bảo các tài liệu phải có kích thước nhỏ</p> <p>Bởi vì bộ nhớ của các thiết bị di động có giới hạn nên phải giữ cho tài liệu có</p> <p>kích thước càng nhỏ càng tốt. Tuy nhiên, do XHTML MP không hỗ trợ chế độ</p> <p>nhiều card trong một tài liệu như WML nên việc chia nhỏ nội dung thành nhiều</p> <p>trang riêng biệt sẽ làm cho việc load các trang chậm hơn. Để giải quyết vấn đề này</p> <p>ta nên tập hợp tất cả các nội dung tóm tắt lên một trang và sử dụng các liên kết để</p> <p>giúp di chuyển đến các phần tương ứng.</p> <p>Một số tiếp cận hữu ích để làm cho kích thước của trang nhỏ:</p> <p>(cid:131) Không đưa vào trang các lời chú thích dài. Mặc dù đây là một thói quen</p> <p>tốt trong lập trình nhưng nó không phù hợp cho các tài liệu dành riêng</p> <p>cho các thiết bị di động.</p> <p>(cid:131) Sử dụng kí tự tab thay vì khoảng trắng để lùi đầu dòng, hoặc thậm chí</p> <p>không lùi đầu dòng nếu có thể.</p> <p>(cid:131) Sử dụng tên ngắn cho tên các file, tên các lớp CSS và các ID trong CSS.</p> <p>(cid:131) Định nghĩa các kiểu định dạng bằng qui tắc cascading thày vì các thuộc</p> <p>tính lớp và ID trong các phần tử. Ví dụ, trong bảng định dạng WAP CSS</p> <p>sử dụng thuộc tính p(color:red) thay vì sử dụng thuộc tính lớp như</p> <p>- 169 -</p> <p>class=”red” trong mỗi phần tử <p> trong tài liệu.</p> <p>sau .red {color:red}. Điều này sẽ hạn chế việc phải xác định chuỗi</p> <p>7. Tạo các ứng dụng trên điện thoại di động</p> <p>Khi quyết định thông tin nào được đưa vào các ứng dụng khác nhau trên một</p> <p>thiết bị di động cần cân nhắc từng tình huống mà thiết bị sẽ được sử dụng. Nội dụng</p> <p>của dịch vụ phải thỏa mãn được nhu cầu của nhóm người dùng đích và phải được</p> <p>tối ưu hóa cho những tác vụ thông thường. Bởi vì tính di động của thiết bị người</p> <p>dùng có thể sử dụng nó, chủ yếu khi không có máy tính để bàn để truy cập Internet,</p> <p>để lấy thông tin một cách nhanh chóng. Ví dụ như truy cập nhanh để lấy lịch</p> <p>chuyến bay, mẫu tin ngắn và thông tin thời tiết. Hiếm khi những người dùng đó sử</p> <p>dụng điện thoại di động của họ để lướt web một thời gian dài.</p> <p>8. Đảm bảo các tác vụ tiến hành trôi chảy và sử dụng hợp lý các hình ảnh</p> <p>Các trang wap đầy màu sắc sẽ trong hấp dẫn hơn nhưng sẽ kém phần hấp dẫn</p> <p>nếu các hình ảnh làm cho dịch vụ bị chậm lại. Theo các nghiên cứu trong việc sử</p> <p>dụng, người dùng ít nhiệt tình hơn đối với các dịch vụ mà hình ảnh minh họa làm</p> <p>chậm trễ các tác vụ của họ. Đặc biệt, những hình ảnh lớn không được đánh giá cao</p> <p>khi người dùng đang được liên kết đến trang cần tìm. Những hình ảnh có chứa đựng</p> <p>thông tin sẽ được đánh giá cao nhưng trong nhiều trường hợp người dùng sẽ không</p> <p>cho hiển thị hình ảnh để tiết kiệm thời gian và tiền bạc cũng như sẽ chuyển đến</p> <p>trang kế tiếp mà không chờ đến khi hình ảnh được tải về đầy đủ. Điều đó rất quan</p> <p>trọng khi cho phép người dùng chuyển đến các trang khác thậm chí trước khi tất cả</p> <p>hình ảnh được tải về.</p> <p>Các bảng (table) lớn cũng gây ra vấn đề tương tự, đó là người dùng có thể sẽ</p> <p>bị mắc kẹt tại một trang cho đến khi nó được tải về hết hoặc không thể tìm được</p> <p>cách để thực hiện tiếp trước khi trang wap được tải về đầy đủ. Do màn hình hiển thị</p> <p>của các điện thoại di động có kích thước khác nhau nên cần phải đảm bảo các bảng</p> <p>- 170 -</p> <p>dữ liệu có thể đọc được thậm chí trên những màn hình hiển thị nhỏ nhất; thường thì</p> <p>chúng sẽ bị ép lại cho vừa với màn hình.</p> <p>9. Đảm bảo cấu trúc wapsite dễ dùng đối với người mới sử dụng</p> <p>Đối với các dịch vụ trên di động thường thì một cấu trúc không quá sâu sẽ dễ</p> <p>nắm bắt hơn cho người dùng. Các liên kết và các trang wap nên cung cấp các tên có</p> <p>tính mô tả giúp cho người dùng tìm được thông tin mà họ cần.</p> <p>Thật khó để có thể đưa ra số lượng liên kết hợp lý trên một trang danh sách</p> <p>liên kết. Nếu các liên kết rõ ràng với nhau và dễ dàng để duyệt qua (mỗi liên kết</p> <p>trên một dòng, theo thứ tự chữ cái hoặc theo thứ tự logic khi đó người dùng không</p> <p>phải đọc hết tất cả các liên kết), khi cung cấp khoảng 30 liên kết trên một trang đơn</p> <p>sẽ tốt hơn là 5 liên kết trên 6 trang khác nhau. Nếu có khoảng vài chục liên kết thì</p> <p>nên cung cấp tùy chọn để sắp xếp các liên kết trước khi hiển thị chúng lên. Một liên</p> <p>kết nằm vừa trên một dòng giúp cho việc chọn lựa dễ dàng hơn và trang wap trông</p> <p>sẽ tốt hơn.</p> <p>Không có phần tử <do> trong WAP 2.0, thay vào đó chúng được thay thế</p> <p>bằng các phím truy cập. Tuy nhiên hầu hết người dùng dường như không quan tâm</p> <p>tới các phím truy cập và cũng không thể tìm thấy chúng. Để giúp người dùng hiểu</p> <p>được khái niệm đó, cần đảm bảo rằng các phím truy cập hiển thị trên màn hình và</p> <p>dưới dạng giống như các phím điện thoại.</p> <p>Nếu không thể thực hiện, thì nên cung cấp một chức năng tìm kiếm. Những</p> <p>người dùng có kinh nghiệm sẽ đánh giá cao nó.</p> <p>10. Cung cấp vừa đủ thông tin trên một trang</p> <p>Những trang tương tác nên ngắn gọn. Ta nên bắt đầu một wapsite bằng một</p> <p>trang giới thiệu ngắn, trang này chỉ hiển thị lời chào và logo của dịch vụ. Điều này</p> <p>sẽ tốt hơn khi người dùng đi đến trực tiếp trang wap dịch vụ.</p> <p>Đối với XHTML, nội dung được tải xuống dưới dạng các trang, không phải</p> <p>là các thẻ như trong WML. Có nghĩa là việc cung cấp đầy đủ thông tin trên một</p> <p>- 171 -</p> <p>trang đơn sẽ quan trọng hơn cho các tác vụ của người dùng. Việc đi tới và lui giữa</p> <p>các trang có thể mất nhiều thời gian hơn trong XHTML bởi vì các trang được tải về</p> <p>một cách riêng biệt. Đối với trường hợp các trang không thể lưu (cache) tại thiết bị -</p> <p>ví dụ như các nội dung phải trả tiền hoặc có chứa các thông tin cá nhân, thì việc đó</p> <p>càng quan trọng hơn.</p> <p>Phần hiển thị trên cùng của trang là phần quan trọng nhất. Tất cả các liên kết</p> <p>thường dùng, phần tìm kiếm, phần đăng nhập và phần thông tin chủ yếu sẽ được đặt</p> <p>ở đó. Người dùng có thể di chuyển đến các trang khác mà không phải chờ phần còn</p> <p>lại của trang được tải về đầy đủ cũng như không phải cuộn trang.</p> <p>Tránh sử dụng phần trên cùng của trang cho bảng quảng cáo hoặc những</p> <p>hình ảnh mang tính minh họa. Tốt hơn là nên đặt quảng cáo ở bên trái hoặc bên phải</p> <p>trang.</p> <p>Việc cuộn trang lên xuống rất khó khăn nên các trang tương tác có chứa các</p> <p>form dữ liệu không nên quá dài Người dùng sẽ không biết được họ đã điền đầy đủ</p> <p>các thông tin hay chưa trên một form quá dài. Người dùng có thể mất khả năng điều</p> <p>khiển nếu form nhập dài hơn hai trang màn hình.</p> <p>Tại trang đích mà người dùng đang hướng đến phải chứa đầy đủ các thông</p> <p>tin mà họ cần. Ví dụ như, nếu trang đích chứa một câu chuyện hoặc một một hướng</p> <p>dẫn thì toàn bộ nội dung nên được chứa trên cùng một trang.</p> <p>Thực tế là thông tin được tải về dưới dạng các trang riêng biệt là thay đổi lớn</p> <p>nhất ảnh hưởng đến sự định hướng và cấu trúc giữa WML và XHTML.</p> <p>11. Phản ánh được hành động của người dùng</p> <p>Nên cung cấp sự phản ánh cho các hành động của người dùng cũng như các</p> <p>tình huống lỗi. Ví dụ, sau khi người dùng click vào một liên kết thì trang mới hiển</p> <p>thị phải có tiêu đề mang thông tin giống như liên kết đó. Việc tối thiểu các bước</p> <p>trong định hướng cũng tạo nên cảm giác không an toàn cho người dùng, ví dụ có</p> <p>thể cần đến các trang xác nhận (conformation page) cho các hành động của người</p> <p>- 172 -</p> <p>dùng, mặc dù điều đó cần thêm một hành động click nữa. Nếu không có các trang</p> <p>xác nhận người dùng có thể cảm thấy cần phải kiểm tra xem hành động có tác dụng</p> <p>không, điều này làm tăng số lượng tương tác của họ. Người dùng nên được thấy</p> <p>rằng họ đang điều khiển hệ thống.</p> <p>Nếu có vấn đề xảy ra người dùng phải được hướng dẫn bước phả làm kết</p> <p>tiếp. Có thể tránh được các lỗi nhập liệu nếu người dùng được cung cấp cácđịnh</p> <p>dạng dữ liệu mẫu.</p> <p>12. Hạn chế số lượng và kích thước của màn hình</p> <p>Số lượng và kích thước các hình ảnh trong XHTML cần phải được cân nhắc</p> <p>cẩn thận. Mỗi hình ảnh trên một trang tạo nên một luồng truyền tải riêng, điều đó sẽ</p> <p>làm chậm lại thời gian hiển thị của toàn bộ trang. Do đó số lượng các luồng tải hình</p> <p>ảnh phải được hạn chế tối đa. Đồng thời mỗi khi một hình ảnh được tải đến thiết bị</p> <p>di động thì toàn bộ trang sẽ được sắp xếp lại điều này mất nhiều thời gian mà tài</p> <p>nguyên xử lý của thiết bị. Do đó, một trang nội dung với chỉ một vài hình ảnh có thể</p> <p>sẽ được tải về nhanh hơn một trang với nhiều hình ảnh nhỏ. Nếu có thể nên sử dụng</p> <p>cùng các hình ảnh cho nhiều trang khác nhau trong cùng một dịch vụ khi đó một</p> <p>hình ảnh sẽ được tải về chỉ một lần và lưu vào bộ lưu trữ (cache). Ví dụ, nếu các</p> <p>hình ảnh được dùng cho các nút (bullet) thì chúng nên được dùng trên toàn bộ hệ</p> <p>thống.</p> <p>Kết nối theo giao thức TCP/IP có thể làm cho tốc độ tải các trang sẽ khác</p> <p>nhau mặc dù lượng dữ liệu thì như nhau. Ví dụ, một trang có chứa 4 hình ảnh với</p> <p>dung lượng 2KB mỗi hình sẽ nhanh hơn là tải về một trang chứa 8 ảnh với dung</p> <p>lượng 1KB mỗi ảnh.</p> <p>Nếu có sử dụng WAP gateway thì nó nên được đặt gần với trạm GSSN</p> <p>(Gateway GPRS Support Node). Việc mất dữ liệu sẽ làm tăng độ trễ do cơ chế</p> <p>truyền lại dữ liệu bị mất của giao thức HTTP. Độ trễ giữa WAP gateway và máy</p> <p>chủ chứa nội dung cần được hạn chế tối đa.</p> <p>- 173 -</p> <p>13. Thiết lập các thuộc tính chiều cao và chiều rộng màn hình</p> <p>Các nhà phát triển nội dung nên chỉ rõ chiều cao và rộng của các hình ảnh</p> <p>trong các thẻ đánh dấu để trình duyệt có thể dành ra phần không gian trống cho nó.</p> <p>Nếu tham số chiều rộng và chiều cao được dùng trong các thể <img> thì trình duyệt</p> <p>XHTML có thể dành riêng khoảng trống cho các hình ảnh trước khi chúng được tải</p> <p>về đầy đủ. Khi đó trang wap có thể được hiển thị trước khi tải hình ảnh về và nó sẽ</p> <p>được hiển thị khi đã tải về đầy đủ. Điều này sẽ không làm thay đổi thời gian tải và</p> <p>thời gian xử lý của 1 trang XHTML nhưng về căn bản nó giúp người dùng không</p> <p>phải chờ cho đến khi tải xong hình ảnh mới có thể đọc được nội dung của trang</p> <p>wap.</p> <p><img src="pics/header_main_page_001.gif" width="175"</p> <p>height="41" /></p> <p>Ví dụ:</p> <p>14. Sử dụng bảng một cách cẩn thận</p> <p>Trình duyệt hỗ trợ việc sử dụng các bảng đơn và các bảng lồng vào nhau</p> <p>trong các trang XHTML. Các nhà phát triển nên cẩn thận khi xác định chiều rộng</p> <p>của ô dữ liệu đặc biệt đối với các bảng lồng vào nhau.</p> <p>Khi sử dụng các bảng lồng nhau, ta nên tránh chỉ định chiều rộng của bảng</p> <p>cấp cha theo phần trăm khi chiều rộng của các bảng con được định kích thước rõ</p> <p>ràng. Bởi vì các thiết bị có kích cỡ màn hình hiển thị khác nhau nên tỷ lệ phần trăm</p> <p>không đảm bảo sẽ hiển thị cùng một số lượng pixel trên những thiết bị khác nhau.</p> <p>Do đó các nhà phát triển khuyến cáo nên sử dụng kích thước chính xác (theo pixel)</p> <p>cho chiều dài của cả bảng cấp cha và các bảng con lồng bên trong để đảm bảo nội</p> <p>dung sẽ được hiển thị chính xác. Cần phải cẩn thận để đảm bảo tổng chiều rộng của</p> <p>bảng bằng với tổng chiều rộng của các cột riêng biệt cộng với các đường viền và</p> <p>khoảng cách giữa các ô. Nói chung khi sử dụng các bảng với nhiều cấp lồng nhau</p> <p>sẽ làm tăng tính phức tạp cho trang wap và cần phải có nhiều thời gian xử lý để có</p> <p>- 174 -</p> <p>thể hiển thị nội dung lên màn hình. Để đảm bảo thời gian hiển thị ở mức chấp nhận</p> <p>được ta nên tránh sử dụng các bảng lồng nhau nhiều cấp, phức tạp.</p> <p>Đồng thời các đường bao của bảng không nên quá dày bởi vì khi đó ta sẽ mất</p> <p>nhiều pixel để hiển thị đường bao làm cho phần hiển thị nội dung trở nên quá nhỏ.</p> <p>15. Cần cân nhắc các tuỳ chọn</p> <p>Ta có thể chỉ định kiểu định dạng theo nhiều cách khác nhau: trong một bảng</p> <p>định dạng riêng biệt, trong một phần tử định dạng trong phần <head> của tài liệu</p> <p>hoặc bằng cách sử dụng thuộc tính định dạng trong một phần tử xác định. Mặc dù</p> <p>theo nguyên tắc việc sử dụng các bảng định dạng riêng bên ngoài để tách biệt phần</p> <p>định dạng khỏi các thẻ đánh dấu là một cách làm tốt, nhưng cũng có những bất lợi</p> <p>cần phải cân nhắc.</p> <p>Việc hiển thị một trang XHTML mà phần định dạng được chứa trong phần</p> <p>code của XHTML sẽ nhanh hơn nhưng việc sử dụng các bảng định dạng riêng bên</p> <p>ngoài cung cấp một cách thức tiện lợi để có thể thay đổi định dạng trên toàn thể</p> <p>dịch vụ. Một bảng định dạng cần phải được sử dụng cho toàn bộ hệ thống để tránh</p> <p>việc tải về thiết bị di động nhiều bảng định dạng. Bảng định dạng sẽ được tải về một</p> <p>lần duy nhất và được lưu trong bộ nhớ lưu trữ (cache).</p> <p>16. Loại bỏ các khoảng trắng và các ghi chú trong phần code</p> <p>Cần phải đảm bảo rằng không có khoảng trắng thừa trong phần code. Mặc dù</p> <p>khoảng trắng không được hiển thị lên màn hình nhưng nó vẫn được trình duyệt xử</p> <p>lý.</p> <p>Số lượng ghi chú trong phần code XHTML nên được hạn chế tối đa để phần</p> <p>code được ngắn gọn.</p> <p>17. Sử dụng các chỉ dẫn trong phần tiêu đề HTTP trong việc lưu trang</p> <p>Bộ trình duyệt đặt các trang XHTML trong bộ nhớ lưu trữ; tuy nhiên, có thể</p> <p>các trang sẽ không được lưu trữ mặc định. Tiêu đề yêu cầu lưu trữ rõ ràng nên được</p> <p>gửi cùng với tài liệu để đảm bảo các trang được lưu trữ tại máy truy cập nếu có thể.</p> <p>- 175 -</p> <p>Thêm vào đó một qui định về thời gian hết hạn của các trang nội dung nên được</p> <p>thiết lập để đảm bảo các nội dung được lưu trữ trong một khoảng thời gian hợp lý.</p> <p>Việc đặt các chỉ dẫn lưu trữ trong các thẻ meta (ví dụ dùng HTTP-EQUIV)</p> <p>sẽ không được hỗ trợ, nhưng việc lưu trữ có thể được điều khiển bằng các tiêu đề</p> <p>của giao thức HTTP. Chỉ dẫn “Cache-control:no-cache” có thể được thiết lập bởi</p> <p>máy chủ quản lý các trang nội dung để cho biết các trang không thể được lưu trữ tại</p> <p>máy truy cập.</p> <p>Việc lưu trữ được thực hiện với thuật toán “least recently used”, nghĩa là các</p> <p>mục được sử dụng ít nhất sẽ bị xóa trước. Ta nên sưu dụng cùng các hình và file</p> <p>CSS trong tất cả các trang XHTML để đảm bảo rằng nó luôn được lưu trữ và không</p> <p>phải tải về mỗi lần sử dụng chúng.</p> <p>18. Sử dụng mã Unicode cho các nội dung XHTML</p> <p>Trình duyệt XHTML hỗ trợ các bảng mã ASCII và Unicode 2.0. Do đó các</p> <p>nội dung XHTML thuộc nhóm các ngôn ngữ khác Latin nên sử dụng bảng mã</p> <p>Unicode để đảm bảo tính tương tác. Đối với các ngôn ngữ thuộc bộ mẫu tự Latin,</p> <p>có thể sử dụng bảng mã ASCII. Một vài gateway và proxy có thể chuyển đổi các bộ</p> <p>ký tự địa phương sang Unicode nhưng không phải tất cả đều có thể. Do đó cách duy</p> <p>nhất để đảm bảo các thiết bị truy cập nhận được các nội dung bằng mã Unicode ta</p> <p>nên dùng bảng Unicode cho các nội dung đó. Có thể tham khảo thêm các thông tin</p> <p>chi tiết về Unicode và các ngôn ngữ không thuộc hệ Latin ở các tài liệu:</p> <p>CJKV Information Processing, Lunde, Ken. 1st edition. O’Reilly &</p> <p>Associates (December 1998)</p> <p>Unicode: A Primer, Graham, Tony. John Wiley & Sons (March 2000)</p> <p>19. Sử dụng chính xác các kiểu MIME và mã XHTML</p> <p>Kiểu MIME được đề cập cho các nội dung XHTML MP, được đặc tả bởi</p> <p>OMA, là “application/vnd.wap.xhtml+xml”. Ta nên sử dụng kiểu này để cung cấp</p> <p>các tài liệu XHTML MP đến người dùng cuối. Thêm vào đó cũng có thể dùng kiểu</p> <p>- 176 -</p> <p>“application/xhtml+xml”. Trong một số trình duyệt thuộc Series 60, cần phải dùng</p> <p>kiểu “application/vnd.wap.xhtml+xml” để đảm bảo các nội dung XHTML được</p> <p>hiển thị đúng.</p> <p>Ta được khuyến cáo nên sử dụng phần đuôi/mở rộng của file là *.xhtml cho</p> <p>tất cả các nội dung XHTML MP. Mã XHTML nên được kiểm tra hợp lệ để tránh</p> <p>các vấn đề về khả năng giao tiếp và để tăng hiệu suất của dịch vụ. Các nội dung</p> <p>XHTML có thể được kiểm tra hợp lệ bằng bộ kiểm tra của W3C tại địa chỉ</p> <p>http://validator.w3.org. Và khi tạo các nội dung XHTML động thì phần mã được</p> <p>phát sinh nên phải căn cứ vào tài liệu DTD XHTML MP 1.0.</p> <p>20. Các tiêu đề chỉ dẫn và các nhãn phần tử</p> <p>Tiêu đề của trang mô tả nội dung của trang đang được hiển thị. Việc sử dụng</p> <p>các tiêu đề được khuyến cáo trong WML và bắt buộc đối với các nội dung XHTML.</p> <p>Các tiêu đề giúp người dùng các thể định hướng trong ứng dụng bởi vì chúng nhắc</p> <p>người dùng đang ở vị trí nào trong ứng dụng. Việc bắt đầu tiêu đề với tên của dịch</p> <p>vụ là một ý tưởng tốt và giữ cho tiêu đề ngắn gọn. Đối tượng được chọn nên xác</p> <p>định tiêu đề của trang tiếp theo. Ví dụ, tiêu đề “Bookmarks” cho người dùng biết</p> <p>nội dung đang hiển thị là một danh sách các bookmark trong ứng dụng và đối tượng</p> <p>được chọn trước đó là Bookmarks.</p> <p>Nên sử dụng các dạng font cân đối cho tiêu đề và nếu tiêu đề quá dài nó sẽ tự</p> <p>động bị cắt đi. Các tiêu đề bị cắt bớt được dùng thay vì dùng các từ viết tắt để tránh</p> <p>làm cho người dùng bối rối.</p> <p>Mặc dù được khuyến cáo nên sử dụng các từ ngắn cho phần nhãn của các đối</p> <p>tượng nhưng các nhóm từ viết tắt không thông dụng trong cộng đồng người dùng</p> <p>nên hạn chế sử dụng. Các nhãn cùng loại nên được dùng cho các đối tượng có cùng</p> <p>chức năng đặc biệt là các nhãn có chức năng như: Delete, Remove, Erase, Clear và</p> <p>Destroy.</p> <p>- 177 -</p> <p>21. Thực hiện kiểm tra khả năng sử dụng của hệ thống</p> <p>Ta nên thực hiện các thử nghiệm kiểm tra khả năng sử dụng của các ứng</p> <p>dụng mới. Các thử nghiệm đó nên được thực hiện càng sớm càng tốt trong quá trình</p> <p>phát triển. Bất cứ các thay đổi cần thiết nào đạt được từ các thử nghiệm sau đó có</p> <p>thể được đưa vào bảng kế hoạch thời gian phát triển. Những người thử nghiệm là</p> <p>những đại diện cho người dùng trong tương lai. Ít nhất các thử nghiệm nên được</p> <p>thực hiện ở qui mô nhỏ nếu không đủ khả năng thực hiện thử nghiệm đầy đủ.</p> <p>- 178 -</p> <h4>PHỤ LỤC F</h4> <h4>DANH SÁCH CÁC THUẬT NGỮ</h4> <p>- 179 -</p> <p>ACL - Access Control Lists</p> <p>ADSL - Asymmetric Digital Subscriber Line</p> <p>CDMA - Code Division Multiple Access</p> <p>CHTML - Ngôn ngữ đánh dấu dùng cho iMode</p> <p>CSS - Cascading Style Sheets</p> <p>DNS - Domain Name Server</p> <p>DTD - Document Type Definition</p> <p>FTP - File Transfer Protocol</p> <p>GSSN - Gateway GPRS Support Node</p> <p>HDML - Handheld Device Markup Language</p> <p>HTML - Hyper Text Markup Language</p> <p>HTTP - Hypertext Transfer Protocol</p> <p>iMode - Dịch vụ internet di động của NTTDoCoMo nhằm mục đích tạo ra các trang</p> <p>web sử dụng một dạng ngôn ngữ thuộc họ HTML (cHTML) hiển thị trên các trình</p> <p>duyệt Web di động</p> <p>IP - Internet Protocol</p> <p>ISP - Internet Service Provider</p> <p>LDAP - Lightweight Directory Access Protocol</p> <p>MAC - Media Access Control</p> <p>MIME - Multipurpose Internet Mail Extension</p> <p>NAT - Network Address Translation</p> <p>PDA - Personal Digital Assistant</p> <p>PPP - Point-to-Point Protocol</p> <p>RAS - Remote Access Server</p> <p>SGML - Standard Generalize Markup Language</p> <p>SMS - ShortMessage</p> <p>SSL - Secure Sockets Layer</p> <p>TCP - Transmission Control Protocol</p> <p>TCP/IP - Transmission Control Protocol/Internet Protocol</p> <p>- 180 -</p> <p>TLS - Transport Layer Security</p> <p>UDP - User Datagram Protocol</p> <p>URL - Uniform Resource Locator</p> <p>W3C - World Wide Web Consortium</p> <p>WAE - Wireless Application Environment</p> <p>WBMP - Wireless Bitmap</p> <p>WAP - Wireless Application Protocol</p> <p>WDP - Wireless Datagram Protocol</p> <p>WML - Wireless Markup Language</p> <p>WML Script - Wireless Markup Language Script</p> <p>WPS - Wireless Protocol Stack</p> <p>WSP - Wireless Session Protocol</p> <p>WTA - Wireless Telephony Application</p> <p>wTCP/IP - Wireless Profile TCP/IP</p> <p>WTLS - Wireless Transport Security Layer</p> <p>WTP - Wireless Transaction Protocol</p> <p>XHTML - Extensible Hyper Text Markup Language</p> <p>XHTML MP - Extensible Hyper Text Markup Language Mobile Profile</p> <p>XML - Extensible Markup Language</p> <p>XSLT - Extensible Stylesheet Language Transformation</p> <p>- 181 -</p> </div> </div></div><!----></div></div></div></div><div class="right" data-v-3778e358><div class="body" data-v-3778e358><h2 class="title-box" data-v-3778e358>Tài liệu liên quan</h2><!--[--><div data-v-3778e358><div class="c-card-row" data-v-3778e358 data-v-069517d7><a href="https://tailieu.vn/doc/bao-cao-thuc-tap-cong-ty-trach-nhiem-huu-han-san-xuat-thuong-mai-dich-vu-quoc-truong-2930987.html" class="thumbnail" data-v-069517d7><img loading="lazy" src="https://cdn.tailieu.vn/images/document/thumbnail/2025/20251128/hoangle27223@gmail.com/135x160/30391764296608.jpg" alt="Báo cáo thực tập Công ty Quốc Trưởng: Sản xuất, Thương mại và Dịch vụ" data-v-069517d7></a><div class="text" data-v-069517d7><div class="content" data-v-069517d7><h3 data-v-069517d7><a href="https://tailieu.vn/doc/bao-cao-thuc-tap-cong-ty-trach-nhiem-huu-han-san-xuat-thuong-mai-dich-vu-quoc-truong-2930987.html" class="title clamp-5" data-v-069517d7>Báo cáo thực tập: Công ty Trách nhiệm hữu hạn Sản xuất Thương mại Dịch vụ Quốc Trưởng</a></h3><div class="footer-card" data-v-069517d7><div class="count-page" data-v-069517d7><span class="svg-icon" style="width:14px;height:14px;" data-v-069517d7 data-v-571a9c9f><svg fill="currentColor" stroke="" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> <rect width="24" height="24" rx="5" fill="#E2574C"></rect> <path fill="#fff" d="M2 6h19v12H2z"></path> <path d="M20 3.5 5.333 2C4.626 2.002 3.5 2 3 2.5c-.5.5-1.998.793-2 1.5v14.5c0 1.467 1.033.5 2.5.5L18 20.5c1.467 0 4-1.033 4-2.5l.5-11c0-1.467-1.033-3.5-2.5-3.5ZM8.667 11.333c0 1.067-.934 2-2 2H5.333V16h-2V8h3.334c1.066 0 2 .933 2 2v1.333ZM15.333 14c0 1.067-.933 2-2 2H10V8h3.333c1.067 0 2 .933 2 2v4Zm5.334-4h-2v1.333h2v2h-2V16h-2V8h4v2ZM12 10h1.333v4H12v-4Zm-6.667 0h1.334v1.333H5.333V10Z" fill="#E2574C"></path> </svg> </span> 89 trang </div><div class="item" data-v-069517d7><span class="svg-icon" style="width:16px;height:16px;color:#000;" data-v-571a9c9f><svg fill="currentColor" stroke="" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M19 22.87L12 18.2L5 22.87V5C5 3.9 5.9 3 7 3H17C18.1 3 19 3.9 19 5V22.87ZM12 15.8L17 19.13V5H7V19.13L12 15.8Z" /> </svg> </span><!----></div></div></div></div></div></div><div data-v-3778e358><div class="c-card-row" data-v-3778e358 data-v-069517d7><a href="https://tailieu.vn/doc/bao-cao-thuc-hanh-truc-cac-dang-cau-chu-dong-2924914.html" class="thumbnail" data-v-069517d7><img loading="lazy" src="https://cdn.tailieu.vn/images/document/thumbnail/2025/20251005/minhquan2909/135x160/35731759720960.jpg" alt="Báo cáo thực hành trục các đăng và cầu chủ động: Phân tích chi tiết" data-v-069517d7></a><div class="text" data-v-069517d7><div class="content" data-v-069517d7><h3 data-v-069517d7><a href="https://tailieu.vn/doc/bao-cao-thuc-hanh-truc-cac-dang-cau-chu-dong-2924914.html" class="title clamp-5" data-v-069517d7>Báo cáo thực hành: Trục các đăng và cầu chủ động</a></h3><div class="footer-card" data-v-069517d7><div class="count-page" data-v-069517d7><span class="svg-icon" style="width:14px;height:14px;" data-v-069517d7 data-v-571a9c9f><svg fill="currentColor" stroke="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"> <rect width="24" height="24" rx="5" fill="#086eca" /> <text x="12" y="17" text-anchor="middle" font-family="sans-serif" font-size="16" font-weight="bold" fill="#fff" > W </text> </svg> </span> 27 trang </div><div class="item" data-v-069517d7><span class="svg-icon" style="width:16px;height:16px;color:#000;" data-v-571a9c9f><svg fill="currentColor" stroke="" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M19 22.87L12 18.2L5 22.87V5C5 3.9 5.9 3 7 3H17C18.1 3 19 3.9 19 5V22.87ZM12 15.8L17 19.13V5H7V19.13L12 15.8Z" /> </svg> </span><!----></div></div></div></div></div></div><div data-v-3778e358><div class="c-card-row" data-v-3778e358 data-v-069517d7><a href="https://tailieu.vn/doc/bao-cao-thuc-tap-cong-ty-co-phan-cao-su-da-nang-2924408.html" class="thumbnail" data-v-069517d7><img loading="lazy" src="https://cdn.tailieu.vn/images/document/thumbnail/2025/20250928/dungnguyen30722@gmail.com/135x160/35831759114973.jpg" alt="Báo cáo thực tập tại Công ty Cổ phần Cao su Đà Nẵng chi tiết nhất" data-v-069517d7></a><div class="text" data-v-069517d7><div class="content" data-v-069517d7><h3 data-v-069517d7><a href="https://tailieu.vn/doc/bao-cao-thuc-tap-cong-ty-co-phan-cao-su-da-nang-2924408.html" class="title clamp-5" data-v-069517d7>Báo cáo thực tập: Tại Công ty Cổ phần Cao su Đà Nẵng</a></h3><div class="footer-card" data-v-069517d7><div class="count-page" data-v-069517d7><span class="svg-icon" style="width:14px;height:14px;" data-v-069517d7 data-v-571a9c9f><svg fill="currentColor" stroke="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"> <rect width="24" height="24" rx="5" fill="#086eca" /> <text x="12" y="17" text-anchor="middle" font-family="sans-serif" font-size="16" font-weight="bold" fill="#fff" > W </text> </svg> </span> 56 trang </div><div class="item" data-v-069517d7><span class="svg-icon" style="width:16px;height:16px;color:#000;" data-v-571a9c9f><svg fill="currentColor" stroke="" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M19 22.87L12 18.2L5 22.87V5C5 3.9 5.9 3 7 3H17C18.1 3 19 3.9 19 5V22.87ZM12 15.8L17 19.13V5H7V19.13L12 15.8Z" /> </svg> </span><!----></div></div></div></div></div></div><div data-v-3778e358><div class="c-card-row" data-v-3778e358 data-v-069517d7><a href="https://tailieu.vn/doc/bao-cao-thuc-tap-tot-nghiep-cong-ty-co-dien-samwa-tek-2923634.html" class="thumbnail" data-v-069517d7><img loading="lazy" src="https://cdn.tailieu.vn/images/document/thumbnail/2025/20250917/trantiendat_ct2/135x160/96461758161119.jpg" alt="Báo cáo thực tập tốt nghiệp Công ty TNHH Cơ điện Samwa Tek: [Mô tả chi tiết hơn về nội dung báo cáo nếu có thể]" data-v-069517d7></a><div class="text" data-v-069517d7><div class="content" data-v-069517d7><h3 data-v-069517d7><a href="https://tailieu.vn/doc/bao-cao-thuc-tap-tot-nghiep-cong-ty-co-dien-samwa-tek-2923634.html" class="title clamp-5" data-v-069517d7>Báo cáo thực tập tốt nghiệp: Công ty TNHH Cơ điện Samwa Tek</a></h3><div class="footer-card" data-v-069517d7><div class="count-page" data-v-069517d7><span class="svg-icon" style="width:14px;height:14px;" data-v-069517d7 data-v-571a9c9f><svg fill="currentColor" stroke="" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> <rect width="24" height="24" rx="5" fill="#E2574C"></rect> <path fill="#fff" d="M2 6h19v12H2z"></path> <path d="M20 3.5 5.333 2C4.626 2.002 3.5 2 3 2.5c-.5.5-1.998.793-2 1.5v14.5c0 1.467 1.033.5 2.5.5L18 20.5c1.467 0 4-1.033 4-2.5l.5-11c0-1.467-1.033-3.5-2.5-3.5ZM8.667 11.333c0 1.067-.934 2-2 2H5.333V16h-2V8h3.334c1.066 0 2 .933 2 2v1.333ZM15.333 14c0 1.067-.933 2-2 2H10V8h3.333c1.067 0 2 .933 2 2v4Zm5.334-4h-2v1.333h2v2h-2V16h-2V8h4v2ZM12 10h1.333v4H12v-4Zm-6.667 0h1.334v1.333H5.333V10Z" fill="#E2574C"></path> </svg> </span> 43 trang </div><div class="item" data-v-069517d7><span class="svg-icon" style="width:16px;height:16px;color:#000;" data-v-571a9c9f><svg fill="currentColor" stroke="" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M19 22.87L12 18.2L5 22.87V5C5 3.9 5.9 3 7 3H17C18.1 3 19 3.9 19 5V22.87ZM12 15.8L17 19.13V5H7V19.13L12 15.8Z" /> </svg> </span><!----></div></div></div></div></div></div><div data-v-3778e358><div class="c-card-row" data-v-3778e358 data-v-069517d7><a href="https://tailieu.vn/doc/bao-cao-thuc-tap-tai-garage-car-plus-2920345.html" class="thumbnail" data-v-069517d7><img loading="lazy" src="https://cdn.tailieu.vn/images/document/thumbnail/2025/20250810/nguyenanhquoc2809@gmail.com/135x160/25661754896300.jpg" alt="Báo cáo thực tập tại Garage Car Plus [chuẩn nhất]" data-v-069517d7></a><div class="text" data-v-069517d7><div class="content" data-v-069517d7><h3 data-v-069517d7><a href="https://tailieu.vn/doc/bao-cao-thuc-tap-tai-garage-car-plus-2920345.html" class="title clamp-5" data-v-069517d7>Báo cáo thực tập: Tại Garage Car Plus</a></h3><div class="footer-card" data-v-069517d7><div class="count-page" data-v-069517d7><span class="svg-icon" style="width:14px;height:14px;" data-v-069517d7 data-v-571a9c9f><svg fill="currentColor" stroke="" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> <rect width="24" height="24" rx="5" fill="#E2574C"></rect> <path fill="#fff" d="M2 6h19v12H2z"></path> <path d="M20 3.5 5.333 2C4.626 2.002 3.5 2 3 2.5c-.5.5-1.998.793-2 1.5v14.5c0 1.467 1.033.5 2.5.5L18 20.5c1.467 0 4-1.033 4-2.5l.5-11c0-1.467-1.033-3.5-2.5-3.5ZM8.667 11.333c0 1.067-.934 2-2 2H5.333V16h-2V8h3.334c1.066 0 2 .933 2 2v1.333ZM15.333 14c0 1.067-.933 2-2 2H10V8h3.333c1.067 0 2 .933 2 2v4Zm5.334-4h-2v1.333h2v2h-2V16h-2V8h4v2ZM12 10h1.333v4H12v-4Zm-6.667 0h1.334v1.333H5.333V10Z" fill="#E2574C"></path> </svg> </span> 31 trang </div><div class="item" data-v-069517d7><span class="svg-icon" style="width:16px;height:16px;color:#000;" data-v-571a9c9f><svg fill="currentColor" stroke="" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M19 22.87L12 18.2L5 22.87V5C5 3.9 5.9 3 7 3H17C18.1 3 19 3.9 19 5V22.87ZM12 15.8L17 19.13V5H7V19.13L12 15.8Z" /> </svg> </span><!----></div></div></div></div></div></div><div data-v-3778e358><div class="c-card-row" data-v-3778e358 data-v-069517d7><a href="https://tailieu.vn/doc/bao-cao-thuc-tap-cong-ty-toyota-ben-thanh-2920344.html" class="thumbnail" data-v-069517d7><img loading="lazy" src="https://cdn.tailieu.vn/images/document/thumbnail/2025/20250810/nguyenanhquoc2809@gmail.com/135x160/90501754896301.jpg" alt="Báo cáo thực tập Toyota Bến Thành: Mẫu chuẩn, chi tiết nhất" data-v-069517d7></a><div class="text" data-v-069517d7><div class="content" data-v-069517d7><h3 data-v-069517d7><a href="https://tailieu.vn/doc/bao-cao-thuc-tap-cong-ty-toyota-ben-thanh-2920344.html" class="title clamp-5" data-v-069517d7>Báo cáo thực tập: Tại Công ty TNHH Toyota Bến Thành</a></h3><div class="footer-card" data-v-069517d7><div class="count-page" data-v-069517d7><span class="svg-icon" style="width:14px;height:14px;" data-v-069517d7 data-v-571a9c9f><svg fill="currentColor" stroke="" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> <rect width="24" height="24" rx="5" fill="#E2574C"></rect> <path fill="#fff" d="M2 6h19v12H2z"></path> <path d="M20 3.5 5.333 2C4.626 2.002 3.5 2 3 2.5c-.5.5-1.998.793-2 1.5v14.5c0 1.467 1.033.5 2.5.5L18 20.5c1.467 0 4-1.033 4-2.5l.5-11c0-1.467-1.033-3.5-2.5-3.5ZM8.667 11.333c0 1.067-.934 2-2 2H5.333V16h-2V8h3.334c1.066 0 2 .933 2 2v1.333ZM15.333 14c0 1.067-.933 2-2 2H10V8h3.333c1.067 0 2 .933 2 2v4Zm5.334-4h-2v1.333h2v2h-2V16h-2V8h4v2ZM12 10h1.333v4H12v-4Zm-6.667 0h1.334v1.333H5.333V10Z" fill="#E2574C"></path> </svg> </span> 33 trang </div><div class="item" data-v-069517d7><span class="svg-icon" style="width:16px;height:16px;color:#000;" data-v-571a9c9f><svg fill="currentColor" stroke="" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M19 22.87L12 18.2L5 22.87V5C5 3.9 5.9 3 7 3H17C18.1 3 19 3.9 19 5V22.87ZM12 15.8L17 19.13V5H7V19.13L12 15.8Z" /> </svg> </span><!----></div></div></div></div></div></div><div data-v-3778e358><div class="c-card-row" data-v-3778e358 data-v-069517d7><a href="https://tailieu.vn/doc/bai-tap-lon-tinh-toan-suc-keo-xe-con-2920197.html" class="thumbnail" data-v-069517d7><img loading="lazy" src="https://cdn.tailieu.vn/images/document/thumbnail/2025/20250808/kimphuong1001/135x160/23411754624150.jpg" alt="Bài tập lớn tính toán sức kéo xe con: Hướng dẫn chi tiết" data-v-069517d7></a><div class="text" data-v-069517d7><div class="content" data-v-069517d7><h3 data-v-069517d7><a href="https://tailieu.vn/doc/bai-tap-lon-tinh-toan-suc-keo-xe-con-2920197.html" class="title clamp-5" data-v-069517d7>Bài tập lớn: Tính toán sức kéo xe con</a></h3><div class="footer-card" data-v-069517d7><div class="count-page" data-v-069517d7><span class="svg-icon" style="width:14px;height:14px;" data-v-069517d7 data-v-571a9c9f><svg fill="currentColor" stroke="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"> <rect width="24" height="24" rx="5" fill="#086eca" /> <text x="12" y="17" text-anchor="middle" font-family="sans-serif" font-size="16" font-weight="bold" fill="#fff" > W </text> </svg> </span> 21 trang </div><div class="item" data-v-069517d7><span class="svg-icon" style="width:16px;height:16px;color:#000;" data-v-571a9c9f><svg fill="currentColor" stroke="" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M19 22.87L12 18.2L5 22.87V5C5 3.9 5.9 3 7 3H17C18.1 3 19 3.9 19 5V22.87ZM12 15.8L17 19.13V5H7V19.13L12 15.8Z" /> </svg> </span><!----></div></div></div></div></div></div><div data-v-3778e358><div class="c-card-row" data-v-3778e358 data-v-069517d7><a href="https://tailieu.vn/doc/do-an-tot-nghiep-huong-dan-trinh-bay-thuyet-minh-2916227.html" class="thumbnail" data-v-069517d7><img loading="lazy" src="https://cdn.tailieu.vn/images/document/thumbnail/2025/20250717/vijiraiya/135x160/52781752722145.jpg" alt="Hướng dẫn trình bày thuyết minh đồ án tốt nghiệp: Mẫu đồ án tốt nghiệp chuẩn" data-v-069517d7></a><div class="text" data-v-069517d7><div class="content" data-v-069517d7><h3 data-v-069517d7><a href="https://tailieu.vn/doc/do-an-tot-nghiep-huong-dan-trinh-bay-thuyet-minh-2916227.html" class="title clamp-5" data-v-069517d7>Đồ án tốt nghiệp: Hướng dẫn trình bày thuyết minh đồ án tốt nghiệp</a></h3><div class="footer-card" data-v-069517d7><div class="count-page" data-v-069517d7><span class="svg-icon" style="width:14px;height:14px;" data-v-069517d7 data-v-571a9c9f><svg fill="currentColor" stroke="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"> <rect width="24" height="24" rx="5" fill="#086eca" /> <text x="12" y="17" text-anchor="middle" font-family="sans-serif" font-size="16" font-weight="bold" fill="#fff" > W </text> </svg> </span> 84 trang </div><div class="item" data-v-069517d7><span class="svg-icon" style="width:16px;height:16px;color:#000;" data-v-571a9c9f><svg fill="currentColor" stroke="" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M19 22.87L12 18.2L5 22.87V5C5 3.9 5.9 3 7 3H17C18.1 3 19 3.9 19 5V22.87ZM12 15.8L17 19.13V5H7V19.13L12 15.8Z" /> </svg> </span><!----></div></div></div></div></div></div><div data-v-3778e358><div class="c-card-row" data-v-3778e358 data-v-069517d7><a href="https://tailieu.vn/doc/do-an-tot-nghiep-tinh-toan-kiem-tra-he-thong-dieu-hoa-khong-khi-toa-nha-depot-tham-luong-2916225.html" class="thumbnail" data-v-069517d7><img loading="lazy" src="https://cdn.tailieu.vn/images/document/thumbnail/2025/20250717/vijiraiya/135x160/40421752722146.jpg" alt="Đồ án tốt nghiệp: Tính toán, kiểm tra hệ thống điều hòa không khí cho tòa nhà Depot Tham Lương [chuẩn nhất]" data-v-069517d7></a><div class="text" data-v-069517d7><div class="content" data-v-069517d7><h3 data-v-069517d7><a href="https://tailieu.vn/doc/do-an-tot-nghiep-tinh-toan-kiem-tra-he-thong-dieu-hoa-khong-khi-toa-nha-depot-tham-luong-2916225.html" class="title clamp-5" data-v-069517d7>Đồ án tốt nghiệp: Tính toán, kiểm tra hệ thống điều hòa không khí cho tòa nhà Depot Tham Lương</a></h3><div class="footer-card" data-v-069517d7><div class="count-page" data-v-069517d7><span class="svg-icon" style="width:14px;height:14px;" data-v-069517d7 data-v-571a9c9f><svg fill="currentColor" stroke="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"> <rect width="24" height="24" rx="5" fill="#086eca" /> <text x="12" y="17" text-anchor="middle" font-family="sans-serif" font-size="16" font-weight="bold" fill="#fff" > W </text> </svg> </span> 79 trang </div><div class="item" data-v-069517d7><span class="svg-icon" style="width:16px;height:16px;color:#000;" data-v-571a9c9f><svg fill="currentColor" stroke="" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M19 22.87L12 18.2L5 22.87V5C5 3.9 5.9 3 7 3H17C18.1 3 19 3.9 19 5V22.87ZM12 15.8L17 19.13V5H7V19.13L12 15.8Z" /> </svg> </span><!----></div></div></div></div></div></div><div data-v-3778e358><div class="c-card-row" data-v-3778e358 data-v-069517d7><a href="https://tailieu.vn/doc/bao-cao-thuc-tap-quy-trinh-bao-duong-sua-chua-he-thong-phanh-toyota-vios-2915739.html" class="thumbnail" data-v-069517d7><img loading="lazy" src="https://cdn.tailieu.vn/images/document/thumbnail/2025/20250715/vijiraiya/135x160/13871752569371.jpg" alt="Quy trình bảo dưỡng, sửa chữa hệ thống phanh Toyota Vios: Báo cáo thực tập" data-v-069517d7></a><div class="text" data-v-069517d7><div class="content" data-v-069517d7><h3 data-v-069517d7><a href="https://tailieu.vn/doc/bao-cao-thuc-tap-quy-trinh-bao-duong-sua-chua-he-thong-phanh-toyota-vios-2915739.html" class="title clamp-5" data-v-069517d7>Báo cáo thực tập: Quy trình bảo dưỡng - sửa chữa hệ thống phanh Toyota Vios</a></h3><div class="footer-card" data-v-069517d7><div class="count-page" data-v-069517d7><span class="svg-icon" style="width:14px;height:14px;" data-v-069517d7 data-v-571a9c9f><svg fill="currentColor" stroke="" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> <rect width="24" height="24" rx="5" fill="#E2574C"></rect> <path fill="#fff" d="M2 6h19v12H2z"></path> <path d="M20 3.5 5.333 2C4.626 2.002 3.5 2 3 2.5c-.5.5-1.998.793-2 1.5v14.5c0 1.467 1.033.5 2.5.5L18 20.5c1.467 0 4-1.033 4-2.5l.5-11c0-1.467-1.033-3.5-2.5-3.5ZM8.667 11.333c0 1.067-.934 2-2 2H5.333V16h-2V8h3.334c1.066 0 2 .933 2 2v1.333ZM15.333 14c0 1.067-.933 2-2 2H10V8h3.333c1.067 0 2 .933 2 2v4Zm5.334-4h-2v1.333h2v2h-2V16h-2V8h4v2ZM12 10h1.333v4H12v-4Zm-6.667 0h1.334v1.333H5.333V10Z" fill="#E2574C"></path> </svg> </span> 71 trang </div><div class="item" data-v-069517d7><span class="svg-icon" style="width:16px;height:16px;color:#000;" data-v-571a9c9f><svg fill="currentColor" stroke="" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M19 22.87L12 18.2L5 22.87V5C5 3.9 5.9 3 7 3H17C18.1 3 19 3.9 19 5V22.87ZM12 15.8L17 19.13V5H7V19.13L12 15.8Z" /> </svg> </span><!----></div></div></div></div></div></div><!--]--></div><div class="body" data-v-3778e358><h2 class="title-box" data-v-3778e358>Tài liêu mới</h2><!--[--><div data-v-3778e358><div class="c-card-row" data-v-3778e358 data-v-069517d7><a href="https://tailieu.vn/doc/do-an-tot-nghiep-xay-dung-phan-mem-he-thong-dieu-khien-cho-xe-dua-dia-hinh-mini-2943127.html" class="thumbnail" data-v-069517d7><img loading="lazy" src="https://cdn.tailieu.vn/images/document/thumbnail/2026/20260121/bachduong_011/135x160/44551768967906.jpg" alt="Phần mềm điều khiển xe đua địa hình mini: Đồ án tốt nghiệp xây dựng hệ thống" data-v-069517d7></a><div class="text" data-v-069517d7><div class="content" data-v-069517d7><h3 data-v-069517d7><a href="https://tailieu.vn/doc/do-an-tot-nghiep-xay-dung-phan-mem-he-thong-dieu-khien-cho-xe-dua-dia-hinh-mini-2943127.html" class="title clamp-5" data-v-069517d7>Đồ án tốt nghiệp: Xây dựng phần mềm hệ thống điều khiển cho xe đua địa hình mini</a></h3><div class="footer-card" data-v-069517d7><div class="count-page" data-v-069517d7><span class="svg-icon" style="width:14px;height:14px;" data-v-069517d7 data-v-571a9c9f><svg fill="currentColor" stroke="" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> <rect width="24" height="24" rx="5" fill="#E2574C"></rect> <path fill="#fff" d="M2 6h19v12H2z"></path> <path d="M20 3.5 5.333 2C4.626 2.002 3.5 2 3 2.5c-.5.5-1.998.793-2 1.5v14.5c0 1.467 1.033.5 2.5.5L18 20.5c1.467 0 4-1.033 4-2.5l.5-11c0-1.467-1.033-3.5-2.5-3.5ZM8.667 11.333c0 1.067-.934 2-2 2H5.333V16h-2V8h3.334c1.066 0 2 .933 2 2v1.333ZM15.333 14c0 1.067-.933 2-2 2H10V8h3.333c1.067 0 2 .933 2 2v4Zm5.334-4h-2v1.333h2v2h-2V16h-2V8h4v2ZM12 10h1.333v4H12v-4Zm-6.667 0h1.334v1.333H5.333V10Z" fill="#E2574C"></path> </svg> </span> 133 trang </div><div class="item" data-v-069517d7><span class="svg-icon" style="width:16px;height:16px;color:#000;" data-v-571a9c9f><svg fill="currentColor" stroke="" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M19 22.87L12 18.2L5 22.87V5C5 3.9 5.9 3 7 3H17C18.1 3 19 3.9 19 5V22.87ZM12 15.8L17 19.13V5H7V19.13L12 15.8Z" /> </svg> </span><!----></div></div></div></div></div></div><div data-v-3778e358><div class="c-card-row" data-v-3778e358 data-v-069517d7><a href="https://tailieu.vn/doc/bai-tieu-luan-tinh-toan-thiet-ke-cau-truc-8-tan-2942062.html" class="thumbnail" data-v-069517d7><img loading="lazy" src="https://cdn.tailieu.vn/images/document/thumbnail/2025/20251231/gaupanda090/135x160/65911768546688.jpg" alt="Tính toán thiết kế cầu trục 8 tấn: Bài tiểu luận chi tiết" data-v-069517d7></a><div class="text" data-v-069517d7><div class="content" data-v-069517d7><h3 data-v-069517d7><a href="https://tailieu.vn/doc/bai-tieu-luan-tinh-toan-thiet-ke-cau-truc-8-tan-2942062.html" class="title clamp-5" data-v-069517d7>Bài tiểu luận: Tính toán thiết kế cầu trục 8 tấn</a></h3><div class="footer-card" data-v-069517d7><div class="count-page" data-v-069517d7><span class="svg-icon" style="width:14px;height:14px;" data-v-069517d7 data-v-571a9c9f><svg fill="currentColor" stroke="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"> <rect width="24" height="24" rx="5" fill="#086eca" /> <text x="12" y="17" text-anchor="middle" font-family="sans-serif" font-size="16" font-weight="bold" fill="#fff" > W </text> </svg> </span> 130 trang </div><div class="item" data-v-069517d7><span class="svg-icon" style="width:16px;height:16px;color:#000;" data-v-571a9c9f><svg fill="currentColor" stroke="" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M19 22.87L12 18.2L5 22.87V5C5 3.9 5.9 3 7 3H17C18.1 3 19 3.9 19 5V22.87ZM12 15.8L17 19.13V5H7V19.13L12 15.8Z" /> </svg> </span><!----></div></div></div></div></div></div><div data-v-3778e358><div class="c-card-row" data-v-3778e358 data-v-069517d7><a href="https://tailieu.vn/doc/bao-cao-thuc-tap-thuc-hanh-lap-mach-da-hai-xung-vuong-2940934.html" class="thumbnail" data-v-069517d7><img loading="lazy" src="https://cdn.tailieu.vn/images/document/thumbnail/2025/20250612/minhquan0690/135x160/29311768205795.jpg" alt="Báo cáo thực tập thực hành lắp mạch đa hài xung vuông chi tiết" data-v-069517d7></a><div class="text" data-v-069517d7><div class="content" data-v-069517d7><h3 data-v-069517d7><a href="https://tailieu.vn/doc/bao-cao-thuc-tap-thuc-hanh-lap-mach-da-hai-xung-vuong-2940934.html" class="title clamp-5" data-v-069517d7>Báo cáo thực tập: Thực hành lắp mạch đa hài xung vuông</a></h3><div class="footer-card" data-v-069517d7><div class="count-page" data-v-069517d7><span class="svg-icon" style="width:14px;height:14px;" data-v-069517d7 data-v-571a9c9f><svg fill="currentColor" stroke="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"> <rect width="24" height="24" rx="5" fill="#086eca" /> <text x="12" y="17" text-anchor="middle" font-family="sans-serif" font-size="16" font-weight="bold" fill="#fff" > W </text> </svg> </span> 11 trang </div><div class="item" data-v-069517d7><span class="svg-icon" style="width:16px;height:16px;color:#000;" data-v-571a9c9f><svg fill="currentColor" stroke="" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M19 22.87L12 18.2L5 22.87V5C5 3.9 5.9 3 7 3H17C18.1 3 19 3.9 19 5V22.87ZM12 15.8L17 19.13V5H7V19.13L12 15.8Z" /> </svg> </span><!----></div></div></div></div></div></div><div data-v-3778e358><div class="c-card-row" data-v-3778e358 data-v-069517d7><a href="https://tailieu.vn/doc/khoa-luan-tot-nghiep-nghien-cuu-dac-tinh-khi-dong-hoc-tren-xe-vinfast-vf5-bang-ung-dung-mo-phong-cfd-2940266.html" class="thumbnail" data-v-069517d7><img loading="lazy" src="https://cdn.tailieu.vn/images/document/thumbnail/2025/20251216/sanhobien01/135x160/34541767953878.jpg" alt="Nghiên cứu đặc tính khí động học xe VinFast VF5: Khóa luận tốt nghiệp ứng dụng mô phỏng CFD" data-v-069517d7></a><div class="text" data-v-069517d7><div class="content" data-v-069517d7><h3 data-v-069517d7><a href="https://tailieu.vn/doc/khoa-luan-tot-nghiep-nghien-cuu-dac-tinh-khi-dong-hoc-tren-xe-vinfast-vf5-bang-ung-dung-mo-phong-cfd-2940266.html" class="title clamp-5" data-v-069517d7>Khoá luận tốt nghiệp: Nghiên cứu đặc tính khí động học trên xe VinFast VF5 bằng ứng dụng mô phỏng CFD</a></h3><div class="footer-card" data-v-069517d7><div class="count-page" data-v-069517d7><span class="svg-icon" style="width:14px;height:14px;" data-v-069517d7 data-v-571a9c9f><svg fill="currentColor" stroke="" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> <rect width="24" height="24" rx="5" fill="#E2574C"></rect> <path fill="#fff" d="M2 6h19v12H2z"></path> <path d="M20 3.5 5.333 2C4.626 2.002 3.5 2 3 2.5c-.5.5-1.998.793-2 1.5v14.5c0 1.467 1.033.5 2.5.5L18 20.5c1.467 0 4-1.033 4-2.5l.5-11c0-1.467-1.033-3.5-2.5-3.5ZM8.667 11.333c0 1.067-.934 2-2 2H5.333V16h-2V8h3.334c1.066 0 2 .933 2 2v1.333ZM15.333 14c0 1.067-.933 2-2 2H10V8h3.333c1.067 0 2 .933 2 2v4Zm5.334-4h-2v1.333h2v2h-2V16h-2V8h4v2ZM12 10h1.333v4H12v-4Zm-6.667 0h1.334v1.333H5.333V10Z" fill="#E2574C"></path> </svg> </span> 61 trang </div><div class="item" data-v-069517d7><span class="svg-icon" style="width:16px;height:16px;color:#000;" data-v-571a9c9f><svg fill="currentColor" stroke="" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M19 22.87L12 18.2L5 22.87V5C5 3.9 5.9 3 7 3H17C18.1 3 19 3.9 19 5V22.87ZM12 15.8L17 19.13V5H7V19.13L12 15.8Z" /> </svg> </span><!----></div></div></div></div></div></div><div data-v-3778e358><div class="c-card-row" data-v-3778e358 data-v-069517d7><a href="https://tailieu.vn/doc/khoa-luat-tot-nghiep-thiet-ke-cai-tien-hong-nap-cho-dong-co-diesel-vikyno-rv165-2-voi-muc-tieu-nang-cao-ty-so-xoay-bang-phuong-phap-mo-phong-2939410.html" class="thumbnail" data-v-069517d7><img loading="lazy" src="https://cdn.tailieu.vn/images/document/thumbnail/2025/20251231/tomhum321/135x160/58221767776710.jpg" alt="Thiết Kế Cải Tiến Họng Nạp Động Cơ Diesel VIKYNO RV165-2: Khóa Luật Tốt Nghiệp Nâng Cao Tỷ Số Xoáy Bằng Mô Phỏng" data-v-069517d7></a><div class="text" data-v-069517d7><div class="content" data-v-069517d7><h3 data-v-069517d7><a href="https://tailieu.vn/doc/khoa-luat-tot-nghiep-thiet-ke-cai-tien-hong-nap-cho-dong-co-diesel-vikyno-rv165-2-voi-muc-tieu-nang-cao-ty-so-xoay-bang-phuong-phap-mo-phong-2939410.html" class="title clamp-5" data-v-069517d7>Khoá luật tốt nghiệp: Thiết kế cải tiến họng nạp cho động cơ Diesel VIKYNO RV165-2 với mục tiêu nâng cao tỷ số xoáy bằng phương pháp mô phỏng</a></h3><div class="footer-card" data-v-069517d7><div class="count-page" data-v-069517d7><span class="svg-icon" style="width:14px;height:14px;" data-v-069517d7 data-v-571a9c9f><svg fill="currentColor" stroke="" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> <rect width="24" height="24" rx="5" fill="#E2574C"></rect> <path fill="#fff" d="M2 6h19v12H2z"></path> <path d="M20 3.5 5.333 2C4.626 2.002 3.5 2 3 2.5c-.5.5-1.998.793-2 1.5v14.5c0 1.467 1.033.5 2.5.5L18 20.5c1.467 0 4-1.033 4-2.5l.5-11c0-1.467-1.033-3.5-2.5-3.5ZM8.667 11.333c0 1.067-.934 2-2 2H5.333V16h-2V8h3.334c1.066 0 2 .933 2 2v1.333ZM15.333 14c0 1.067-.933 2-2 2H10V8h3.333c1.067 0 2 .933 2 2v4Zm5.334-4h-2v1.333h2v2h-2V16h-2V8h4v2ZM12 10h1.333v4H12v-4Zm-6.667 0h1.334v1.333H5.333V10Z" fill="#E2574C"></path> </svg> </span> 106 trang </div><div class="item" data-v-069517d7><span class="svg-icon" style="width:16px;height:16px;color:#000;" data-v-571a9c9f><svg fill="currentColor" stroke="" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M19 22.87L12 18.2L5 22.87V5C5 3.9 5.9 3 7 3H17C18.1 3 19 3.9 19 5V22.87ZM12 15.8L17 19.13V5H7V19.13L12 15.8Z" /> </svg> </span><!----></div></div></div></div></div></div><div data-v-3778e358><div class="c-card-row" data-v-3778e358 data-v-069517d7><a href="https://tailieu.vn/doc/luan-van-tot-nghiep-thiet-ke-he-thong-dieu-hoa-khong-khi-cho-toa-nha-uoa-tower-2939404.html" class="thumbnail" data-v-069517d7><img loading="lazy" src="https://cdn.tailieu.vn/images/document/thumbnail/2025/20251231/tomhum321/135x160/38641767775359.jpg" alt="Thiết kế hệ thống điều hòa không khí cho tòa nhà UOA Tower: Luận văn tốt nghiệp" data-v-069517d7></a><div class="text" data-v-069517d7><div class="content" data-v-069517d7><h3 data-v-069517d7><a href="https://tailieu.vn/doc/luan-van-tot-nghiep-thiet-ke-he-thong-dieu-hoa-khong-khi-cho-toa-nha-uoa-tower-2939404.html" class="title clamp-5" data-v-069517d7>Luận văn tốt nghiệp: Thiết kế hệ thống điều hòa không khí cho tòa nhà UOA Tower</a></h3><div class="footer-card" data-v-069517d7><div class="count-page" data-v-069517d7><span class="svg-icon" style="width:14px;height:14px;" data-v-069517d7 data-v-571a9c9f><svg fill="currentColor" stroke="" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> <rect width="24" height="24" rx="5" fill="#E2574C"></rect> <path fill="#fff" d="M2 6h19v12H2z"></path> <path d="M20 3.5 5.333 2C4.626 2.002 3.5 2 3 2.5c-.5.5-1.998.793-2 1.5v14.5c0 1.467 1.033.5 2.5.5L18 20.5c1.467 0 4-1.033 4-2.5l.5-11c0-1.467-1.033-3.5-2.5-3.5ZM8.667 11.333c0 1.067-.934 2-2 2H5.333V16h-2V8h3.334c1.066 0 2 .933 2 2v1.333ZM15.333 14c0 1.067-.933 2-2 2H10V8h3.333c1.067 0 2 .933 2 2v4Zm5.334-4h-2v1.333h2v2h-2V16h-2V8h4v2ZM12 10h1.333v4H12v-4Zm-6.667 0h1.334v1.333H5.333V10Z" fill="#E2574C"></path> </svg> </span> 164 trang </div><div class="item" data-v-069517d7><span class="svg-icon" style="width:16px;height:16px;color:#000;" data-v-571a9c9f><svg fill="currentColor" stroke="" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M19 22.87L12 18.2L5 22.87V5C5 3.9 5.9 3 7 3H17C18.1 3 19 3.9 19 5V22.87ZM12 15.8L17 19.13V5H7V19.13L12 15.8Z" /> </svg> </span><!----></div></div></div></div></div></div><div data-v-3778e358><div class="c-card-row" data-v-3778e358 data-v-069517d7><a href="https://tailieu.vn/doc/khoa-luan-tot-nghiep-khao-sat-dac-tinh-cong-suat-dong-co-vikyno-rv125-cai-tien-ung-dung-che-do-nhien-lieu-kep-lpg-diesel-2939403.html" class="thumbnail" data-v-069517d7><img loading="lazy" src="https://cdn.tailieu.vn/images/document/thumbnail/2025/20251231/tomhum321/135x160/73021767775360.jpg" alt="Khảo sát đặc tính công suất động cơ Vikyno RV125 cải tiến ứng dụng chế độ nhiên liệu kép LPG-DIESEL: Khoá luận tốt nghiệp" data-v-069517d7></a><div class="text" data-v-069517d7><div class="content" data-v-069517d7><h3 data-v-069517d7><a href="https://tailieu.vn/doc/khoa-luan-tot-nghiep-khao-sat-dac-tinh-cong-suat-dong-co-vikyno-rv125-cai-tien-ung-dung-che-do-nhien-lieu-kep-lpg-diesel-2939403.html" class="title clamp-5" data-v-069517d7>Khoá luận tốt nghiệp: Khảo sát đặc tính công suất động cơ Vikyno RV125 cải tiến ứng dụng chế độ nhiên liệu kép LPG-DIESEL</a></h3><div class="footer-card" data-v-069517d7><div class="count-page" data-v-069517d7><span class="svg-icon" style="width:14px;height:14px;" data-v-069517d7 data-v-571a9c9f><svg fill="currentColor" stroke="" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> <rect width="24" height="24" rx="5" fill="#E2574C"></rect> <path fill="#fff" d="M2 6h19v12H2z"></path> <path d="M20 3.5 5.333 2C4.626 2.002 3.5 2 3 2.5c-.5.5-1.998.793-2 1.5v14.5c0 1.467 1.033.5 2.5.5L18 20.5c1.467 0 4-1.033 4-2.5l.5-11c0-1.467-1.033-3.5-2.5-3.5ZM8.667 11.333c0 1.067-.934 2-2 2H5.333V16h-2V8h3.334c1.066 0 2 .933 2 2v1.333ZM15.333 14c0 1.067-.933 2-2 2H10V8h3.333c1.067 0 2 .933 2 2v4Zm5.334-4h-2v1.333h2v2h-2V16h-2V8h4v2ZM12 10h1.333v4H12v-4Zm-6.667 0h1.334v1.333H5.333V10Z" fill="#E2574C"></path> </svg> </span> 109 trang </div><div class="item" data-v-069517d7><span class="svg-icon" style="width:16px;height:16px;color:#000;" data-v-571a9c9f><svg fill="currentColor" stroke="" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M19 22.87L12 18.2L5 22.87V5C5 3.9 5.9 3 7 3H17C18.1 3 19 3.9 19 5V22.87ZM12 15.8L17 19.13V5H7V19.13L12 15.8Z" /> </svg> </span><!----></div></div></div></div></div></div><div data-v-3778e358><div class="c-card-row" data-v-3778e358 data-v-069517d7><a href="https://tailieu.vn/doc/bai-tieu-luan-nghien-cuu-ve-ic-555-ic-7490-ic-7447-va-thiet-ke-led-7-doan-dem-so-2937408.html" class="thumbnail" data-v-069517d7><img loading="lazy" src="https://cdn.tailieu.vn/images/document/thumbnail/2025/20251227/tienhieusinhlien@gmail.com/135x160/5691766982129.jpg" alt="Nghiên cứu IC 555, IC 7490, IC 7447 và thiết kế LED 7 đoạn đếm số: Bài tiểu luận chi tiết" data-v-069517d7></a><div class="text" data-v-069517d7><div class="content" data-v-069517d7><h3 data-v-069517d7><a href="https://tailieu.vn/doc/bai-tieu-luan-nghien-cuu-ve-ic-555-ic-7490-ic-7447-va-thiet-ke-led-7-doan-dem-so-2937408.html" class="title clamp-5" data-v-069517d7>Bài tiểu luận: Nghiên cứu về IC 555, IC 7490, IC 7447 và thiết kế LED 7 đoạn đếm số</a></h3><div class="footer-card" data-v-069517d7><div class="count-page" data-v-069517d7><span class="svg-icon" style="width:14px;height:14px;" data-v-069517d7 data-v-571a9c9f><svg fill="currentColor" stroke="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"> <rect width="24" height="24" rx="5" fill="#086eca" /> <text x="12" y="17" text-anchor="middle" font-family="sans-serif" font-size="16" font-weight="bold" fill="#fff" > W </text> </svg> </span> 17 trang </div><div class="item" data-v-069517d7><span class="svg-icon" style="width:16px;height:16px;color:#000;" data-v-571a9c9f><svg fill="currentColor" stroke="" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M19 22.87L12 18.2L5 22.87V5C5 3.9 5.9 3 7 3H17C18.1 3 19 3.9 19 5V22.87ZM12 15.8L17 19.13V5H7V19.13L12 15.8Z" /> </svg> </span><!----></div></div></div></div></div></div><div data-v-3778e358><div class="c-card-row" data-v-3778e358 data-v-069517d7><a href="https://tailieu.vn/doc/bai-tieu-luan-bai-do-xe-thong-minh-rfid-2937406.html" class="thumbnail" data-v-069517d7><img loading="lazy" src="https://cdn.tailieu.vn/images/document/thumbnail/2025/20251227/tienhieusinhlien@gmail.com/135x160/2041766982130.jpg" alt="Bãi đỗ xe thông minh RFID: Bài tiểu luận chi tiết" data-v-069517d7></a><div class="text" data-v-069517d7><div class="content" data-v-069517d7><h3 data-v-069517d7><a href="https://tailieu.vn/doc/bai-tieu-luan-bai-do-xe-thong-minh-rfid-2937406.html" class="title clamp-5" data-v-069517d7>Bài tiểu luận: Bãi đỗ xe thông minh RFID</a></h3><div class="footer-card" data-v-069517d7><div class="count-page" data-v-069517d7><span class="svg-icon" style="width:14px;height:14px;" data-v-069517d7 data-v-571a9c9f><svg fill="currentColor" stroke="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"> <rect width="24" height="24" rx="5" fill="#086eca" /> <text x="12" y="17" text-anchor="middle" font-family="sans-serif" font-size="16" font-weight="bold" fill="#fff" > W </text> </svg> </span> 30 trang </div><div class="item" data-v-069517d7><span class="svg-icon" style="width:16px;height:16px;color:#000;" data-v-571a9c9f><svg fill="currentColor" stroke="" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M19 22.87L12 18.2L5 22.87V5C5 3.9 5.9 3 7 3H17C18.1 3 19 3.9 19 5V22.87ZM12 15.8L17 19.13V5H7V19.13L12 15.8Z" /> </svg> </span><!----></div></div></div></div></div></div><div data-v-3778e358><div class="c-card-row" data-v-3778e358 data-v-069517d7><a href="https://tailieu.vn/doc/bao-cao-thuc-tap-tai-cong-ty-co-phan-long-tho-2935659.html" class="thumbnail" data-v-069517d7><img loading="lazy" src="https://cdn.tailieu.vn/images/document/thumbnail/2025/20251219/minhphuc04032003@gmail.com/135x160/92101766378446.jpg" alt="Báo cáo thực tập tại Công ty Cổ phần Long Thọ" data-v-069517d7></a><div class="text" data-v-069517d7><div class="content" data-v-069517d7><h3 data-v-069517d7><a href="https://tailieu.vn/doc/bao-cao-thuc-tap-tai-cong-ty-co-phan-long-tho-2935659.html" class="title clamp-5" data-v-069517d7>Báo cáo thực tập: Tại Công ty Cổ phần Long Thọ</a></h3><div class="footer-card" data-v-069517d7><div class="count-page" data-v-069517d7><span class="svg-icon" style="width:14px;height:14px;" data-v-069517d7 data-v-571a9c9f><svg fill="currentColor" stroke="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"> <rect width="24" height="24" rx="5" fill="#086eca" /> <text x="12" y="17" text-anchor="middle" font-family="sans-serif" font-size="16" font-weight="bold" fill="#fff" > W </text> </svg> </span> 21 trang </div><div class="item" data-v-069517d7><span class="svg-icon" style="width:16px;height:16px;color:#000;" data-v-571a9c9f><svg fill="currentColor" stroke="" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M19 22.87L12 18.2L5 22.87V5C5 3.9 5.9 3 7 3H17C18.1 3 19 3.9 19 5V22.87ZM12 15.8L17 19.13V5H7V19.13L12 15.8Z" /> </svg> </span><!----></div></div></div></div></div></div><div data-v-3778e358><div class="c-card-row" data-v-3778e358 data-v-069517d7><a href="https://tailieu.vn/doc/do-an-tot-nghiep-tinh-toan-thiet-ke-may-nghien-bi-cong-suat-2-trieu-tannam-trong-day-chuyen-san-xuat-xi-mang-2935658.html" class="thumbnail" data-v-069517d7><img loading="lazy" src="https://cdn.tailieu.vn/images/document/thumbnail/2025/20251219/minhphuc04032003@gmail.com/135x160/57051766378447.jpg" alt="Tính toán thiết kế máy nghiền bi công suất 2 triệu tấn/năm trong dây chuyền sản xuất xi măng: Đồ án tốt nghiệp" data-v-069517d7></a><div class="text" data-v-069517d7><div class="content" data-v-069517d7><h3 data-v-069517d7><a href="https://tailieu.vn/doc/do-an-tot-nghiep-tinh-toan-thiet-ke-may-nghien-bi-cong-suat-2-trieu-tannam-trong-day-chuyen-san-xuat-xi-mang-2935658.html" class="title clamp-5" data-v-069517d7>Đồ án tốt nghiệp: Tính toán thiết kế máy nghiền bi công suất 2 triệu tấn/năm trong dây chuyền sản xuất xi măng</a></h3><div class="footer-card" data-v-069517d7><div class="count-page" data-v-069517d7><span class="svg-icon" style="width:14px;height:14px;" data-v-069517d7 data-v-571a9c9f><svg fill="currentColor" stroke="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"> <rect width="24" height="24" rx="5" fill="#086eca" /> <text x="12" y="17" text-anchor="middle" font-family="sans-serif" font-size="16" font-weight="bold" fill="#fff" > W </text> </svg> </span> 45 trang </div><div class="item" data-v-069517d7><span class="svg-icon" style="width:16px;height:16px;color:#000;" data-v-571a9c9f><svg fill="currentColor" stroke="" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M19 22.87L12 18.2L5 22.87V5C5 3.9 5.9 3 7 3H17C18.1 3 19 3.9 19 5V22.87ZM12 15.8L17 19.13V5H7V19.13L12 15.8Z" /> </svg> </span><!----></div></div></div></div></div></div><div data-v-3778e358><div class="c-card-row" data-v-3778e358 data-v-069517d7><a href="https://tailieu.vn/doc/do-an-tot-nghiep-tinh-toan-thiet-ke-he-thong-bao-ve-sa-thai-phu-tai-cho-he-thong-dien-2933741.html" class="thumbnail" data-v-069517d7><img loading="lazy" src="https://cdn.tailieu.vn/images/document/thumbnail/2025/20251213/tangtuy03/135x160/88391765620137.jpg" alt="Tính toán, thiết kế hệ thống bảo vệ sa thải phụ tải cho hệ thống điện: Đồ án tốt nghiệp" data-v-069517d7></a><div class="text" data-v-069517d7><div class="content" data-v-069517d7><h3 data-v-069517d7><a href="https://tailieu.vn/doc/do-an-tot-nghiep-tinh-toan-thiet-ke-he-thong-bao-ve-sa-thai-phu-tai-cho-he-thong-dien-2933741.html" class="title clamp-5" data-v-069517d7>Đồ án tốt nghiệp: Tính toán, thiết kế hệ thống bảo vệ sa thải phụ tải cho hệ thống điện</a></h3><div class="footer-card" data-v-069517d7><div class="count-page" data-v-069517d7><span class="svg-icon" style="width:14px;height:14px;" data-v-069517d7 data-v-571a9c9f><svg fill="currentColor" stroke="" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> <rect width="24" height="24" rx="5" fill="#E2574C"></rect> <path fill="#fff" d="M2 6h19v12H2z"></path> <path d="M20 3.5 5.333 2C4.626 2.002 3.5 2 3 2.5c-.5.5-1.998.793-2 1.5v14.5c0 1.467 1.033.5 2.5.5L18 20.5c1.467 0 4-1.033 4-2.5l.5-11c0-1.467-1.033-3.5-2.5-3.5ZM8.667 11.333c0 1.067-.934 2-2 2H5.333V16h-2V8h3.334c1.066 0 2 .933 2 2v1.333ZM15.333 14c0 1.067-.933 2-2 2H10V8h3.333c1.067 0 2 .933 2 2v4Zm5.334-4h-2v1.333h2v2h-2V16h-2V8h4v2ZM12 10h1.333v4H12v-4Zm-6.667 0h1.334v1.333H5.333V10Z" fill="#E2574C"></path> </svg> </span> 94 trang </div><div class="item" data-v-069517d7><span class="svg-icon" style="width:16px;height:16px;color:#000;" data-v-571a9c9f><svg fill="currentColor" stroke="" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M19 22.87L12 18.2L5 22.87V5C5 3.9 5.9 3 7 3H17C18.1 3 19 3.9 19 5V22.87ZM12 15.8L17 19.13V5H7V19.13L12 15.8Z" /> </svg> </span><!----></div></div></div></div></div></div><div data-v-3778e358><div class="c-card-row" data-v-3778e358 data-v-069517d7><a href="https://tailieu.vn/doc/bao-cao-thuc-tap-tot-nghiep-tim-hieu-he-thong-tu-dong-hoa-nha-may-nhiet-dien-hai-phong-2933739.html" class="thumbnail" data-v-069517d7><img loading="lazy" src="https://cdn.tailieu.vn/images/document/thumbnail/2025/20251213/tangtuy03/135x160/57281765620139.jpg" alt="Báo cáo thực tập tốt nghiệp: Tìm hiểu hệ thống tự động hóa Nhà máy Nhiệt điện Hải Phòng chi tiết" data-v-069517d7></a><div class="text" data-v-069517d7><div class="content" data-v-069517d7><h3 data-v-069517d7><a href="https://tailieu.vn/doc/bao-cao-thuc-tap-tot-nghiep-tim-hieu-he-thong-tu-dong-hoa-nha-may-nhiet-dien-hai-phong-2933739.html" class="title clamp-5" data-v-069517d7>Báo cáo thực tập tốt nghiệp: Tìm hiểu hệ thống tự động hóa Nhà máy Nhiệt điện Hải Phòng</a></h3><div class="footer-card" data-v-069517d7><div class="count-page" data-v-069517d7><span class="svg-icon" style="width:14px;height:14px;" data-v-069517d7 data-v-571a9c9f><svg fill="currentColor" stroke="" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> <rect width="24" height="24" rx="5" fill="#E2574C"></rect> <path fill="#fff" d="M2 6h19v12H2z"></path> <path d="M20 3.5 5.333 2C4.626 2.002 3.5 2 3 2.5c-.5.5-1.998.793-2 1.5v14.5c0 1.467 1.033.5 2.5.5L18 20.5c1.467 0 4-1.033 4-2.5l.5-11c0-1.467-1.033-3.5-2.5-3.5ZM8.667 11.333c0 1.067-.934 2-2 2H5.333V16h-2V8h3.334c1.066 0 2 .933 2 2v1.333ZM15.333 14c0 1.067-.933 2-2 2H10V8h3.333c1.067 0 2 .933 2 2v4Zm5.334-4h-2v1.333h2v2h-2V16h-2V8h4v2ZM12 10h1.333v4H12v-4Zm-6.667 0h1.334v1.333H5.333V10Z" fill="#E2574C"></path> </svg> </span> 49 trang </div><div class="item" data-v-069517d7><span class="svg-icon" style="width:16px;height:16px;color:#000;" data-v-571a9c9f><svg fill="currentColor" stroke="" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M19 22.87L12 18.2L5 22.87V5C5 3.9 5.9 3 7 3H17C18.1 3 19 3.9 19 5V22.87ZM12 15.8L17 19.13V5H7V19.13L12 15.8Z" /> </svg> </span><!----></div></div></div></div></div></div><div data-v-3778e358><div class="c-card-row" data-v-3778e358 data-v-069517d7><a href="https://tailieu.vn/doc/do-an-mon-hoc-thiet-ke-cung-cap-dien-cho-toa-nha-b2-dai-hoc-vinh-2933544.html" class="thumbnail" data-v-069517d7><img loading="lazy" src="https://cdn.tailieu.vn/images/document/thumbnail/2025/20251212/phanduchung10072004@gmail.com/135x160/65851765594609.jpg" alt="Thiết kế cung cấp điện cho tòa nhà B2 Đại học Vinh: Đồ án môn học [chuẩn nhất]" data-v-069517d7></a><div class="text" data-v-069517d7><div class="content" data-v-069517d7><h3 data-v-069517d7><a href="https://tailieu.vn/doc/do-an-mon-hoc-thiet-ke-cung-cap-dien-cho-toa-nha-b2-dai-hoc-vinh-2933544.html" class="title clamp-5" data-v-069517d7>Đồ án môn học: Thiết kế cung cấp điện cho tòa nhà B2 Đại học Vinh</a></h3><div class="footer-card" data-v-069517d7><div class="count-page" data-v-069517d7><span class="svg-icon" style="width:14px;height:14px;" data-v-069517d7 data-v-571a9c9f><svg fill="currentColor" stroke="" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"> <rect width="24" height="24" rx="5" fill="#086eca" /> <text x="12" y="17" text-anchor="middle" font-family="sans-serif" font-size="16" font-weight="bold" fill="#fff" > W </text> </svg> </span> 111 trang </div><div class="item" data-v-069517d7><span class="svg-icon" style="width:16px;height:16px;color:#000;" data-v-571a9c9f><svg fill="currentColor" stroke="" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M19 22.87L12 18.2L5 22.87V5C5 3.9 5.9 3 7 3H17C18.1 3 19 3.9 19 5V22.87ZM12 15.8L17 19.13V5H7V19.13L12 15.8Z" /> </svg> </span><!----></div></div></div></div></div></div><div data-v-3778e358><div class="c-card-row" data-v-3778e358 data-v-069517d7><a href="https://tailieu.vn/doc/tieu-luan-mon-hoc-ky-thuat-nang-chuyen-tinh-toan-thiet-ke-cau-truc-8-tan-2933538.html" class="thumbnail" data-v-069517d7><img loading="lazy" src="https://cdn.tailieu.vn/images/document/thumbnail/2025/20251212/vijiraiya/135x160/34091765598886.jpg" alt="Tính toán thiết kế cầu trục 8 tấn: Tiểu luận môn học Kỹ thuật nâng chuyển" data-v-069517d7></a><div class="text" data-v-069517d7><div class="content" data-v-069517d7><h3 data-v-069517d7><a href="https://tailieu.vn/doc/tieu-luan-mon-hoc-ky-thuat-nang-chuyen-tinh-toan-thiet-ke-cau-truc-8-tan-2933538.html" class="title clamp-5" data-v-069517d7>Tiểu luận môn học Kỹ thuật nâng chuyển: Tính toán thiết kế cầu trục 8 tấn</a></h3><div class="footer-card" data-v-069517d7><div class="count-page" data-v-069517d7><span class="svg-icon" style="width:14px;height:14px;" data-v-069517d7 data-v-571a9c9f><svg fill="currentColor" stroke="" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> <rect width="24" height="24" rx="5" fill="#E2574C"></rect> <path fill="#fff" d="M2 6h19v12H2z"></path> <path d="M20 3.5 5.333 2C4.626 2.002 3.5 2 3 2.5c-.5.5-1.998.793-2 1.5v14.5c0 1.467 1.033.5 2.5.5L18 20.5c1.467 0 4-1.033 4-2.5l.5-11c0-1.467-1.033-3.5-2.5-3.5ZM8.667 11.333c0 1.067-.934 2-2 2H5.333V16h-2V8h3.334c1.066 0 2 .933 2 2v1.333ZM15.333 14c0 1.067-.933 2-2 2H10V8h3.333c1.067 0 2 .933 2 2v4Zm5.334-4h-2v1.333h2v2h-2V16h-2V8h4v2ZM12 10h1.333v4H12v-4Zm-6.667 0h1.334v1.333H5.333V10Z" fill="#E2574C"></path> </svg> </span> 130 trang </div><div class="item" data-v-069517d7><span class="svg-icon" style="width:16px;height:16px;color:#000;" data-v-571a9c9f><svg fill="currentColor" stroke="" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M19 22.87L12 18.2L5 22.87V5C5 3.9 5.9 3 7 3H17C18.1 3 19 3.9 19 5V22.87ZM12 15.8L17 19.13V5H7V19.13L12 15.8Z" /> </svg> </span><!----></div></div></div></div></div></div><!--]--></div></div></div></div><div data-v-3778e358><!----><!----><div style="display:none;" class="modal-overlay" data-v-3778e358><div class="modal-box" data-v-3778e358><div class="header-modal" data-v-3778e358><div class="block-header" data-v-3778e358><h2 class="modal-title" data-v-3778e358>AI tóm tắt</h2><span data-v-3778e358> - Giúp bạn nắm bắt nội dung tài liệu nhanh chóng!</span></div><div class="close" data-v-3778e358><svg fill="currentColor" stroke="" width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" role="img" aria-hidden="true" focusable="false" data-v-3778e358><path fill-rule="evenodd" clip-rule="evenodd" d="m13.414 12 7.293-7.293-1.414-1.414L12 10.586 4.707 3.293 3.293 4.707 10.586 12l-7.293 7.293 1.414 1.414L12 13.414l7.293 7.293 1.414-1.414L13.414 12Z" fill="currentColor" data-v-3778e358></path></svg></div></div><div class="modal-content" data-v-3778e358><div data-v-3778e358><h3 class="intro" data-v-3778e358>Giới thiệu tài liệu</h3><div class="content" data-v-3778e358></div></div><div data-v-3778e358><h3 class="target_audience" data-v-3778e358>Đối tượng sử dụng</h3><div class="content" data-v-3778e358></div></div><div data-v-3778e358><h3 class="target_audience" data-v-3778e358>Từ khoá chính</h3><div class="content" data-v-3778e358><div class="keywords" data-v-3778e358><!--[--><!--]--></div></div></div><div data-v-3778e358><h3 class="target_audience" data-v-3778e358>Nội dung tóm tắt</h3><div class="content" data-v-3778e358></div></div></div></div></div></div></div><div class="toast-container" data-v-1a6e0392><!--[--><!--]--></div><!--]--><div class="c-footer-desktop"><div class="container"><div class="body-footer"><div class="left"><div class="text"><h2><a rel="nofollow" href="/ht/gioi-thieu.html" class="title"> Giới thiệu</a></h2><h3><a rel="nofollow" href="/ht/ve-chung-toi.html" aria-label="Về chúng tôi">Về chúng tôi</a></h3><h3><a rel="nofollow" href="/ht/viec-lam.html" aria-label="Việc làm">Việc làm</a></h3><h3><a rel="nofollow" href="/ht/quang-cao.html" aria-label="Quảng cáo">Quảng cáo</a></h3><h3><a rel="nofollow" href="/ht/lien-he.html">Liên hệ</a></h3></div><div class="text"><h2><a rel="nofollow" href="/ht/chinh-sach.html" class="title">Chính sách</a></h2><h3><a rel="nofollow" href="/ht/thoa-thuan-su-dung.html" aria-label="Thoả thuận sử dụng">Thoả thuận sử dụng</a></h3><h3><a rel="nofollow" href="/ht/chinh-sach-bao-mat.html" aria-label="Chính sách bảo mật">Chính sách bảo mật</a></h3><h3><a rel="nofollow" href="/ht/chinh-sach-hoan-tien.html" aria-label="Chính sách hoàn tiền">Chính sách hoàn tiền</a></h3><h3><a rel="nofollow" href="/ht/dmca.html" aria-label="DMCA">DMCA</a></h3></div><div class="text"><h2 class="title"> Hỗ trợ </h2><h3><a rel="nofollow" href="/ht/ho-tro.html" aria-label="Hướng dẫn sử dụng">Hướng dẫn sử dụng</a></h3><h3><a rel="nofollow" href="/nang-cap-tai-khoan" aria-label="Đăng ký tài khoản VIP">Đăng ký tài khoản VIP</a></h3><div class="d-flex align-items-center gap-8">Zalo/Tel: <h3><a rel="nofollow" style="color:red;" href="https://zalo.me/176868989223783747" aria-label="email"> 093 303 0098</a></h3></div><div class="d-flex align-items-center gap-8">Email: <h3><a rel="nofollow" style="color:#1D76BB;" href="mailto:support@tailieu.vn" aria-label="email">support@tailieu.vn</a></h3></div></div><div class="text"><div class="title"><h2>Phương thức thanh toán</h2></div><div class="payment-method"><a rel="nofollow" href="/huong-dan-thanh-toan-vnpay" aria-label="Hướng dẫn thanh toán VNPay"><svg width="32" height="32" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 268 256"><path fill="#085CA8" d="m145.49 47.907-13.99 13.99-.7.69-4.45 4.46-3.32 3.32-4.45 4.45-.69.69-1.94 1.94-.69.7h-.01l-6.56 6.55v.01l-.69.69a28.559 28.559 0 0 1-6.45 4.85c-1.17.64-2.36 1.2-3.59 1.67a28.572 28.572 0 0 1-8.47 1.85c-1.77.12-3.56.07-5.32-.14-3.8-.45-7.54-1.67-10.94-3.64-1.46-.84-2.95-1.72-4.19-2.95-.01 0-.01 0-.02-.01-.27-.26-.54-.53-.82-.82l-25.48-25.48-.54-.54c-.44-.49-.84-1.02-1.18-1.59a9.598 9.598 0 0 1-1.34-4.9c0-.28.01-.56.04-.83.04-.42.1-.82.18-1.2.04-.15.07-.31.11-.45.02-.06.04-.13.05-.19.36-1.2.95-2.33 1.77-3.34.22-.26.44-.52.69-.77l.45-.44 27.15-27.15h.01l16.45-16.45c3.67-3.67 9.51-3.83 13.36-.47l45.57 45.5z" class="st0"></path><path fill="#EB2227" d="M95.93 109.037c-2.19 0-4.35-.49-6.41-1.43l-5.22-5.21-1.28-1.27-.22-.23-2.43-2.43-12.16-12.29c.27.28.54.55.82.82 1.24 1.23 2.74 2.12 4.21 2.96 3.41 1.97 7.14 3.19 10.94 3.64 1.76.22 3.55.26 5.32.14 2.88-.18 5.74-.8 8.47-1.85 1.22-.47 2.42-1.02 3.59-1.67 2.31-1.28 4.48-2.89 6.45-4.85l.69-.69v-.01l6.56-6.55h.01l.69-.7 1.94-1.94.69-.69 4.45-4.45 3.32-3.32 4.45-4.46.7-.69 28.2-28.2 11.63-12.6.07-.07.62-.62c3.55-3.55 9.31-3.55 12.86 0l6.37 6.37h.01l.21.21c-2.82-.14-5.66.88-7.79 2.96l-21.55 21.19-.22.26-37.5 36.9-.05-.05-13.81 13.57-.09.11c-.04.05-.34.38-.83.87-1.09 1.06-3.36 3.06-6.4 4.5-1.38.65-2.78 1.12-4.17 1.41-.82.16-1.67.27-2.49.31h-.65v.05z" class="st2"></path><path fill="#EB2227" d="m225.74 74.147-.69.7-30.54 31-32.07 32.56a28.005 28.005 0 0 1-3.22 2.78c-.04.04-.08.07-.13.11-.15.11-.31.23-.47.34-.02.02-.04.03-.05.05a29.416 29.416 0 0 1-17.16 5.49c-7.9 0-15.07-3.1-20.38-8.14l-.02-.02-.72-.63-5.52-5.52-15.5-15.51-5.17-5.17-.72-.72c.84.14 1.69.2 2.55.2h.03l.69-.01c.99-.04 1.97-.15 2.94-.35 1.59-.33 3.19-.87 4.76-1.61 3.39-1.6 5.91-3.82 7.12-5 .47-.46.82-.85.97-1.02l11.92-11.71.05.05 40.99-40.32.22-.26 19.91-19.59c2.68-2.62 6.87-2.96 9.91-.87l4.72 4.72c.01 0 .01.01.01.01l25.6 25.6c.23.23.44.46.64.71 2.87 3.54 2.65 8.82-.67 12.13z" class="st2"></path><path fill="#099DD9" d="M126.81 40.207c-.72.72-1.91.7-2.64-.03-12.08-12.17-31.81-12.25-43.98-.17-12.16 12.08-12.25 31.81-.16 43.98l9.46 9.54c.06.06.13.14.16.21-.05 0-.09.01-.14.01-1.72.12-3.46.07-5.17-.13l-6.95-7.01c-13.52-13.62-13.44-35.71.18-49.24 13.63-13.52 35.71-13.43 49.24.19l.03.03c.72.73.7 1.9-.03 2.62zM141.27 52.127l-2.63 2.63-4.61-4.64c-.72-.73-.72-1.91.01-2.63s1.9-.72 2.63.01l4.6 4.63z" class="st3"></path><path fill="#099DD9" d="M101.65 90.187c-.03.02-.05.03-.08.05-1.14.62-2.3 1.17-3.5 1.63l-12.88-12.99c-8.06-8.12-9.21-20.85-2.74-30.27a1.86 1.86 0 0 1 2.58-.48c.85.58 1.06 1.74.48 2.59-5.46 7.94-4.48 18.69 2.32 25.54l13.82 13.93zM133.49 59.897l-.06.06-1.94 1.94-.62.62-14.49-14.6c-5.38-5.42-13.23-7.32-20.51-4.96-.97.32-2.02-.22-2.34-1.19-.32-.98.22-2.03 1.2-2.35 8.6-2.79 17.92-.53 24.28 5.88l14.48 14.6z" class="st3"></path><path fill="#099DD9" d="m125.72 67.667-2.63 2.63-14.52-14.64c-3.54-3.58-9.34-3.6-12.91-.05-3.57 3.55-3.6 9.34-.05 12.91l9.36 9.44c.72.72.72 1.9-.01 2.63-.72.72-1.9.72-2.63-.01l-9.37-9.44c-4.98-5.03-4.95-13.17.07-18.16 5.03-4.99 13.18-4.95 18.16.07l14.53 14.62z" class="st3"></path><path fill="#099DD9" d="m117.96 75.437-.06.06-1.94 1.94-.62.62-14.56-14.66c-.72-.72-.72-1.9.01-2.63.73-.72 1.91-.72 2.63.01l14.54 14.66z" class="st3"></path><g fill="#099DD9"><path d="M59.1 245.887c1.39 0 2.42-.24 3.1-.72.68-.48 1.12-1.21 1.33-2.2.13-.62.05-1.15-.21-1.58-.27-.43-.87-.96-1.81-1.58l-3.71-2.56c-.84-.59-1.48-1.19-1.92-1.81-.44-.62-.69-1.26-.77-1.93-.08-.67-.03-1.4.13-2.18.4-1.9 1.34-3.4 2.82-4.5 1.48-1.09 3.59-1.64 6.34-1.64 1.07 0 2.1.13 3.08.39s1.71.55 2.21.87c.21.14.36.27.46.39.09.12.12.28.08.48l-.47 2.19c-.12.53-.42.69-.92.49-.54-.22-1.33-.44-2.38-.65-1.05-.21-2-.32-2.85-.32-2.26 0-3.55.75-3.87 2.26-.12.53-.03.97.24 1.33.28.36.88.85 1.79 1.48l3.39 2.3c.99.67 1.73 1.35 2.23 2.03.49.68.79 1.37.89 2.08.1.71.05 1.52-.13 2.44-.25 1.19-.76 2.29-1.52 3.31s-1.83 1.84-3.2 2.49c-1.38.64-3.06.96-5.04.96-1.33 0-2.51-.15-3.54-.46-1.04-.3-1.74-.58-2.12-.84-.26-.18-.43-.32-.5-.42-.07-.1-.08-.25-.04-.45l.47-2.19c.11-.49.41-.66.92-.49 1.97.7 3.81 1.03 5.52 1.03zM77.47 246.107c1.21 0 2.65-.25 4.32-.74.48-.13.67.05.57.52l-.43 2.07c-.05.2-.14.36-.27.48s-.33.24-.6.36c-1.24.62-2.69.93-4.36.93-1.44 0-2.66-.27-3.65-.81-.99-.54-1.68-1.4-2.06-2.57-.38-1.17-.39-2.66-.01-4.46l.65-3.01c.37-1.76.99-3.23 1.87-4.4.88-1.18 1.93-2.05 3.16-2.6 1.23-.56 2.57-.84 4.01-.84 1.66 0 2.98.31 3.96.93.22.12.37.23.45.35.08.12.1.28.05.48l-.44 2.07c-.11.47-.37.65-.79.52-.66-.23-1.27-.41-1.82-.54-.55-.13-1.23-.2-2.04-.2-2.18 0-3.57 1.41-4.17 4.23l-.65 3.01c-.32 1.53-.25 2.61.21 3.26.49.64 1.16.96 2.04.96zM94.35 234.577c-1.69 0-3.47.28-5.33.84-.48.13-.67-.05-.57-.52l.41-1.97c.04-.2.13-.36.26-.49s.33-.24.61-.35c.72-.28 1.58-.53 2.6-.74 1.02-.21 2.11-.32 3.27-.32 1.39 0 2.53.23 3.42.68.89.45 1.5 1.15 1.83 2.08.33.94.36 2.07.07 3.41l-2.35 11.02c-.04.23-.1.39-.17.49-.07.09-.22.17-.43.22-1.01.26-1.98.46-2.9.6-.93.14-2.04.21-3.35.21-1.77 0-3.17-.18-4.21-.55-1.04-.37-1.75-.95-2.12-1.74-.37-.79-.42-1.84-.14-3.13l.03-.16c.21-.96.52-1.77.93-2.45.41-.67.97-1.24 1.67-1.7.7-.46 1.55-.81 2.56-1.03 1.01-.23 2.23-.34 3.65-.34h2.27l.3-1.42c.21-1.01.13-1.7-.24-2.07-.37-.39-1.06-.57-2.07-.57zm.38 11.66 1.01-4.78h-2.27c-.98 0-1.72.09-2.23.26-.5.17-.87.44-1.1.81-.23.36-.41.87-.54 1.52l-.05.19c-.13.61-.13 1.08 0 1.4.13.32.4.55.84.68.43.13 1.1.2 2 .2.92-.01 1.69-.1 2.34-.28zM116.99 248.797c-.03.17-.13.32-.29.47a.76.76 0 0 1-.5.21h-2.98c-.18 0-.31-.07-.4-.21a.641.641 0 0 1-.09-.47l2.27-10.67c.18-.85.22-1.53.13-2.04-.09-.5-.34-.87-.77-1.1-.42-.23-1.04-.35-1.86-.35-.99 0-2.07.12-3.25.35l-2.94 13.81c-.03.19-.12.35-.28.48-.15.13-.32.2-.51.2h-2.97c-.19 0-.33-.07-.42-.21a.641.641 0 0 1-.09-.47l3.44-16.16c.06-.32.33-.53.79-.65 1.14-.29 2.34-.53 3.61-.7 1.27-.17 2.44-.26 3.5-.26 2.54 0 4.28.56 5.22 1.68.95 1.12 1.16 2.92.65 5.39l-2.26 10.7zM139.2 248.917c-.06.33-.31.52-.73.58-.94.15-1.8.22-2.59.22-1.28 0-2.26-.13-2.94-.39s-1.1-.75-1.29-1.49c-.19-.74-.13-1.82.17-3.25l2.15-10.15-2.57-.46c-.42-.07-.59-.29-.52-.65l.32-1.45a.76.76 0 0 1 .27-.46c.15-.13.32-.19.5-.19h2.68l.57-2.65c.07-.36.34-.57.79-.65l3.11-.52h.14c.34 0 .47.16.39.49l-.71 3.33h3.27c.2 0 .35.06.44.17.09.12.12.27.08.47l-.41 1.91c-.04.18-.14.33-.29.46-.15.13-.32.19-.5.19h-3.27l-2.15 10.15c-.17.8-.21 1.3-.12 1.5s.42.3.99.3h2.07c.45 0 .65.16.58.49l-.43 2.05zM158.08 241.677c-.33 1.54-.92 2.92-1.78 4.15a9.009 9.009 0 0 1-3.24 2.87c-1.3.68-2.78 1.03-4.43 1.03-1.63 0-2.96-.34-3.99-1.03-1.03-.68-1.7-1.64-2.03-2.87-.33-1.23-.33-2.61 0-4.15l.55-2.6c.33-1.54.92-2.92 1.77-4.15a8.877 8.877 0 0 1 3.25-2.87c1.32-.68 2.79-1.03 4.42-1.03 1.65 0 2.98.34 3.99 1.03 1.01.68 1.68 1.64 2.01 2.87.33 1.23.33 2.61.01 4.15l-.53 2.6zm-4.26 0 .55-2.6c.28-1.35.21-2.41-.21-3.2-.43-.78-1.2-1.18-2.33-1.18-1.12 0-2.05.39-2.82 1.18-.76.78-1.29 1.85-1.57 3.2l-.55 2.6c-.28 1.35-.21 2.41.22 3.2.43.78 1.2 1.18 2.3 1.18 1.12 0 2.06-.39 2.83-1.18.77-.79 1.29-1.85 1.58-3.2zM188.08 232.947c-.56 2.66-1.83 4.59-3.8 5.78-1.98 1.19-4.35 1.79-7.12 1.79-.17 0-.54-.01-1.11-.04-.57-.03-.95-.04-1.12-.06-.17-.01-.38-.02-.61-.03l-1.78 8.43c-.04.19-.14.34-.28.47a.75.75 0 0 1-.47.18h-3.24c-.16 0-.29-.06-.4-.19a.5.5 0 0 1-.1-.46l4.72-22.24c.06-.31.2-.53.4-.67.21-.14.49-.24.84-.29 1.83-.28 3.97-.43 6.42-.43 2.78 0 4.9.58 6.37 1.74 1.47 1.16 1.92 3.07 1.35 5.72l-.07.3zm-4.47 0 .06-.28c.28-1.35.1-2.31-.56-2.89-.66-.58-1.82-.87-3.48-.87-1.04 0-2.01.05-2.9.14l-1.64 7.69c1.03.06 1.98.09 2.86.09 1.16 0 2.12-.14 2.88-.42.76-.28 1.37-.7 1.82-1.27.45-.56.78-1.29.96-2.19zM195.12 234.577c-1.69 0-3.47.28-5.33.84-.48.13-.67-.05-.57-.52l.41-1.97c.04-.2.13-.36.26-.49s.33-.24.61-.35c.72-.28 1.58-.53 2.6-.74 1.02-.21 2.11-.32 3.27-.32 1.39 0 2.53.23 3.42.68.89.45 1.5 1.15 1.83 2.08.33.94.36 2.07.07 3.41l-2.35 11.02c-.04.23-.1.39-.17.49-.07.09-.22.17-.43.22-1.01.26-1.98.46-2.9.6-.93.14-2.04.21-3.35.21-1.77 0-3.17-.18-4.21-.55-1.04-.37-1.75-.95-2.12-1.74-.37-.79-.42-1.84-.14-3.13l.03-.16c.21-.96.52-1.77.93-2.45.41-.67.97-1.24 1.67-1.7.7-.46 1.55-.81 2.56-1.03 1.01-.23 2.23-.34 3.65-.34h2.27l.3-1.42c.21-1.01.13-1.7-.24-2.07-.37-.39-1.06-.57-2.07-.57zm.38 11.66 1.01-4.78h-2.27c-.98 0-1.72.09-2.23.26-.5.17-.87.44-1.1.81-.23.36-.41.87-.54 1.52l-.05.19c-.13.61-.13 1.08 0 1.4.13.32.4.55.84.68.43.13 1.1.2 2 .2.92-.01 1.7-.1 2.34-.28zM221.84 231.797a.57.57 0 0 1-.08.19l-9.42 18.88c-.62 1.26-1.24 2.25-1.85 2.97s-1.38 1.25-2.29 1.59c-.91.35-2.08.52-3.51.52-.55 0-1.15-.04-1.8-.13-.65-.08-1.16-.18-1.53-.3-.43-.12-.62-.3-.57-.55l.44-2.07c.03-.16.12-.29.28-.41.15-.12.32-.17.5-.17h.06c.28.01.88.05 1.78.11s1.51.09 1.82.09c.47 0 .88-.06 1.23-.17.35-.12.66-.32.94-.62.28-.3.56-.73.83-1.29l.46-.96h-.47c-.37 0-.71-.06-1.02-.17-.31-.12-.58-.37-.81-.77s-.37-.98-.43-1.74l-1.07-14.8a.432.432 0 0 1 .02-.22c.07-.35.32-.52.73-.52h3.27c.15 0 .27.06.36.17.09.12.13.25.13.41l.47 13.15c0 .47.09.71.28.71h.3l6.44-13.89c.16-.37.42-.55.77-.55h3.3c.15 0 .27.05.36.17.08.09.11.22.08.37z" class="st3"></path></g><g clip-rule="evenodd" fill-rule="evenodd"><path fill="#085CA8" d="m190.28 194.467-16.9-24.23-1.72-1.58h16.66l11.29 18.32.91-.74 6.82-10.14c1.68-2.49 1.45-5.39-.94-7.43h15.74l-18.19 25.8-.01 18.72 3.21 3.81h-19.56l2.76-3.76c-.01-6.23-.24-12.54-.07-18.77zm-45.89-25.8c1.35 1.85 1.75 2.5 1.9 4.15.11 1.15.03 1.8-.34 2.87l-12.57 36.45c-.59 1.5-1.8 3.15-3.57 4.76h13.72c-1.02-.9-1.67-1.98-1.91-3.26-.22-1.17-.21-1.61.05-2.73l2.79-8.66h15.96l2.49 6.67c.26.7.41 1.35.47 2.1.22 2.49-.58 4.54-2.56 5.99h21.5c-2.11-1.88-4.05-3.85-5.14-6.23l-15.7-42.11h-17.09zm13.68 27.3h-11.42l5.54-15.78 5.88 15.78zm-57.17-27.26 10.81-.04H124.83c7.22 0 13.12 5.9 13.12 13.12v1.62c0 7.22-5.91 12.72-13.12 12.94l-5.98.18c4.81-2.21 6.82-7.8 6.22-12.84-.48-4.04-2.56-7.93-6.03-8l-2.19-.05v35.97c0 .7.12.99.49 1.61.59.98 1.37 1.96 2.18 2.93.21.25.42.51.63.76h-18.61c.28-.34.55-.69.81-1.04.56-.77 1.06-1.58 1.44-2.49.24-.58.36-1.02.36-1.64v-38.64c-.07-2.01-2.07-3.16-3.25-4.39z" class="st4"></path><path fill="#EB2227" d="M0 168.447h15.02l12.61 36.16 10.69-29.95c.2-1.16.03-1.54-.42-2.54-.59-1.22-1.22-2.4-1.82-3.61H47.3c-.67 2.44-1.65 5.13-2.49 7.59l-14.49 42.11c-3.96-.79-8.36-2.35-11.78-5.59-2.57-2.43-3.48-5.2-4.75-8.49l-12.12-32.09c-.46-1.27-1.04-2.4-1.67-3.59zm59.98 16.95v25.84c0 1.05.24 1.24.89 2.08l2.96 3.86H49.69l2.39-3.65c.61-1 .88-1.34.88-2.51v-36.09l-3.98-6.46h14.66l23.73 30.56v-24.36c0-1.16-.23-1.54-.85-2.54-.8-1.22-1.63-2.4-2.42-3.61h14.13l-2.95 3.86c-.65.84-.89 1.03-.89 2.08v43.96c-5.35-.7-10.33-2.01-14.77-7.68l-19.64-25.34z" class="st5"></path></g><path fill="#EB2227" clip-rule="evenodd" fill-rule="evenodd" d="M221.05 180.357c0-1.04.15-2.07.43-3.06.3-.98.71-1.93 1.27-2.86 1.04-1.77 2.55-3.18 4.5-4.22 1.97-1.04 4.23-1.55 6.85-1.55 1.06 0 2.07.12 2.98.38.93.26 1.84.66 2.76 1.19 1.72.99 3.08 2.4 4.07 4.22.51.96.91 1.95 1.19 2.98.26 1.04.4 2.17.4 3.37 0 1.65-.36 3.36-1.09 5.11-.73 1.74-1.77 3.22-3.13 4.42l1.69 1.62c.68.64 1.39 1.24 2.15 1.8s1.6 1.04 2.53 1.46c.93.43 1.9.68 2.89.76-.88.73-1.82 1.29-2.79 1.69-.99.4-2.02.58-3.09.58-.91 0-1.84-.18-2.76-.58-.94-.38-1.82-.86-2.65-1.42-.88-.6-1.67-1.21-2.38-1.79l-1.89-1.59c-.13 0-.3 0-.51.02-.21.02-.46.05-.76.1l-1.12.1c-2.17 0-4.13-.58-5.9-1.7-1.77-1.12-3.16-2.66-4.13-4.6-.48-.96-.86-1.97-1.11-3.04-.26-1.11-.4-2.22-.4-3.39zm6.7.07c0 .74.08 1.52.26 2.32.13.56.33 1.27.63 2.13.46 1.36 1.14 2.48 2.03 3.34.88.88 1.97 1.31 3.26 1.31 1.67 0 2.91-.66 3.7-1.98.79-1.32 1.21-3.01 1.21-5.08 0-.53-.07-1.39-.17-2.55-.12-.86-.28-1.65-.48-2.36-.2-.74-.43-1.39-.69-1.95-.5-1.12-1.16-1.97-2.02-2.53-.84-.58-1.85-.86-2.99-.86-.53 0-1.03.1-1.49.3-.45.18-.88.46-1.26.83-.69.66-1.21 1.52-1.52 2.56-.31 1.04-.48 2.18-.48 3.41v.63c0 .2.01.34.01.48zm26.55.24a4.89 4.89 0 0 0 1.97-.76c.58-.4 1.03-.93 1.36-1.57.17-.31.28-.63.38-.96.08-.33.12-.68.12-1.03 0-1.07-.28-1.97-.88-2.7-.58-.71-1.47-1.07-2.66-1.07h-.28v8.09h-.01zm0 1.87v6.57c0 1.64.51 2.75 1.52 3.32v.15h-9.53v-.15c.96-.55 1.46-1.64 1.46-3.27V173.077c0-.98-.1-1.75-.26-2.3-.18-.56-.58-1.06-1.19-1.49v-.07h11.56c1.29 0 2.45.23 3.47.71 1.03.48 1.84 1.17 2.43 2.13.31.46.53.99.68 1.57.17.56.25 1.19.25 1.84 0 .88-.28 1.82-.86 2.86-.56 1.03-1.65 1.95-3.29 2.75l4.58 7.72c1.09 1.67 2.08 2.86 2.98 3.57l-4.02.3-1.01.03h-.94c-.91 0-1.62-.15-2.15-.46-.51-.3-1.01-.89-1.46-1.77l-4.22-7.93z" class="st5"></path></svg></a><svg width="32" height="33" viewBox="0 0 32 33" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="mask0" maskUnits="userSpaceOnUse" x="3" y="3" width="26" height="27" style="mask-type:alpha;"><path d="M10.6917 3.6665L21.3083 3.6665C23.9829 3.6665 24.9528 3.94498 25.9305 4.4679C26.9083 4.99082 27.6757 5.75819 28.1986 6.73597C28.7215 7.71374 29 8.6836 29 11.3582V21.9748C29 24.6494 28.7215 25.6193 28.1986 26.597C27.6757 27.5748 26.9083 28.3422 25.9305 28.8651C24.9528 29.388 23.9829 29.6665 21.3083 29.6665H10.6917C8.0171 29.6665 7.04724 29.388 6.06946 28.8651C5.09169 28.3422 4.32432 27.5748 3.8014 26.597C3.27848 25.6193 3 24.6494 3 21.9748L3 11.3582C3 8.6836 3.27848 7.71374 3.8014 6.73597C4.32432 5.75819 5.09169 4.99082 6.06946 4.4679C7.04724 3.94498 8.0171 3.6665 10.6917 3.6665Z" fill="white"></path></mask><g mask="url(#mask0)"><path d="M10.6917 3.6665L21.3083 3.6665C23.9829 3.6665 24.9528 3.94498 25.9305 4.4679C26.9083 4.99082 27.6757 5.75819 28.1986 6.73597C28.7215 7.71374 29 8.6836 29 11.3582V21.9748C29 24.6494 28.7215 25.6193 28.1986 26.597C27.6757 27.5748 26.9083 28.3422 25.9305 28.8651C24.9528 29.388 23.9829 29.6665 21.3083 29.6665H10.6917C8.0171 29.6665 7.04724 29.388 6.06946 28.8651C5.09169 28.3422 4.32432 27.5748 3.8014 26.597C3.27848 25.6193 3 24.6494 3 21.9748L3 11.3582C3 8.6836 3.27848 7.71374 3.8014 6.73597C4.32432 5.75819 5.09169 4.99082 6.06946 4.4679C7.04724 3.94498 8.0171 3.6665 10.6917 3.6665Z" fill="#A50064"></path><path d="M21.1624 8.6665C19.0427 8.6665 17.3247 10.2823 17.3247 12.2755C17.3247 14.269 19.0427 15.8849 21.1624 15.8849C23.2819 15.8849 25 14.269 25 12.2755C25 10.2823 23.2819 8.6665 21.1624 8.6665ZM21.1624 13.8159C20.2632 13.8159 19.5325 13.1289 19.5325 12.2833C19.5325 11.4376 20.2632 10.7505 21.1624 10.7505C22.0615 10.7505 22.7922 11.4376 22.7922 12.2833C22.7922 13.1289 22.0615 13.8161 21.1624 13.8161V13.8159ZM16.2168 15.8927H14.0089V11.3546C14.0089 11.0148 13.7198 10.7433 13.3587 10.7433C12.9974 10.7433 12.7083 11.0148 12.7083 11.3546V15.8927H10.5006V11.3546C10.5006 11.0148 10.2117 10.7433 9.85038 10.7433C9.48906 10.7433 9.19994 11.0148 9.19994 11.3546V15.8927H7V11.3772C7 9.8822 8.29262 8.6665 9.88225 8.6665C10.5325 8.6665 11.1267 8.87041 11.6084 9.21008C12.1645 8.84769 12.7399 8.6665 13.3345 8.6665C14.9241 8.6665 16.2168 9.8822 16.2168 11.3772V15.8927ZM21.1624 17.4481C19.0427 17.4481 17.3247 19.0638 17.3247 21.0571C17.3247 23.0506 19.0427 24.6665 21.1624 24.6665C23.2819 24.6663 25 23.0504 25 21.0571C25 19.0638 23.2819 17.4479 21.1624 17.4479V17.4481ZM13.3345 17.4397C14.9241 17.4397 16.2168 18.6554 16.2168 20.1504V24.6659H14.0089V20.1279C14.0089 19.788 13.7198 19.5165 13.3587 19.5165C12.9974 19.5165 12.7083 19.788 12.7083 20.1279V24.6659H10.5006V20.1279C10.5006 19.788 10.2117 19.5165 9.85038 19.5165C9.48906 19.5165 9.19994 19.788 9.19994 20.1279V24.6659H7V20.1504C7 18.6554 8.29262 17.4397 9.88225 17.4397C10.5325 17.4397 11.1267 17.6437 11.6084 17.9833C12.1645 17.6209 12.7399 17.4397 13.3345 17.4397ZM21.1624 19.532C22.0615 19.532 22.7922 20.2191 22.7922 21.0649C22.7922 21.9104 22.0615 22.5975 21.1624 22.5975C20.2632 22.5975 19.5325 21.9104 19.5325 21.0649C19.5325 20.2191 20.2632 19.532 21.1624 19.532Z" fill="white"></path></g></svg><svg width="32" height="33" viewBox="0 0 32 33" fill="none" xmlns="http://www.w3.org/2000/svg"><rect opacity="0.01" y="5.6665" width="32" height="21.3333" fill="white"></rect><path d="M29.5619 22.6087C29.5619 24.9501 27.6552 26.8567 25.3138 26.8567H2.2002V10.0317C2.2002 7.6902 4.10682 5.78358 6.44828 5.78358H29.5619V22.6087Z" fill="white"></path><path d="M22.0356 18.2937H23.7917C23.8419 18.2937 23.959 18.277 24.0092 18.277C24.3437 18.2101 24.628 17.909 24.628 17.4909C24.628 17.0895 24.3437 16.7885 24.0092 16.7048C23.959 16.6881 23.8586 16.6881 23.7917 16.6881H22.0356V18.2937Z" fill="url(#paint0_linear)"></path><path d="M23.5909 7.20518C21.9184 7.20518 20.547 8.55988 20.547 10.2491V13.4101H24.8453C24.9456 13.4101 25.0627 13.4101 25.1463 13.4268C26.1163 13.477 26.8355 13.9787 26.8355 14.8484C26.8355 15.5341 26.3505 16.1195 25.4473 16.2365V16.27C26.4341 16.3369 27.1867 16.8888 27.1867 17.7418C27.1867 18.6616 26.3505 19.2637 25.2467 19.2637H20.5303V25.4519H24.9958C26.6683 25.4519 28.0397 24.0972 28.0397 22.408V7.20518H23.5909Z" fill="url(#paint1_linear)"></path><path d="M24.4106 15.0491C24.4106 14.6477 24.1262 14.3801 23.7917 14.3299C23.7583 14.3299 23.6747 14.3132 23.6245 14.3132H22.0356V15.785H23.6245C23.6747 15.785 23.775 15.785 23.7917 15.7682C24.1262 15.7181 24.4106 15.4505 24.4106 15.0491Z" fill="url(#paint2_linear)"></path><path d="M6.76619 7.20518C5.09372 7.20518 3.72229 8.55988 3.72229 10.2491V17.7585C4.57525 18.1766 5.46166 18.4442 6.34808 18.4442C7.40173 18.4442 7.97038 17.8087 7.97038 16.939V13.3933H10.5794V16.9223C10.5794 18.2937 9.72647 19.4142 6.83309 19.4142C5.077 19.4142 3.70557 19.0296 3.70557 19.0296V25.4351H8.17107C9.84355 25.4351 11.215 24.0804 11.215 22.3912V7.20518H6.76619Z" fill="url(#paint3_linear)"></path><path d="M15.1787 7.20518C13.5062 7.20518 12.1348 8.55988 12.1348 10.2491V14.2296C12.9041 13.5773 14.2421 13.1592 16.3996 13.2595C17.5536 13.3097 18.7912 13.6275 18.7912 13.6275V14.9153C18.1724 14.5975 17.4365 14.3132 16.4832 14.2463C14.8442 14.1292 13.8574 14.932 13.8574 16.3369C13.8574 17.7585 14.8442 18.5613 16.4832 18.4275C17.4365 18.3606 18.1724 18.0595 18.7912 17.7585V19.0463C18.7912 19.0463 17.5703 19.3641 16.3996 19.4142C14.2421 19.5146 12.9041 19.0965 12.1348 18.4442V25.4686H16.6003C18.2727 25.4686 19.6442 24.1139 19.6442 22.4247V7.20518H15.1787Z" fill="url(#paint4_linear)"></path><defs><linearGradient id="paint0_linear" x1="20.5439" y1="19.8203" x2="28.0604" y2="19.8203" gradientUnits="userSpaceOnUse"><stop stop-color="#007940"></stop><stop offset="0.2285" stop-color="#00873F"></stop><stop offset="0.7433" stop-color="#40A737"></stop><stop offset="1" stop-color="#5CB531"></stop></linearGradient><linearGradient id="paint1_linear" x1="20.544" y1="25.4526" x2="28.0602" y2="25.4526" gradientUnits="userSpaceOnUse"><stop stop-color="#007940"></stop><stop offset="0.2285" stop-color="#00873F"></stop><stop offset="0.7433" stop-color="#40A737"></stop><stop offset="1" stop-color="#5CB531"></stop></linearGradient><linearGradient id="paint2_linear" x1="20.5438" y1="17.3754" x2="28.0598" y2="17.3754" gradientUnits="userSpaceOnUse"><stop stop-color="#007940"></stop><stop offset="0.2285" stop-color="#00873F"></stop><stop offset="0.7433" stop-color="#40A737"></stop><stop offset="1" stop-color="#5CB531"></stop></linearGradient><linearGradient id="paint3_linear" x1="3.71849" y1="25.5849" x2="11.3507" y2="25.5849" gradientUnits="userSpaceOnUse"><stop stop-color="#1F286F"></stop><stop offset="0.4751" stop-color="#004E94"></stop><stop offset="0.8261" stop-color="#0066B1"></stop><stop offset="1" stop-color="#006FBC"></stop></linearGradient><linearGradient id="paint4_linear" x1="12.0913" y1="25.3346" x2="19.5036" y2="25.3346" gradientUnits="userSpaceOnUse"><stop stop-color="#6C2C2F"></stop><stop offset="0.1735" stop-color="#882730"></stop><stop offset="0.5731" stop-color="#BE1833"></stop><stop offset="0.8585" stop-color="#DC0436"></stop><stop offset="1" stop-color="#E60039"></stop></linearGradient></defs></svg><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="mask0_1329:61134" maskUnits="userSpaceOnUse" x="0" y="6" width="32" height="20" style="mask-type:alpha;"><rect y="6" width="32" height="20" rx="1.81818" fill="white"></rect></mask><g mask="url(#mask0_1329:61134)"><rect opacity="0.01" x="-1" y="4" width="34.04" height="23" fill="white"></rect><path fill-rule="evenodd" clip-rule="evenodd" d="M9.8116 10.6916L7.26655 17.2114L6.23703 11.6676C6.11637 11.0489 5.63944 10.6916 5.10955 10.6916H0.949103L0.891235 10.9696C1.74526 11.1578 2.7154 11.4606 3.30354 11.7849C3.66323 11.9827 3.76572 12.156 3.88411 12.6263L5.83384 20.2704H8.41786L12.3794 10.6916H9.8116ZM13.4285 10.6916L11.4062 20.2704H13.8514L15.8726 10.6916H13.4285ZM27.4466 13.2791L28.1868 16.8763H26.1588L27.4466 13.2791ZM27.0873 10.6916C26.6187 10.6916 26.2234 10.9688 26.0472 11.3943L22.3792 20.2704H24.945L25.4556 18.8405H28.5911L28.8876 20.2704H31.149L29.1754 10.6916H27.0873ZM16.5398 13.6828C16.5224 15.062 17.7528 15.8321 18.6794 16.2895C19.6318 16.7594 19.9514 17.0603 19.948 17.4805C19.9408 18.1229 19.1881 18.4066 18.4842 18.4177C17.2558 18.4373 16.5417 18.0815 15.9736 17.8128L15.5311 19.9112C16.1007 20.1776 17.1555 20.4095 18.2497 20.4199C20.8175 20.4199 22.4972 19.1353 22.5063 17.1431C22.5165 14.6154 19.0565 14.4755 19.0799 13.3455C19.0883 13.0031 19.4109 12.6374 20.1178 12.5447C20.4676 12.4975 21.4332 12.4615 22.5282 12.9725L22.9579 10.9423C22.3693 10.725 21.6125 10.5168 20.67 10.5168C18.2531 10.5168 16.5534 11.8186 16.5398 13.6828Z" fill="#1A1F71"></path></g></svg><svg width="32" height="33" viewBox="0 0 32 33" fill="none" xmlns="http://www.w3.org/2000/svg"><rect opacity="0.01" x="1" y="6.6665" width="30" height="20" fill="white"></rect><rect x="12.3877" y="10.1254" width="7.17949" height="12.9247" fill="#FF5F00"></rect><path d="M12.8434 16.5889C12.8407 14.0664 13.9964 11.6828 15.9773 10.1254C12.6131 7.47702 7.78209 7.86278 4.87927 11.0116C1.97644 14.1604 1.97644 19.0151 4.87927 22.1639C7.78209 25.3127 12.6131 25.6985 15.9773 23.0501C13.997 21.4931 12.8414 19.1106 12.8434 16.5889Z" fill="#EB001B"></path><path d="M29.2539 16.5889C29.2538 19.7358 27.46 22.6064 24.6343 23.9815C21.8087 25.3567 18.4472 24.995 15.9775 23.0501C17.9569 21.4918 19.1126 19.1096 19.1126 16.5877C19.1126 14.0659 17.9569 11.6837 15.9775 10.1254C18.4472 8.18045 21.8087 7.81875 24.6343 9.19392C27.46 10.5691 29.2538 13.4397 29.2539 16.5866V16.5889Z" fill="#F79E1B"></path></svg></div></div><div class="text"><div class="title"><h2>Theo dõi chúng tôi</h2></div><h3><a rel="nofollow" aria-label="Facebook" href="https://www.facebook.com/tailieu.vn">Facebook</a></h3><h3><a rel="nofollow" href="https://www.youtube.com/@tailieuvn" aria-label="Youtube">Youtube</a></h3><h3><a rel="nofollow" href="https://www.tiktok.com/@webtailieuvn" aria-label="TikTok" target="blank">TikTok</a></h3></div></div></div><div class="line"></div><div class="copyright"><a rel="nofollow" href="http://online.gov.vn/Home/WebDetails/18110" aria-label="cert" class="cert"><img src="/_nuxt/RUW6fnHkzBLSNZdDwiTnBw_.IyGsieuy.jpg" alt="chứng nhận"></a><div class="text-cert"><div><b>Chịu trách nhiệm nội dung</b>: Nguyễn Công Hà </div><div><b>Doanh nghiệp quản lý</b>: Công ty TNHH Tài Liệu trực tuyến Vi Na - <b>GCN ĐKDN</b>: 0307893603 </div><div><b>Địa chỉ</b>: 54A Nơ Trang Long, P. Bình Thạnh, TP.HCM - <b>Điện thoại</b>: 0283 5102 888 - <b>Email</b>: <a href="mailto:info@tailieu.vn" style="color:#1D76BB;">info@tailieu.vn</a></div><div><b>Giấy phép Mạng Xã Hội số</b>: 670/GP-BTTTT cấp ngày 30/11/2015 </div></div></div></div></div></div></div></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="true" id="__NUXT_DATA__">[["ShallowReactive",1],{"data":2,"state":1138,"once":1142,"_errors":1143,"serverRendered":841,"path":1145,"pinia":1146},["ShallowReactive",3],{"$fB6NIDCyeUTzT9CUXoyl4DEA4ugOrQ-JxwND0W1_3A68":4,"document-bao-cao-de-tai-tim-hieu-wap-cong-cu-tim-kiem-thiet-bi-di-dong-203404-1-0":781,"$JsVg4S-xmP":842,"documentRelated":843},{"code":5,"menus":6},200,{"Giáo dục phổ thông":7,"Tài liệu chuyên môn":107,"Bộ tài liệu cao cấp":617,"Văn bản – Biểu mẫu":647,"Luận Văn - Báo Cáo":675,"Trắc nghiệm Online":747},[8,20,26,32,38,44,49,55,61,66,72,77,82,87,92,97,102],{"menu_id":9,"menu_title":10,"menu_domain":11,"menu_link":12,"menu_icon":13,"menu_priority":14,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":16,"menu_group_priority":14,"menu_group_link":17,"menu_website":18,"children_recursive":19},2,"Giải SGK Tiểu học","https://tailieu.vn/","tai-lieu-pho-thong/giai-sgk-tieu-hoc/","",1,0,"Giáo dục phổ thông","tai-lieu-pho-thong/","tailieu.vn\r",[],{"menu_id":21,"menu_title":22,"menu_domain":11,"menu_link":23,"menu_icon":24,"menu_priority":9,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":24,"menu_group":16,"menu_group_priority":24,"menu_group_link":17,"menu_website":24,"children_recursive":25},230,"Giải SGK THCS","tai-lieu-pho-thong/giai-sgk-thcs/",null,[],{"menu_id":27,"menu_title":28,"menu_domain":11,"menu_link":29,"menu_icon":24,"menu_priority":30,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":24,"menu_group":16,"menu_group_priority":24,"menu_group_link":17,"menu_website":24,"children_recursive":31},231,"Giải SGK THPT","tai-lieu-pho-thong/giai-sgk-thpt/",3,[],{"menu_id":33,"menu_title":34,"menu_domain":11,"menu_link":35,"menu_icon":24,"menu_priority":36,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":24,"menu_group":16,"menu_group_priority":24,"menu_group_link":17,"menu_website":24,"children_recursive":37},232,"Bài tập CB&NC Tiểu học","tai-lieu-pho-thong/bai-tap-cbnc-tieu-hoc/",4,[],{"menu_id":39,"menu_title":40,"menu_domain":11,"menu_link":41,"menu_icon":24,"menu_priority":42,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":24,"menu_group":16,"menu_group_priority":24,"menu_group_link":17,"menu_website":24,"children_recursive":43},233,"Bài tập CB&NC THCS","tai-lieu-pho-thong/bai-tap-cbnc-thcs/",5,[],{"menu_id":45,"menu_title":46,"menu_domain":11,"menu_link":47,"menu_icon":13,"menu_priority":45,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":16,"menu_group_priority":14,"menu_group_link":17,"menu_website":18,"children_recursive":48},6,"Bài tập CB&NC THPT","tai-lieu-pho-thong/bai-tap-cbnc-thpt/",[],{"menu_id":50,"menu_title":51,"menu_domain":11,"menu_link":52,"menu_icon":24,"menu_priority":53,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":24,"menu_group":16,"menu_group_priority":24,"menu_group_link":17,"menu_website":24,"children_recursive":54},234,"Đề thi kiểm tra Tiểu học","tai-lieu-pho-thong/de-thi-kiem-tra-tieu-hoc/",7,[],{"menu_id":56,"menu_title":57,"menu_domain":11,"menu_link":58,"menu_icon":24,"menu_priority":59,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":24,"menu_group":16,"menu_group_priority":24,"menu_group_link":17,"menu_website":24,"children_recursive":60},235,"Đề thi kiểm tra THCS","tai-lieu-pho-thong/de-thi-kiem-tra-thcs/",8,[],{"menu_id":53,"menu_title":62,"menu_domain":11,"menu_link":63,"menu_icon":13,"menu_priority":64,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":16,"menu_group_priority":14,"menu_group_link":17,"menu_website":18,"children_recursive":65},"Đề thi kiểm tra THPT","tai-lieu-pho-thong/de-thi-kiem-tra-thpt/",9,[],{"menu_id":36,"menu_title":67,"menu_domain":11,"menu_link":68,"menu_icon":69,"menu_priority":70,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":16,"menu_group_priority":14,"menu_group_link":17,"menu_website":18,"children_recursive":71},"Giáo dục mầm non\r","tai-lieu-pho-thong/giao-duc-mam-non/\r","images/icons/new_icon.gif",10,[],{"menu_id":42,"menu_title":73,"menu_domain":11,"menu_link":74,"menu_icon":13,"menu_priority":75,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":16,"menu_group_priority":14,"menu_group_link":17,"menu_website":18,"children_recursive":76},"Bài giảng điện tử\r","tai-lieu-pho-thong/bai-giang-dien-tu/\r",11,[],{"menu_id":75,"menu_title":78,"menu_domain":11,"menu_link":79,"menu_icon":13,"menu_priority":80,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":16,"menu_group_priority":14,"menu_group_link":17,"menu_website":18,"children_recursive":81},"Giáo án điện tử\r","tai-lieu-pho-thong/giao-an-dien-tu/\r",12,[],{"menu_id":80,"menu_title":83,"menu_domain":11,"menu_link":84,"menu_icon":13,"menu_priority":85,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":16,"menu_group_priority":14,"menu_group_link":17,"menu_website":18,"children_recursive":86},"Sáng kiến kinh nghiệm","tai-lieu-pho-thong/sang-kien-kinh-nghiem/",13,[],{"menu_id":30,"menu_title":88,"menu_domain":11,"menu_link":89,"menu_icon":13,"menu_priority":90,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":16,"menu_group_priority":14,"menu_group_link":17,"menu_website":18,"children_recursive":91},"Kỳ thi Quốc tế\r","tai-lieu-pho-thong/ky-thi-quoc-te/\r",14,[],{"menu_id":59,"menu_title":93,"menu_domain":11,"menu_link":94,"menu_icon":13,"menu_priority":95,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":16,"menu_group_priority":14,"menu_group_link":17,"menu_website":18,"children_recursive":96},"Soạn văn và văn mẫu\r","tai-lieu-pho-thong/soan-van-va-van-mau/\r",15,[],{"menu_id":70,"menu_title":98,"menu_domain":11,"menu_link":99,"menu_icon":13,"menu_priority":100,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":16,"menu_group_priority":14,"menu_group_link":17,"menu_website":18,"children_recursive":101},"Ôn thi Tuyển sinh lớp 10\r","tai-lieu-pho-thong/on-thi-tuyen-sinh-lop-10/\r",17,[],{"menu_id":64,"menu_title":103,"menu_domain":11,"menu_link":104,"menu_icon":13,"menu_priority":105,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":16,"menu_group_priority":14,"menu_group_link":17,"menu_website":18,"children_recursive":106},"Ôn thi Tốt nghiệp THPT\r","tai-lieu-pho-thong/on-thi-tot-nghiep-thpt/\r",18,[],[108,150,190,235,291,331,371,412,462,507,547,572],{"menu_id":109,"menu_title":110,"menu_domain":11,"menu_link":111,"menu_icon":13,"menu_priority":14,"menu_level":14,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":113,"menu_website":18,"children_recursive":114},21,"Kinh Doanh Marketing","kinh-doanh-marketing/","Tài liệu chuyên môn","tai-lieu/",[115,120,125,130,135,140,145],{"menu_id":116,"menu_title":117,"menu_domain":11,"menu_link":118,"menu_icon":13,"menu_priority":14,"menu_level":9,"menu_status":14,"menu_parent":109,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":24,"menu_website":18,"children_recursive":119},206,"Quản trị kinh doanh","kinh-doanh-marketing/quan-tri-kinh-doanh/",[],{"menu_id":121,"menu_title":122,"menu_domain":11,"menu_link":123,"menu_icon":13,"menu_priority":9,"menu_level":9,"menu_status":14,"menu_parent":109,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":124},207,"Quản trị nguồn nhân lực","kinh-doanh-marketing/quan-tri-nguoi-nhan-luc/",[],{"menu_id":126,"menu_title":127,"menu_domain":11,"menu_link":128,"menu_icon":13,"menu_priority":30,"menu_level":9,"menu_status":14,"menu_parent":109,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":24,"menu_website":18,"children_recursive":129},208,"Marketing - Bán hàng","kinh-doanh-marketing/marketing-ban-hang/",[],{"menu_id":131,"menu_title":132,"menu_domain":11,"menu_link":133,"menu_icon":13,"menu_priority":36,"menu_level":9,"menu_status":14,"menu_parent":109,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":134},209,"Khởi nghiệp đổi mới","kinh-doanh-marketing/khoi-nghiep-doi-moi/",[],{"menu_id":136,"menu_title":137,"menu_domain":11,"menu_link":138,"menu_icon":13,"menu_priority":42,"menu_level":9,"menu_status":14,"menu_parent":109,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":24,"menu_website":18,"children_recursive":139},210,"Thương mại điện tử","kinh-doanh-marketing/thuong-mai-dien-tu/",[],{"menu_id":141,"menu_title":142,"menu_domain":11,"menu_link":143,"menu_icon":13,"menu_priority":45,"menu_level":9,"menu_status":14,"menu_parent":109,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":24,"menu_website":18,"children_recursive":144},211,"PR - Truyền thông","kinh-doanh-marketing/pr-truyen-thong/",[],{"menu_id":146,"menu_title":147,"menu_domain":11,"menu_link":148,"menu_icon":13,"menu_priority":53,"menu_level":9,"menu_status":14,"menu_parent":109,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":149},212,"Quản lý chuỗi cung ứng","kinh-doanh-marketing/quan-ly-chuoi-cung-ung/",[],{"menu_id":151,"menu_title":152,"menu_domain":11,"menu_link":153,"menu_icon":13,"menu_priority":9,"menu_level":14,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":24,"menu_website":18,"children_recursive":154},22,"Kinh Tế - Quản Lý","kinh-te-quan-ly/",[155,160,165,170,175,180,185],{"menu_id":156,"menu_title":157,"menu_domain":11,"menu_link":158,"menu_icon":13,"menu_priority":14,"menu_level":9,"menu_status":14,"menu_parent":151,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":24,"menu_website":18,"children_recursive":159},66,"Kinh tế học","kinh-te-quan-ly/kinh-te-hoc/",[],{"menu_id":161,"menu_title":162,"menu_domain":11,"menu_link":163,"menu_icon":13,"menu_priority":9,"menu_level":9,"menu_status":14,"menu_parent":151,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":164},65,"Kinh tế quốc tế","kinh-te-quan-ly/kinh-te-quoc-te/",[],{"menu_id":166,"menu_title":167,"menu_domain":11,"menu_link":168,"menu_icon":24,"menu_priority":30,"menu_level":9,"menu_status":14,"menu_parent":151,"menu_linktype":24,"menu_group":112,"menu_group_priority":24,"menu_group_link":13,"menu_website":24,"children_recursive":169},217,"Kinh tế phát triển","kinh-te-quan-ly/kinh-te-phat-trien/",[],{"menu_id":171,"menu_title":172,"menu_domain":11,"menu_link":173,"menu_icon":13,"menu_priority":36,"menu_level":9,"menu_status":14,"menu_parent":151,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":24,"menu_website":18,"children_recursive":174},64,"Quản lý dự án","kinh-te-quan-ly/quan-ly-du-an/",[],{"menu_id":176,"menu_title":177,"menu_domain":11,"menu_link":178,"menu_icon":13,"menu_priority":42,"menu_level":9,"menu_status":14,"menu_parent":151,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":179},63,"Kinh tế công - Nhà nước","kinh-te-quan-ly/quan-ly-nha-nuoc/",[],{"menu_id":181,"menu_title":182,"menu_domain":11,"menu_link":183,"menu_icon":24,"menu_priority":45,"menu_level":9,"menu_status":14,"menu_parent":151,"menu_linktype":24,"menu_group":112,"menu_group_priority":24,"menu_group_link":13,"menu_website":24,"children_recursive":184},218,"Tiêu chuẩn - Qui chuẩn","kinh-te-quan-ly/tieu-chuan-quy-chuan/",[],{"menu_id":186,"menu_title":187,"menu_domain":11,"menu_link":188,"menu_icon":24,"menu_priority":53,"menu_level":9,"menu_status":14,"menu_parent":151,"menu_linktype":24,"menu_group":112,"menu_group_priority":24,"menu_group_link":13,"menu_website":24,"children_recursive":189},220,"Quản lý công nghiệp","kinh-te-quan-ly/quan-ly-cong-nghiep/",[],{"menu_id":191,"menu_title":192,"menu_domain":11,"menu_link":193,"menu_icon":13,"menu_priority":30,"menu_level":14,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":24,"menu_website":18,"children_recursive":194},23,"Tài Chính - Ngân Hàng","tai-chinh-ngan-hang/",[195,200,205,210,215,220,225,230],{"menu_id":196,"menu_title":197,"menu_domain":11,"menu_link":198,"menu_icon":13,"menu_priority":14,"menu_level":9,"menu_status":14,"menu_parent":191,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":199},68,"Kế toán","tai-chinh-ngan-hang/ke-toan/",[],{"menu_id":201,"menu_title":202,"menu_domain":11,"menu_link":203,"menu_icon":24,"menu_priority":9,"menu_level":9,"menu_status":14,"menu_parent":191,"menu_linktype":24,"menu_group":112,"menu_group_priority":24,"menu_group_link":13,"menu_website":24,"children_recursive":204},221,"Kiểm toán","tai-chinh-ngan-hang/kiem-toan/",[],{"menu_id":206,"menu_title":207,"menu_domain":11,"menu_link":208,"menu_icon":13,"menu_priority":30,"menu_level":9,"menu_status":14,"menu_parent":191,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":24,"menu_website":18,"children_recursive":209},74,"Tài chính doanh nghiệp","tai-chinh-ngan-hang/tai-chinh-doanh-nghiep/",[],{"menu_id":211,"menu_title":212,"menu_domain":11,"menu_link":213,"menu_icon":13,"menu_priority":36,"menu_level":9,"menu_status":14,"menu_parent":191,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":24,"menu_website":18,"children_recursive":214},69,"Ngân hàng - Tín dụng","tai-chinh-ngan-hang/ngan-hang-tin-dung/",[],{"menu_id":216,"menu_title":217,"menu_domain":11,"menu_link":218,"menu_icon":13,"menu_priority":42,"menu_level":9,"menu_status":14,"menu_parent":191,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":219},70,"Đầu tư - Chứng khoán - BĐS","tai-chinh-ngan-hang/dau-tu-chung-khoan-bds/",[],{"menu_id":221,"menu_title":222,"menu_domain":11,"menu_link":223,"menu_icon":13,"menu_priority":45,"menu_level":9,"menu_status":14,"menu_parent":191,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":224},71,"Tài chính số Fintech","tai-chinh-ngan-hang/tai-chinh-so-fintech/",[],{"menu_id":226,"menu_title":227,"menu_domain":11,"menu_link":228,"menu_icon":13,"menu_priority":53,"menu_level":9,"menu_status":14,"menu_parent":191,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":229},72,"Tài chính công","tai-chinh-ngan-hang/tai-chinh-cong/",[],{"menu_id":231,"menu_title":232,"menu_domain":11,"menu_link":233,"menu_icon":13,"menu_priority":59,"menu_level":9,"menu_status":14,"menu_parent":191,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":234},73,"Thuế - Bảo hiểm - Thẩm định","tai-chinh-ngan-hang/thue-bao-hiem-tham-dinh/",[],{"menu_id":236,"menu_title":237,"menu_domain":11,"menu_link":238,"menu_icon":13,"menu_priority":36,"menu_level":14,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":24,"menu_website":18,"children_recursive":239},24,"Công Nghệ Thông Tin","cong-nghe-thong-tin/",[240,245,250,255,260,266,271,276,281,286],{"menu_id":241,"menu_title":242,"menu_domain":11,"menu_link":243,"menu_icon":13,"menu_priority":14,"menu_level":9,"menu_status":14,"menu_parent":236,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":244},82,"Tin học văn phòng","cong-nghe-thong-tin/tin-hoc-van-phong/",[],{"menu_id":246,"menu_title":247,"menu_domain":11,"menu_link":248,"menu_icon":13,"menu_priority":9,"menu_level":9,"menu_status":14,"menu_parent":236,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":249},76,"Khoa học máy tính","cong-nghe-thong-tin/khoa-hoc-may-tinh/",[],{"menu_id":251,"menu_title":252,"menu_domain":11,"menu_link":253,"menu_icon":13,"menu_priority":30,"menu_level":9,"menu_status":14,"menu_parent":236,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":254},77,"Khoa học dữ liệu","cong-nghe-thong-tin/khoa-hoc-du-lieu/",[],{"menu_id":256,"menu_title":257,"menu_domain":11,"menu_link":258,"menu_icon":13,"menu_priority":36,"menu_level":9,"menu_status":14,"menu_parent":236,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":259},81,"An toàn thông tin","cong-nghe-thong-tin/an-toan-thong-tin/",[],{"menu_id":261,"menu_title":262,"menu_domain":11,"menu_link":263,"menu_icon":13,"menu_priority":42,"menu_level":9,"menu_status":14,"menu_parent":236,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":264,"children_recursive":265},85,"Kỹ thuật phần mềm","cong-nghe-thong-tin/ky-thuat-phan-mem/","tailieu.vn",[],{"menu_id":267,"menu_title":268,"menu_domain":11,"menu_link":269,"menu_icon":13,"menu_priority":45,"menu_level":9,"menu_status":14,"menu_parent":236,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":270},79,"Trí tuệ nhân tạo AI","cong-nghe-thong-tin/tri-tue-nhan-tao-ai/",[],{"menu_id":272,"menu_title":273,"menu_domain":11,"menu_link":274,"menu_icon":13,"menu_priority":45,"menu_level":9,"menu_status":14,"menu_parent":236,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":275},84,"Kỹ thuật máy tính","cong-nghe-thong-tin/ky-thuat-may-tinh/",[],{"menu_id":277,"menu_title":278,"menu_domain":11,"menu_link":279,"menu_icon":13,"menu_priority":53,"menu_level":9,"menu_status":14,"menu_parent":236,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":280},78,"Hệ thống thông tin quản lý","cong-nghe-thong-tin/he-thong-thong-tin-quan-ly/",[],{"menu_id":282,"menu_title":283,"menu_domain":11,"menu_link":284,"menu_icon":13,"menu_priority":59,"menu_level":9,"menu_status":14,"menu_parent":236,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":285},80,"Mạng máy tính và truyền thông","cong-nghe-thong-tin/mang-may-tinh-truyen-thong/",[],{"menu_id":287,"menu_title":288,"menu_domain":11,"menu_link":289,"menu_icon":13,"menu_priority":64,"menu_level":9,"menu_status":14,"menu_parent":236,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":290},83,"Chứng chỉ CNTT quốc tế","cong-nghe-thong-tin/chung-chi-quoc-te/",[],{"menu_id":292,"menu_title":293,"menu_domain":11,"menu_link":294,"menu_icon":13,"menu_priority":42,"menu_level":14,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":24,"menu_website":18,"children_recursive":295},25,"Tiếng Anh - Ngoại Ngữ","tieng-anh-ngoai-ngu/",[296,301,306,311,316,321,326],{"menu_id":297,"menu_title":298,"menu_domain":11,"menu_link":299,"menu_icon":13,"menu_priority":14,"menu_level":9,"menu_status":14,"menu_parent":292,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":24,"menu_website":18,"children_recursive":300},86,"Tiếng Anh thông dụng","tieng-anh-ngoai-ngu/tieng-anh-thong-dung/",[],{"menu_id":302,"menu_title":303,"menu_domain":11,"menu_link":304,"menu_icon":13,"menu_priority":9,"menu_level":9,"menu_status":14,"menu_parent":292,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":305},87,"Tiếng Anh chuyên ngành","tieng-anh-ngoai-ngu/tieng-anh-chuyen-nganh/",[],{"menu_id":307,"menu_title":308,"menu_domain":11,"menu_link":309,"menu_icon":13,"menu_priority":30,"menu_level":9,"menu_status":14,"menu_parent":292,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":310},88,"Ngôn ngữ Anh","tieng-anh-ngoai-ngu/ngon-ngu-anh/",[],{"menu_id":312,"menu_title":313,"menu_domain":11,"menu_link":314,"menu_icon":13,"menu_priority":36,"menu_level":9,"menu_status":14,"menu_parent":292,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":315},94,"Kỹ năng Tiếng Anh","tieng-anh-ngoai-ngu/ky-nang-tieng-anh/",[],{"menu_id":317,"menu_title":318,"menu_domain":11,"menu_link":319,"menu_icon":13,"menu_priority":42,"menu_level":9,"menu_status":14,"menu_parent":292,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":24,"menu_website":18,"children_recursive":320},93,"Ngữ pháp tiếng Anh","tieng-anh-ngoai-ngu/ngu-phap-tieng-anh/",[],{"menu_id":322,"menu_title":323,"menu_domain":11,"menu_link":324,"menu_icon":13,"menu_priority":45,"menu_level":9,"menu_status":14,"menu_parent":292,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":325},92,"Chứng chỉ Tiếng Anh","tieng-anh-ngoai-ngu/chung-chi-tieng-anh/",[],{"menu_id":327,"menu_title":328,"menu_domain":11,"menu_link":329,"menu_icon":13,"menu_priority":53,"menu_level":9,"menu_status":14,"menu_parent":292,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":330},90,"Ngoại ngữ khác","tieng-anh-ngoai-ngu/ngoai-ngu-khac/",[],{"menu_id":332,"menu_title":333,"menu_domain":11,"menu_link":334,"menu_icon":13,"menu_priority":45,"menu_level":14,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":24,"menu_website":18,"children_recursive":335},26,"Kỹ Thuật - Công Nghệ","ky-thuat-cong-nghe/",[336,341,346,351,356,361,366],{"menu_id":337,"menu_title":338,"menu_domain":11,"menu_link":339,"menu_icon":13,"menu_priority":14,"menu_level":9,"menu_status":14,"menu_parent":332,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":340},97,"Điện - Điện tử - Viễn thông","ky-thuat-cong-nghe/dien-dien-tu-vien-thong/",[],{"menu_id":342,"menu_title":343,"menu_domain":11,"menu_link":344,"menu_icon":13,"menu_priority":9,"menu_level":9,"menu_status":14,"menu_parent":332,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":345},98,"Cơ điện tử – Robot","ky-thuat-cong-nghe/co-dien-tu-robot/",[],{"menu_id":347,"menu_title":348,"menu_domain":11,"menu_link":349,"menu_icon":13,"menu_priority":30,"menu_level":9,"menu_status":14,"menu_parent":332,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":24,"menu_website":18,"children_recursive":350},99,"Cơ khí - Chế tạo máy","ky-thuat-cong-nghe/co-khi-che-tao-may/",[],{"menu_id":352,"menu_title":353,"menu_domain":11,"menu_link":354,"menu_icon":13,"menu_priority":36,"menu_level":9,"menu_status":14,"menu_parent":332,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":355},100,"Tự động hoá - Điều khiển","ky-thuat-cong-nghe/tu-dong-hoa/",[],{"menu_id":357,"menu_title":358,"menu_domain":11,"menu_link":359,"menu_icon":13,"menu_priority":42,"menu_level":9,"menu_status":14,"menu_parent":332,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":360},101,"Kiến trúc - Xây dựng - Vật liệu","ky-thuat-cong-nghe/kien-truc-xay-dung/",[],{"menu_id":362,"menu_title":363,"menu_domain":11,"menu_link":364,"menu_icon":13,"menu_priority":45,"menu_level":9,"menu_status":14,"menu_parent":332,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":365},102,"Kỹ thuật nhiệt - Lạnh","ky-thuat-cong-nghe/ky-thuat-nhiet-lanh/",[],{"menu_id":367,"menu_title":368,"menu_domain":11,"menu_link":369,"menu_icon":13,"menu_priority":53,"menu_level":9,"menu_status":14,"menu_parent":332,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":264,"children_recursive":370},103,"Hoá - Môi trường - Thực phẩm","ky-thuat-cong-nghe/hoa-moi-truong-thuc-pham/",[],{"menu_id":372,"menu_title":373,"menu_domain":11,"menu_link":374,"menu_icon":13,"menu_priority":53,"menu_level":14,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":24,"menu_website":18,"children_recursive":375},27,"Khoa Học Tự Nhiên","khoa-hoc-tu-nhien/",[376,381,386,391,396,401,406],{"menu_id":377,"menu_title":378,"menu_domain":11,"menu_link":379,"menu_icon":13,"menu_priority":14,"menu_level":9,"menu_status":14,"menu_parent":372,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":380},104,"Toán học - Thông kê","khoa-hoc-tu-nhien/toan-hoc/",[],{"menu_id":382,"menu_title":383,"menu_domain":11,"menu_link":384,"menu_icon":13,"menu_priority":9,"menu_level":9,"menu_status":14,"menu_parent":372,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":24,"menu_website":18,"children_recursive":385},105,"Vật lý","khoa-hoc-tu-nhien/vat-ly/",[],{"menu_id":387,"menu_title":388,"menu_domain":11,"menu_link":389,"menu_icon":13,"menu_priority":30,"menu_level":9,"menu_status":14,"menu_parent":372,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":24,"menu_website":18,"children_recursive":390},106,"Hoá học","khoa-hoc-tu-nhien/hoa-hoc/",[],{"menu_id":392,"menu_title":393,"menu_domain":11,"menu_link":394,"menu_icon":13,"menu_priority":36,"menu_level":9,"menu_status":14,"menu_parent":372,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":24,"menu_website":18,"children_recursive":395},107,"Sinh học","khoa-hoc-tu-nhien/sinh-hoc/",[],{"menu_id":397,"menu_title":398,"menu_domain":11,"menu_link":399,"menu_icon":13,"menu_priority":42,"menu_level":9,"menu_status":14,"menu_parent":372,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":400},108,"Khoa học môi trường","khoa-hoc-tu-nhien/moi-truong/",[],{"menu_id":402,"menu_title":403,"menu_domain":11,"menu_link":404,"menu_icon":13,"menu_priority":45,"menu_level":9,"menu_status":14,"menu_parent":372,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":264,"children_recursive":405},109,"Địa lý - Địa chất","khoa-hoc-tu-nhien/dia-ly-dia-chat/",[],{"menu_id":407,"menu_title":408,"menu_domain":11,"menu_link":409,"menu_icon":24,"menu_priority":410,"menu_level":9,"menu_status":14,"menu_parent":372,"menu_linktype":24,"menu_group":112,"menu_group_priority":24,"menu_group_link":13,"menu_website":24,"children_recursive":411},219,"Thiên văn – Vũ trụ học","khoa-hoc-tu-nhien/thien-van-vu-tru-hoc/",67,[],{"menu_id":413,"menu_title":414,"menu_domain":11,"menu_link":415,"menu_icon":13,"menu_priority":59,"menu_level":14,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":24,"menu_website":18,"children_recursive":416},28,"Khoa Học Xã Hội","khoa-hoc-xa-hoi/",[417,422,427,432,437,442,447,452,457],{"menu_id":418,"menu_title":419,"menu_domain":11,"menu_link":420,"menu_icon":13,"menu_priority":14,"menu_level":9,"menu_status":14,"menu_parent":413,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":24,"menu_website":18,"children_recursive":421},110,"Giáo dục học","khoa-hoc-xa-hoi/giao-duc-hoc/",[],{"menu_id":423,"menu_title":424,"menu_domain":11,"menu_link":425,"menu_icon":13,"menu_priority":9,"menu_level":9,"menu_status":14,"menu_parent":413,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":24,"menu_website":264,"children_recursive":426},118,"Tâm lý học","khoa-hoc-xa-hoi/tam-ly-hoc/",[],{"menu_id":428,"menu_title":429,"menu_domain":11,"menu_link":430,"menu_icon":13,"menu_priority":30,"menu_level":9,"menu_status":14,"menu_parent":413,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":24,"menu_website":18,"children_recursive":431},113,"Xã hội học","khoa-hoc-xa-hoi/xa-hoi-hoc/",[],{"menu_id":433,"menu_title":434,"menu_domain":11,"menu_link":435,"menu_icon":13,"menu_priority":36,"menu_level":9,"menu_status":14,"menu_parent":413,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":436},115,"Triết - Chính trị học","khoa-hoc-xa-hoi/triet-hoc-chinh-tri-hoc/",[],{"menu_id":438,"menu_title":439,"menu_domain":11,"menu_link":440,"menu_icon":13,"menu_priority":42,"menu_level":9,"menu_status":14,"menu_parent":413,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":441},114,"Văn học - Ngôn ngữ học","khoa-hoc-xa-hoi/van-hoc-ngon-ngu-hoc/",[],{"menu_id":443,"menu_title":444,"menu_domain":11,"menu_link":445,"menu_icon":13,"menu_priority":45,"menu_level":9,"menu_status":14,"menu_parent":413,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":24,"menu_website":18,"children_recursive":446},111,"Lịch sử - Văn hoá","khoa-hoc-xa-hoi/lich-su-van-hoa/",[],{"menu_id":448,"menu_title":449,"menu_domain":11,"menu_link":450,"menu_icon":13,"menu_priority":53,"menu_level":9,"menu_status":14,"menu_parent":413,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":451},112,"Báo chí - Truyền hình","khoa-hoc-xa-hoi/bao-chi-truyen-hinh/",[],{"menu_id":453,"menu_title":454,"menu_domain":11,"menu_link":455,"menu_icon":13,"menu_priority":59,"menu_level":9,"menu_status":14,"menu_parent":413,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":456},117,"Văn thư – Lưu trữ","khoa-hoc-xa-hoi/van-thu-luu-tru/",[],{"menu_id":458,"menu_title":459,"menu_domain":11,"menu_link":460,"menu_icon":13,"menu_priority":64,"menu_level":9,"menu_status":14,"menu_parent":413,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":461},116,"Kỹ năng mềm","khoa-hoc-xa-hoi/ky-nang-mem/",[],{"menu_id":463,"menu_title":464,"menu_domain":11,"menu_link":465,"menu_icon":13,"menu_priority":64,"menu_level":14,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":24,"menu_website":18,"children_recursive":466},29,"Văn Hoá - Thể thao - Du Lịch","van-hoa-the-thao-du-lich/",[467,472,477,482,487,492,497,502],{"menu_id":468,"menu_title":469,"menu_domain":11,"menu_link":470,"menu_icon":13,"menu_priority":14,"menu_level":9,"menu_status":14,"menu_parent":463,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":471},119,"Quản trị khách sạn","van-hoa-the-thao-du-lich/quan-tri-khach-san/",[],{"menu_id":473,"menu_title":474,"menu_domain":11,"menu_link":475,"menu_icon":13,"menu_priority":9,"menu_level":9,"menu_status":14,"menu_parent":463,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":476},120,"Quản trị du lịch và lữ hành","van-hoa-the-thao-du-lich/quan-tri-du-lich/",[],{"menu_id":478,"menu_title":479,"menu_domain":11,"menu_link":480,"menu_icon":13,"menu_priority":30,"menu_level":9,"menu_status":14,"menu_parent":463,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":481},121,"Thiết kế đồ họa","van-hoa-the-thao-du-lich/thiet-ke-do-hoa/",[],{"menu_id":483,"menu_title":484,"menu_domain":11,"menu_link":485,"menu_icon":13,"menu_priority":36,"menu_level":9,"menu_status":14,"menu_parent":463,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":486},122,"Thiết kế thời trang","van-hoa-the-thao-du-lich/thiet-ke-thoi-trang/",[],{"menu_id":488,"menu_title":489,"menu_domain":11,"menu_link":490,"menu_icon":13,"menu_priority":42,"menu_level":9,"menu_status":14,"menu_parent":463,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":491},123,"Sân khấu - Điện ảnh","van-hoa-the-thao-du-lich/san-khau-dien-anh/",[],{"menu_id":493,"menu_title":494,"menu_domain":11,"menu_link":495,"menu_icon":13,"menu_priority":45,"menu_level":9,"menu_status":14,"menu_parent":463,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":496},124,"Văn hoá ẩm thực","van-hoa-the-thao-du-lich/van-hoa-am-thuc/",[],{"menu_id":498,"menu_title":499,"menu_domain":11,"menu_link":500,"menu_icon":13,"menu_priority":53,"menu_level":9,"menu_status":14,"menu_parent":463,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":264,"children_recursive":501},125,"Thể dục - Thể thao","van-hoa-the-thao-du-lich/the-duc-the-thao/",[],{"menu_id":503,"menu_title":504,"menu_domain":11,"menu_link":505,"menu_icon":24,"menu_priority":59,"menu_level":9,"menu_status":14,"menu_parent":463,"menu_linktype":24,"menu_group":112,"menu_group_priority":24,"menu_group_link":13,"menu_website":24,"children_recursive":506},229,"Giải trí - Thư giãn","van-hoa-the-thao-du-lich/giai-tri-thu-gian/",[],{"menu_id":508,"menu_title":509,"menu_domain":11,"menu_link":510,"menu_icon":13,"menu_priority":75,"menu_level":14,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":24,"menu_website":18,"children_recursive":511},31,"Y - Dược - Sức Khoẻ","y-duoc-suc-khoe/",[512,517,522,527,532,537,542],{"menu_id":513,"menu_title":514,"menu_domain":11,"menu_link":515,"menu_icon":13,"menu_priority":14,"menu_level":9,"menu_status":14,"menu_parent":508,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":516},152,"Y khoa","y-duoc-suc-khoe/y-khoa/",[],{"menu_id":518,"menu_title":519,"menu_domain":11,"menu_link":520,"menu_icon":13,"menu_priority":9,"menu_level":9,"menu_status":14,"menu_parent":508,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":521},153,"Răng – Hàm – Mặt","y-duoc-suc-khoe/rang-ham-mat/",[],{"menu_id":523,"menu_title":524,"menu_domain":11,"menu_link":525,"menu_icon":13,"menu_priority":30,"menu_level":9,"menu_status":14,"menu_parent":508,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":526},154,"Dược học","y-duoc-suc-khoe/duoc-hoc/",[],{"menu_id":528,"menu_title":529,"menu_domain":11,"menu_link":530,"menu_icon":13,"menu_priority":36,"menu_level":9,"menu_status":14,"menu_parent":508,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":531},155,"Điều dưỡng","y-duoc-suc-khoe/dieu-duong/",[],{"menu_id":533,"menu_title":534,"menu_domain":11,"menu_link":535,"menu_icon":13,"menu_priority":42,"menu_level":9,"menu_status":14,"menu_parent":508,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":536},156,"Kỹ thuật xét nghiệm","y-duoc-suc-khoe/ky-thuat-xet-nghiem/",[],{"menu_id":538,"menu_title":539,"menu_domain":11,"menu_link":540,"menu_icon":24,"menu_priority":53,"menu_level":9,"menu_status":14,"menu_parent":508,"menu_linktype":24,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":541},227,"Y học cổ truyền","y-duoc-suc-khoe/y-hoc-co-truyen/",[],{"menu_id":543,"menu_title":544,"menu_domain":11,"menu_link":545,"menu_icon":24,"menu_priority":59,"menu_level":9,"menu_status":14,"menu_parent":508,"menu_linktype":24,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":546},228,"Y tế cộng đồng","y-duoc-suc-khoe/y-te-cong-dong/",[],{"menu_id":548,"menu_title":549,"menu_domain":11,"menu_link":550,"menu_icon":13,"menu_priority":80,"menu_level":14,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":551},32,"Luật - Kinh tế luật","luat-kinh-te-luat/",[552,557,562,567],{"menu_id":553,"menu_title":554,"menu_domain":11,"menu_link":555,"menu_icon":13,"menu_priority":14,"menu_level":9,"menu_status":14,"menu_parent":548,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":556},157,"Luật học","luat-kinh-te-luat/luat-hoc/",[],{"menu_id":558,"menu_title":559,"menu_domain":11,"menu_link":560,"menu_icon":13,"menu_priority":9,"menu_level":9,"menu_status":14,"menu_parent":548,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":561},158,"Luật kinh tế","luat-kinh-te-luat/luat-kinh-te/",[],{"menu_id":563,"menu_title":564,"menu_domain":11,"menu_link":565,"menu_icon":13,"menu_priority":30,"menu_level":9,"menu_status":14,"menu_parent":548,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":566},159,"Luật quốc tế","luat-kinh-te-luat/luat-quoc-te/",[],{"menu_id":568,"menu_title":569,"menu_domain":11,"menu_link":570,"menu_icon":13,"menu_priority":36,"menu_level":9,"menu_status":14,"menu_parent":548,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":571},160,"Luật lao động","luat-kinh-te-luat/luat-lao-dong/",[],{"menu_id":573,"menu_title":574,"menu_domain":11,"menu_link":575,"menu_icon":13,"menu_priority":85,"menu_level":14,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":24,"menu_website":18,"children_recursive":576},33,"Nông - Lâm - Thuỷ sản","nong-lam-thuy-san/",[577,582,587,592,597,602,607,612],{"menu_id":578,"menu_title":579,"menu_domain":11,"menu_link":580,"menu_icon":13,"menu_priority":14,"menu_level":9,"menu_status":14,"menu_parent":573,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":581},166,"Khoa học cây trồng","nong-lam-thuy-san/khoa-hoc-cay-trong/",[],{"menu_id":583,"menu_title":584,"menu_domain":11,"menu_link":585,"menu_icon":13,"menu_priority":9,"menu_level":9,"menu_status":14,"menu_parent":573,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":586},165,"Chăn nuôi – Thú y","nong-lam-thuy-san/chan-nuoi-thu-y/",[],{"menu_id":588,"menu_title":589,"menu_domain":11,"menu_link":590,"menu_icon":13,"menu_priority":30,"menu_level":9,"menu_status":14,"menu_parent":573,"menu_linktype":13,"menu_group":112,"menu_group_priority":9,"menu_group_link":13,"menu_website":18,"children_recursive":591},164,"Nuôi trồng thủy sản","nong-lam-thuy-san/nuoi-trong-thuy-san/",[],{"menu_id":593,"menu_title":594,"menu_domain":11,"menu_link":595,"menu_icon":24,"menu_priority":36,"menu_level":9,"menu_status":14,"menu_parent":573,"menu_linktype":24,"menu_group":112,"menu_group_priority":24,"menu_group_link":13,"menu_website":24,"children_recursive":596},222,"Lâm nghiệp – Quản lý rừng","nong-lam-thuy-san/lam-nghiep-quan-ly-rung/",[],{"menu_id":598,"menu_title":599,"menu_domain":11,"menu_link":600,"menu_icon":24,"menu_priority":42,"menu_level":9,"menu_status":14,"menu_parent":573,"menu_linktype":24,"menu_group":112,"menu_group_priority":24,"menu_group_link":13,"menu_website":24,"children_recursive":601},223,"Bảo vệ thực vật","nong-lam-thuy-san/bao-ve-thuc-vat/",[],{"menu_id":603,"menu_title":604,"menu_domain":11,"menu_link":605,"menu_icon":24,"menu_priority":45,"menu_level":9,"menu_status":14,"menu_parent":573,"menu_linktype":24,"menu_group":112,"menu_group_priority":24,"menu_group_link":13,"menu_website":24,"children_recursive":606},224,"Công nghệ thực phẩm","nong-lam-thuy-san/cong-nghe-thuc-pham/",[],{"menu_id":608,"menu_title":609,"menu_domain":11,"menu_link":610,"menu_icon":24,"menu_priority":53,"menu_level":9,"menu_status":14,"menu_parent":573,"menu_linktype":24,"menu_group":112,"menu_group_priority":24,"menu_group_link":13,"menu_website":24,"children_recursive":611},225,"Nông nghiệp công nghệ cao","nong-lam-thuy-san/nong-nghiep-cong-nghe-cao/",[],{"menu_id":613,"menu_title":614,"menu_domain":11,"menu_link":615,"menu_icon":24,"menu_priority":59,"menu_level":9,"menu_status":14,"menu_parent":573,"menu_linktype":24,"menu_group":112,"menu_group_priority":24,"menu_group_link":13,"menu_website":24,"children_recursive":616},226,"Kinh tế và phát triển nông thôn","nong-lam-thuy-san/kinh-te-va-phat-trien-nong-thon/",[],[618,624,629,635,640,644],{"menu_id":85,"menu_title":619,"menu_domain":11,"menu_link":620,"menu_icon":13,"menu_priority":14,"menu_level":14,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":621,"menu_group_priority":30,"menu_group_link":622,"menu_website":18,"children_recursive":623},"Quản trị doanh nghiệp","bo-tai-lieu/quan-tri-doanh-nghiep/","Bộ tài liệu cao cấp","bo-tai-lieu/",[],{"menu_id":625,"menu_title":626,"menu_domain":11,"menu_link":627,"menu_icon":24,"menu_priority":9,"menu_level":14,"menu_status":14,"menu_parent":15,"menu_linktype":24,"menu_group":621,"menu_group_priority":30,"menu_group_link":13,"menu_website":264,"children_recursive":628},19,"Đề thi kiểm tra","bo-tai-lieu/de-thi-kiem-tra/",[],{"menu_id":630,"menu_title":631,"menu_domain":11,"menu_link":632,"menu_icon":24,"menu_priority":30,"menu_level":14,"menu_status":14,"menu_parent":15,"menu_linktype":24,"menu_group":621,"menu_group_priority":30,"menu_group_link":24,"menu_website":633,"children_recursive":634},214,"Quy trình biểu mẫu","bo-tai-lieu/quy-trinh-bieu-mau/","taiileu.vn",[],{"menu_id":636,"menu_title":637,"menu_domain":11,"menu_link":638,"menu_icon":24,"menu_priority":36,"menu_level":14,"menu_status":14,"menu_parent":15,"menu_linktype":24,"menu_group":621,"menu_group_priority":30,"menu_group_link":24,"menu_website":264,"children_recursive":639},215,"Giáo án Word và PPT","bo-tai-lieu/giao-an-word-va-ppt/",[],{"menu_id":100,"menu_title":641,"menu_domain":11,"menu_link":642,"menu_icon":13,"menu_priority":42,"menu_level":14,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":621,"menu_group_priority":30,"menu_group_link":24,"menu_website":18,"children_recursive":643},"Luận văn báo cáo","bo-tai-lieu/luan-van-bao-cao/",[],{"menu_id":645,"menu_title":13,"menu_domain":11,"menu_link":13,"menu_icon":13,"menu_priority":53,"menu_level":14,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":621,"menu_group_priority":30,"menu_group_link":24,"menu_website":264,"children_recursive":646},999,[],[648,655,660,665,670],{"menu_id":649,"menu_title":650,"menu_domain":11,"menu_link":651,"menu_icon":13,"menu_priority":14,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":652,"menu_group_priority":36,"menu_group_link":653,"menu_website":18,"children_recursive":654},53,"Thủ tục hành chính","bieu-mau-van-ban/thu-tuc-hanh-chinh/","Văn bản – Biểu mẫu","bieu-mau-van-ban/",[],{"menu_id":656,"menu_title":657,"menu_domain":11,"menu_link":658,"menu_icon":13,"menu_priority":9,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":652,"menu_group_priority":36,"menu_group_link":24,"menu_website":18,"children_recursive":659},54,"Biểu mẫu","bieu-mau-van-ban/bieu-mau/",[],{"menu_id":661,"menu_title":662,"menu_domain":11,"menu_link":663,"menu_icon":13,"menu_priority":30,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":652,"menu_group_priority":36,"menu_group_link":24,"menu_website":18,"children_recursive":664},55,"Đơn từ","bieu-mau-van-ban/don-tu/",[],{"menu_id":666,"menu_title":667,"menu_domain":11,"menu_link":668,"menu_icon":13,"menu_priority":36,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":652,"menu_group_priority":36,"menu_group_link":24,"menu_website":18,"children_recursive":669},56,"Hợp đồng","bieu-mau-van-ban/hop-dong/",[],{"menu_id":671,"menu_title":672,"menu_domain":11,"menu_link":673,"menu_icon":24,"menu_priority":36,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":24,"menu_group":652,"menu_group_priority":53,"menu_group_link":13,"menu_website":24,"children_recursive":674},216,"Văn bản luật","bieu-mau-van-ban/van-ban-luat/",[],[676,683,688,693,698,703,708,713,718,723,728,733,738,742],{"menu_id":677,"menu_title":678,"menu_domain":11,"menu_link":679,"menu_icon":13,"menu_priority":14,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":680,"menu_group_priority":42,"menu_group_link":681,"menu_website":18,"children_recursive":682},51,"Thạc sĩ - Tiến sĩ - Cao học","luan-van-bao-cao/thac-si-tien-si-cao-hoc/","Luận Văn - Báo Cáo","luan-van-bao-cao/",[],{"menu_id":684,"menu_title":685,"menu_domain":11,"menu_link":686,"menu_icon":13,"menu_priority":9,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":680,"menu_group_priority":42,"menu_group_link":13,"menu_website":18,"children_recursive":687},50,"Báo cáo - Thuyết trình","luan-van-bao-cao/bao-cao-thuyet-trinh/",[],{"menu_id":689,"menu_title":690,"menu_domain":11,"menu_link":691,"menu_icon":13,"menu_priority":30,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":680,"menu_group_priority":42,"menu_group_link":681,"menu_website":18,"children_recursive":692},38,"Tài chính - Ngân hàng","luan-van-bao-cao/lv-tai-chinh-ngan-hang/",[],{"menu_id":694,"menu_title":695,"menu_domain":11,"menu_link":696,"menu_icon":13,"menu_priority":36,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":680,"menu_group_priority":42,"menu_group_link":13,"menu_website":18,"children_recursive":697},39,"Kinh doanh - Marketing","luan-van-bao-cao/lv-kinh-doanh-marketing/",[],{"menu_id":699,"menu_title":700,"menu_domain":11,"menu_link":701,"menu_icon":13,"menu_priority":42,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":680,"menu_group_priority":42,"menu_group_link":13,"menu_website":18,"children_recursive":702},41,"Công nghệ thông tin","luan-van-bao-cao/lv-cong-nghe-thong-tin/",[],{"menu_id":704,"menu_title":705,"menu_domain":11,"menu_link":706,"menu_icon":13,"menu_priority":45,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":680,"menu_group_priority":42,"menu_group_link":13,"menu_website":18,"children_recursive":707},40,"Kinh tế - Quản lý","luan-van-bao-cao/lv-kinh-te-quan-ly/",[],{"menu_id":709,"menu_title":710,"menu_domain":11,"menu_link":711,"menu_icon":13,"menu_priority":53,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":680,"menu_group_priority":42,"menu_group_link":13,"menu_website":18,"children_recursive":712},42,"Kỹ thuật - Công nghệ","luan-van-bao-cao/lv-ky-thuat-cong-nghe/",[],{"menu_id":714,"menu_title":715,"menu_domain":11,"menu_link":716,"menu_icon":13,"menu_priority":59,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":680,"menu_group_priority":42,"menu_group_link":13,"menu_website":18,"children_recursive":717},43,"Tiếng Anh – Ngoại ngữ","luan-van-bao-cao/lv-tieng-anh-ngoai-ngu/",[],{"menu_id":719,"menu_title":720,"menu_domain":11,"menu_link":721,"menu_icon":13,"menu_priority":64,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":680,"menu_group_priority":42,"menu_group_link":13,"menu_website":18,"children_recursive":722},48,"Khoa học tự nhiên","luan-van-bao-cao/lv-khoa-hoc-tu-nhien/",[],{"menu_id":724,"menu_title":725,"menu_domain":11,"menu_link":726,"menu_icon":13,"menu_priority":70,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":680,"menu_group_priority":42,"menu_group_link":13,"menu_website":18,"children_recursive":727},47,"Khoa học xã hội","luan-van-bao-cao/lv-khoa-hoc-xa-hoi/",[],{"menu_id":729,"menu_title":730,"menu_domain":11,"menu_link":731,"menu_icon":13,"menu_priority":75,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":680,"menu_group_priority":42,"menu_group_link":13,"menu_website":18,"children_recursive":732},46,"Y - Dược - Sức khoẻ","luan-van-bao-cao/lv-y-duoc-suc-khoe/",[],{"menu_id":734,"menu_title":735,"menu_domain":11,"menu_link":736,"menu_icon":13,"menu_priority":80,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":680,"menu_group_priority":42,"menu_group_link":13,"menu_website":18,"children_recursive":737},45,"Luật – Kinh tế luật","luan-van-bao-cao/lv-luat-kinh-te-luat/",[],{"menu_id":739,"menu_title":574,"menu_domain":11,"menu_link":740,"menu_icon":13,"menu_priority":85,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":680,"menu_group_priority":42,"menu_group_link":13,"menu_website":18,"children_recursive":741},49,"luan-van-bao-cao/lv-nong-lam-thuy-san/",[],{"menu_id":743,"menu_title":744,"menu_domain":11,"menu_link":745,"menu_icon":13,"menu_priority":90,"menu_level":9,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":680,"menu_group_priority":42,"menu_group_link":13,"menu_website":18,"children_recursive":746},44,"Văn hoá – Thể thao - Du lịch","luan-van-bao-cao/lv-van-hoa-the-thao-du-lich/",[],[748,756,761,766,771,776],{"menu_id":749,"menu_title":750,"menu_domain":751,"menu_link":752,"menu_icon":13,"menu_priority":14,"menu_level":14,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":753,"menu_group_priority":45,"menu_group_link":13,"menu_website":754,"children_recursive":755},57,"Đề trắc nghiệm THPT","https://tracnghiem.net/","tnthpt/","Trắc nghiệm Online","tracnghiem.net\r",[],{"menu_id":757,"menu_title":758,"menu_domain":751,"menu_link":759,"menu_icon":13,"menu_priority":9,"menu_level":14,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":753,"menu_group_priority":45,"menu_group_link":13,"menu_website":754,"children_recursive":760},58,"Đề trắc nghiệm THCS","de-thi-thcs/",[],{"menu_id":762,"menu_title":763,"menu_domain":751,"menu_link":764,"menu_icon":13,"menu_priority":30,"menu_level":14,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":753,"menu_group_priority":45,"menu_group_link":13,"menu_website":754,"children_recursive":765},59,"Đề trắc nghiệm Tiểu học","de-thi-tieu-hoc/",[],{"menu_id":767,"menu_title":768,"menu_domain":751,"menu_link":769,"menu_icon":13,"menu_priority":36,"menu_level":14,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":753,"menu_group_priority":45,"menu_group_link":13,"menu_website":754,"children_recursive":770},60,"Flashcard Tiếng Anh","flashcard-thpt/",[],{"menu_id":772,"menu_title":773,"menu_domain":751,"menu_link":774,"menu_icon":13,"menu_priority":42,"menu_level":14,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":753,"menu_group_priority":45,"menu_group_link":13,"menu_website":754,"children_recursive":775},61,"Trắc nghiệm Đại học","dai-hoc/",[],{"menu_id":777,"menu_title":778,"menu_domain":751,"menu_link":779,"menu_icon":13,"menu_priority":45,"menu_level":14,"menu_status":14,"menu_parent":15,"menu_linktype":13,"menu_group":753,"menu_group_priority":45,"menu_group_link":13,"menu_website":754,"children_recursive":780},62,"Trắc nghiệm Hướng nghiệp","huong-nghiep/",[],{"code":5,"document":782,"page":826,"dateTime":827,"urlCss":828,"sample":829,"topic1":830,"topic2":837,"ishasHtml":841},{"document_id":783,"document_title":784,"document_desc":785,"document_desc_org":24,"document_tag":786,"document_picturename":808,"document_filename":809,"document_filetype":810,"document_numpage":15,"document_uploaddate":811,"member_username":812,"member_id":813,"cate_id1":538,"cate_id2":33,"document_point":814,"document_status":815,"document_numdownload":307,"document_favorite_today":15,"isSaved":817,"document_numview":818,"url":819,"document_link":820,"thumbnail":821,"breadcrumb":822,"document_isfree":15,"document_kind":15,"document_summary":24,"document_topic1":823,"document_topic2":824,"document_title_seo":825},203404,"Báo cáo đề tài \"Tìm hiểu WAP và công cụ tìm kiếm hỗ trợ thiết bị di động\"","Sự phát triển của hệ thống mạng toàn cầu - Internet đã đưa việc tiếp cận thông tin trở nên dễ dàng hơn bao giờ hết. Với những tiến bộ vược bậc của các thiết bị phần cứng cũng như các chuẩn mạng di động hiện nay, việc truy cập thông tin từ Internet thông qua các thiết bị di động ngày càng phổ biến hơn.",[787,790,793,796,799,802,805],{"label":788,"slug":789},"luận văn","luan-van.html",{"label":791,"slug":792},"hỗ trợ thiết bị di động","ho-tro-thiet-bi-di-dong.html",{"label":794,"slug":795},"công cụ tiềm kiếm","cong-cu-tiem-kiem.html",{"label":797,"slug":798},"thiết bị nghe nhìn","thiet-bi-nghe-nhin.html",{"label":800,"slug":801},"công nghệ wap","cong-nghe-wap.html",{"label":803,"slug":804},"kiểm tra chất lượng","kiem-tra-chat-luong.html",{"label":806,"slug":807},"hàng điện tử","hang-dien-tu.html","5961338046439.jpg","tim_hieu_cong_nghe_wap_6204.pdf","pdf","17/05/2010","dieutan",96818,664,{"code":14,"label":816},"Đã duyệt",false,341,"https://tailieu.vn/doc/bao-cao-de-tai-tim-hieu-wap-cong-cu-tim-kiem-thiet-bi-di-dong-203404.html","bao-cao-de-tai-tim-hieu-wap-cong-cu-tim-kiem-thiet-bi-di-dong-203404.html","https://cdn.tailieu.vn/images/document/thumbnail/2010/20100517/dieutan/135x160/5961338046439.jpg","\u003Cdiv class='items' itemscope itemtype='https://schema.org/BreadcrumbList'>\u003Cspan itemprop='itemListElement' itemscope itemtype='https://schema.org/ListItem'>\u003Ca itemprop='item' href='/' class='item'>\u003Cspan itemprop='name'>Trang chủ\u003C/span>\u003C/a>\u003Cmeta itemprop='position' content='1' />\u003C/span> » \u003Cspan itemprop='itemListElement' itemscope itemtype='https://schema.org/ListItem'>\u003Ca itemprop='item' href='https://tailieu.vn/luan-van-bao-cao/' class='item-parent'>\u003Cspan itemprop='name'>Luận Văn - Báo Cáo\u003C/span>\u003C/a>\u003Cmeta itemprop='position' content='2' />\u003C/span> » \u003Cspan itemprop='itemListElement' itemscope itemtype='https://schema.org/ListItem'>\u003Ca itemprop='item' href='https://tailieu.vn/luan-van-bao-cao/lv-ky-thuat-cong-nghe/' class='item'>\u003Cspan itemprop='name'>Kỹ thuật - Công nghệ\u003C/span>\u003C/a>\u003Cmeta itemprop='position' content='3' />\u003C/span>\u003C/div>","bao-cao-thuc-tap-ky-thuat-cong-nghe","bao-cao-thuc-tap-co-khi","Tìm hiểu WAP và công cụ tìm kiếm hỗ trợ thiết bị di động: Báo cáo đề tài",[],"2010/20100517/203404","2010/20100517/203404/tim_hieu_cong_nghe_wap_6204.css","https://cdn.tailieu.vn/files/samples/2010/20100517/dieutan/tim_hieu_cong_nghe_wap_6204.pdf",{"topic_code":823,"topic_name":831,"topic_title":832,"topic_content_title":833,"topic_picture":834,"documents":24,"topic_numdocument_active":835,"ogUrl":836},"Báo cáo thực tập kỹ thuật công nghệ","Thư viện Báo cáo thực tập kỹ thuật công nghệ hay và thực tiễn","Báo cáo thực tập kỹ thuật công nghệ – Tổng quan các đề tài và kinh nghiệm tích lũy","https://cdn.tailieu.vn/images/cates/175_ky-thuat-cong-nghe.jpg",6027,"https://tailieu.vn/chu-de/bao-cao-thuc-tap-ky-thuat-cong-nghe/",{"topic_code":824,"topic_name":838,"topic_title":24,"topic_content_title":24,"topic_picture":834,"documents":24,"topic_numdocument_active":839,"ogUrl":840},"Báo cáo thực tập cơ khí",2445,"https://tailieu.vn/chu-de/bao-cao-thuc-tap-co-khi/",true,"\n \u003Cdiv >\n \u003Ch3>LỜI CẢM ƠN\u003C/h3>\n\u003Cp>Trước khi trình bày nội dung nghiên cứu của luận văn, chúng em xin dành\u003C/p>\n\u003Cp>những dòng đầu tiên để gởi lời cảm ơn chân thành đến:\u003C/p>\n\u003Cp>Cô Huỳnh Thụy Bảo Trân, người đã tận tình hướng dẫn và tạo mọi điều kiện\u003C/p>\n\u003Cp>tốt nhất cho chúng em trong suốt thời gian thực hiện luận văn.\u003C/p>\n\u003Cp>Chúng em xin gởi lời cảm ơn chân thành đến quý Thầy Cô trong Khoa Công\u003C/p>\n\u003Cp>nghệ thông tin, trường Đại học Khoa học Tự nhiên Thành phố Hồ Chí Minh đã\u003C/p>\n\u003Cp>giảng dạy, hướng dẫn và giúp đỡ chúng em thực hiện tốt luận văn này.\u003C/p>\n\u003Cp>Chúng con cũng xin gởi lời cảm ơn sâu sắc đến ba mẹ và gia đình đã luôn\u003C/p>\n\u003Cp>chăm sóc và động viên trong suốt quá trình học tập, nghiên cứu để chúng con có thể\u003C/p>\n\u003Cp>đạt được kết quả như ngày hôm nay.\u003C/p>\n\u003Cp>Và cũng xin chân thành cảm ơn sự giúp đỡ hết sức nhiệt tình của các bạn Hồ\u003C/p>\n\u003Cp>Phạm Thái Vinh, Chu Hoàng Nam, Đặng Xuân Hữu và Nguyễn Quốc Bảo đã hỗ trợ\u003C/p>\n\u003Cp>thiết bị giúp chúng tôi hoàn thành tốt đề tài này.\u003C/p>\n\u003Cp>Tp.Hồ Chí Minh, ngày 12 tháng 6 năm 2005\u003C/p>\n\u003Cp>Nhóm sinh viên thực hiện:\u003C/p>\n\u003Cp>Nguyễn Thanh Phong - Nguyễn Ngọc Phương Vi\u003C/p>\n\u003Ch3>MỤC LỤC\u003C/h3>\n\u003Cp>LỜI NÓI ĐẦU ...........................................................................................................9 \nPHẦN I. \nTÌM HIỂU CÔNG NGHỆ WAP ...........................................................................12 \nChương 1. TỔNG QUAN VỀ WAP ...................................................................13 \n1.1. Giới thiệu.......................................................................................................13 \n1.2. Kiến trúc ứng dụng WAP..............................................................................14 \n1.2.1. WAP Client .........................................................................................16 \n1.2.2. WAP Proxy, WAP Gateway và WAP Server.....................................17 \n1.3. Ngăn xếp giao thức WAP – WAP Protocol stack.........................................23 \n1.3.1. Wireless Application Environment – WAE........................................25 \n1.3.2. Wireless Session Layer – WSP...........................................................26 \n1.3.3. Wireless Transaction Layer – WTP....................................................27 \n1.3.3.1. Yêu cầu không tin cậy – Unreliable request................................28 \n1.3.3.2. Yêu cầu có thể tin cậy – Reliable request....................................28 \n1.3.3.3. Yêu cầu tin cậy với một thông điệp kết quả ................................29 \n1.3.4. Wireless Transprot Layer Security – WTLS ......................................30 \n1.3.5. Wireless Datagram Protocol – WDP ..................................................32 \n1.4. Vấn đề bảo mật trên WAP ............................................................................32 \n1.4.1. So sánh các mô hình bảo mật..............................................................32 \n1.4.1.1. Bảo mật trên Internet ...................................................................32 \n1.4.1.2. Bảo mật trên WAP.......................................................................34 \n1.4.2. Vấn đề bảo mật trên WAP ..................................................................37 \n1.4.2.1. Chứng thực người dùng...............................................................37 \n1.4.2.2. WAP Gateway .............................................................................38 \n1.4.2.3. TLS và WTLS .............................................................................39\u003C/p>\n\u003Cp>Chương 2. SỰ PHÁT TRIỂN CỦA CÁC NGÔN NGỮ ĐÁNH DẤU PHỤC \nVỤ CHO WAP.........................................................................................................43 \n2.1. Ngôn ngữ đánh dấu (Markup-Language)......................................................43 \n2.2. WAP và WML ..............................................................................................45 \n2.3. XHTML cơ sở ...............................................................................................46 \n2.4. XHTML Mobile Profile ................................................................................47 \n2.5. WAP CSS......................................................................................................47 \n2.6. So sánh XHTML với HTML, WML.............................................................49 \n2.6.1. Sự khác nhau giữa XHTML và HTML ..............................................49 \n2.6.2. Sự khác nhau giữa XHTML và WML 1.x..........................................51 \n2.7. Các giao thức chuyển tải WML và XHTML ................................................55 \n2.8. Cuộc cách mạng của trình duyệt WAP .........................................................57\u003C/p>\n\u003Cp>PHẦN II. \nCÔNG CỤ TÌM KIẾM...........................................................................................60 \nSEARCH ENGINE .................................................................................................60 \nChương 3. TỔNG QUAN VỀ MÁY TÌM KIẾM..............................................61\u003C/p>\n\u003Cp>- 1 -\u003C/p>\n\u003Cp>3.1. Sơ lược về máy tìm kiếm ..............................................................................61 \n3.2. Phân loại máy tìm kiếm ................................................................................61 \n3.2.1. Máy tìm kiếm meta .............................................................................62 \n3.2.2. Máy tìm kiếm thông thường ...............................................................65 \n3.2.2.1. Nguyên lý hoạt động của một máy tìm kiếm ..............................65 \n3.2.2.2. Hệ thống thu thập dữ liệu (robot, spider,crawler…) ...................66 \n3.2.2.3. Hệ thống phân tích và lập chỉ mục dữ liệu..................................66 \n3.2.2.4. Hệ thống tìm kiếm (truy vấn dữ liệu)..........................................67 \nChương 4. MÁY TÌM KIẾM HỖ TRỢ THIẾT BỊ DI ĐỘNG .......................68 \n4.1. Tìm hiểu các dịch vụ tìm kiếm hỗ trợ thiết bị di động hiện có.....................68 \n4.1.1. Google Mobile Search ........................................................................68 \n4.1.2. Các máy tìm kiếm trên WAP hiện nay ...............................................71 \n4.2. Chuyển đổi các tài liệu sẵn có từ chuẩn web sang WAP..............................71 \n4.2.1. Nhu cầu chuyển đổi ............................................................................71 \n4.2.2. Hoạt động của các bộ chuyển đồi .......................................................73 \n4.2.3. Điều kiện quyết định khả năng chuyển đổi nội dung một tài liệu ......74 \n4.2.4. Các ưu điểm ........................................................................................75 \n4.2.5. Các nhược điểm ..................................................................................76\u003C/p>\n\u003Cp>(cid:190)\u003C/p>\n\u003Cp>PHẦN III. \nỨNG DỤNG MINH HỌA ......................................................................................77 \nChương 5. PHÂN TÍCH THIẾT KẾ HỆ THỐNG “CÔNG CỤ TÌM KIẾM \nHỖ TRỢ THIẾT BỊ DI ĐỘNG” ...........................................................................78 \n5.1. Khảo sát hiện trạng........................................................................................78 \n5.2. Phân tích và xác định yêu cầu .......................................................................79 \n5.3. Mô hình hoạt động ........................................................................................81 \n5.3.1. Mô hình chung ....................................................................................81 \n5.3.2. Mô hình chi tiết máy tìm kiếm............................................................82 \n5.4. Mô hình Use-case..........................................................................................82 \n5.4.1. Xác định Actor và Use-case................................................................82 \n5.4.2. Mô hình Use-case ...............................................................................83 \n5.5. Đặc tả Use-case .............................................................................................84 \n5.5.1. Tìm kiếm .............................................................................................84 \n5.5.2. Thay đổi thông số hiển thị kết quả tìm kiếm ......................................84 \n5.5.3. Chuyển đổi nội dung...........................................................................85 \n5.6. Module Máy tìm kiếm – Search Engine .......................................................86 \n5.6.1. Phần thu thập dữ liệu ..........................................................................86 \nThuật toán duy trì thông tin cho máy tìm kiếm ..................................87 \n5.6.2. Phần thu thập dữ liệu ..........................................................................89 \n5.6.2.1. Thiết kế dữ liệu............................................................................91 \n5.6.2.1.1. Bảng định danh tài liệu .....................................................................91 \n5.6.2.1.2. Cấu trúc từ điển chỉ mục...................................................................92 \n5.6.2.1.3. Cấu trúc tập tin chỉ mục nghịch đảo .................................................93 \n5.7. Module nhận và phân tích query từ người dùng ...........................................96 \n5.7.1. Mô hình hoạt động ..............................................................................96\u003C/p>\n\u003Cp>- 2 -\u003C/p>\n\u003Cp>5.7.2. Mô hình xử lý......................................................................................98 \n5.7.3. Mô tả ...................................................................................................98 \n5.7.4. Mô hình sequence ...............................................................................99 \n5.8. Module chuyển đổi trang web.....................................................................101 \n5.8.1. Mô hình hoạt động ............................................................................101 \n5.8.2. Mô tả .................................................................................................101 \n5.8.3. Mô hình sequence .............................................................................102 \nChương 6. CÀI ĐẶT..........................................................................................104 \n6.1. Hệ thống cơ sở dữ liệu chỉ mục ..................................................................104 \n6.2. Module chuyển đổi trang HTML sang trang WAP ....................................105 \n6.2.1. Các lớp cài đặt chính.........................................................................105 \n6.2.2. Phần chuyển đổi WAP 1.x – Servlet Html2Wml .............................105 \n6.2.3. Phần chuyển đổi WAP 2.0 – Servlet Html2Xhml ............................106 \n6.3. Module nhận và phân tích query từ người dùng .........................................106 \n6.3.1. Các lớp cài đặt chính.........................................................................106 \n6.3.2. Phần xử lý detect trình duyệt ............................................................107 \n6.3.3. Phần xử lý query ...............................................................................108 \n6.3.4. Phần truy vấn cơ sở dữ liệu tìm kiếm kết quả ..................................108 \n6.3.5. Giao diện tìm kiếm trên thiết bị di động...........................................109 \n6.3.5.1. Giao diện cho trình duyệt hỗ trợ WAP 2.0................................109 \n6.3.5.2. Giao diện cho trình duyệt hỗ trợ WAP 1.x................................111 \nChương 7. THỬ NGHIỆM ...............................................................................112 \n7.1. Thử nghiệm trên các bộ giả lập...................................................................112 \n7.2. Thử nghiệm trên môi trường thực tế ...........................................................112 \nChương 8. TỔNG KẾT .....................................................................................114 \n8.1. Kết quả đạt được .........................................................................................114 \n8.2. Hạn chế........................................................................................................115\u003C/p>\n\u003Cp>a) \nb)\u003C/p>\n\u003Cp>a) \nb)\u003C/p>\n\u003Cp>PHẦN IV. \nĐÁNH GIÁ – HƯỚNG PHÁT TRIỂN ...............................................................116 \nTÀI LIỆU THAM KHẢO ....................................................................................118 \nPHỤ LỤC A \nHƯỚNG TRIỂN KHAI HỆ THỐNG .................................................................119 \n1. Cơ sở dữ liệu ............................................................................................120 \nCài đặt ...............................................................................................120 \nĐăng ký cơ sở dữ liệu với hệ thống ODBC......................................120 \n2. Web server................................................................................................123 \nCài đặt ...............................................................................................123 \nThiết lập server .................................................................................124 \n3. Kết hợp nối hệ thống thông qua bộ giả lập trình duyệt wap của Nokia...126 \n4. Đưa trang Web lên internet qua đường truyền ADSL (self-hosting).......127 \nĐặc điểm ...........................................................................................127 \na) \nb) \nNguyên tắc ........................................................................................127 \nc) Mô hình hoạt động ............................................................................128\u003C/p>\n\u003Cp>- 3 -\u003C/p>\n\u003Cp>d) \ne) Trình tự kết nối từ bên ngoài ............................................................129 \nThiết lập ............................................................................................129\u003C/p>\n\u003Cp>PHỤ LỤC B \nQUẢN TRỊ HỆ THỐNG MOBILE SEARCH ENGINE ..................................137 \n1. Trang chủ..................................................................................................138 \nCài đặt thiết lập cơ sở dữ liệu Oracle cho hệ thống..........................138 \nThêm URL và download các trang web ...........................................140 \nKiểm tra thông tin tự điển của hệ thống ...........................................142 a) \nb) \nc)\u003C/p>\n\u003Cp>a) \nb)\u003C/p>\n\u003Cp>PHỤ LỤC C \nBỘ TOOLKIT CỦA NOKIA...............................................................................145 \n1. Nokia Mobile Internet Toolkit v4.1 .........................................................146 \nGiới thiệu ..........................................................................................146 \nCác chức năng...................................................................................146 \n2. Nokia WAP Gateway Simulator ..............................................................150 \n3. Nokia Browser Simulator.........................................................................152\u003C/p>\n\u003Cp>a. \nb. \nc. \nd. \ne. PHỤ LỤC D \nBỘ WAP CSS ........................................................................................................154 \n1. Các vấn đề được kiểm soát bởi các dạng mẫu .........................................157 \n2. Áp dụng các kiểu định dạng .....................................................................157 \nCác bảng định dạng bên ngoài ..........................................................158 \nPhần tử style trong đầu đề tài liệu.....................................................158 \nPhần tử style trong thân tài liệu ........................................................158 \nLuật thác nước cho các phần tử mẩu ................................................158 \nSử dụng các thuộc tính của XHTML................................................159 \n3. Những điều cần tránh ...............................................................................162\u003C/p>\n\u003Cp>PHỤ LỤC E \nCÁC NGUYÊN TẮC THIẾT KẾ........................................................................164 \n1. Trước khi thiết kế một wapsite.................................................................165 \n2. Các nguyên tắc chung cho một thiết kế tốt ..............................................165 \n3. Cần chú ý đến mô hình liên kết................................................................166 \n4. Thiết kế hệ thống phân cấp trong liên kết ................................................167 \n5. Nguyên tắc thiết kế cho màn hình nhỏ.....................................................167 \n6. Đảm bảo các tài liệu phải có kích thước nhỏ ...........................................169 \n7. Tạo các ứng dụng trên điện thoại di động ................................................170 \n8. Đảm bảo các tác vụ tiến hành trôi chảy và sử dụng hợp lý các hình ảnh 170 \n9. Đảm bảo cấu trúc wapsite dễ dùng đối với người mới sử dụng...............171 \n10. Cung cấp vừa đủ thông tin trên một trang ............................................171 \n11. \nPhản ánh được hành động của người dùng...........................................172 \n12. Hạn chế số lượng và kích thước của màn hình.....................................173 \n13. Thiết lập các thuộc tính chiều cao và chiều rộng màn hình .................174 \n14. \nSử dụng bảng một cách cẩn thận ..........................................................174 \n15. Cần cân nhắc các tuỳ chọn ...................................................................175 \n16. Loại bỏ các khoảng trắng và các ghi chú trong phần code...................175\u003C/p>\n\u003Cp>- 4 -\u003C/p>\n\u003Cp>Sử dụng các chỉ dẫn trong phần tiêu đề HTTP trong việc lưu trang ....175 \n17. \nSử dụng mã Unicode cho các nội dung XHTML.................................176 \n18. \nSử dụng chính xác các kiểu MIME và mã XHTML ............................176 \n19. \n20. Các tiêu đề chỉ dẫn và các nhãn phần tử...............................................177 \n21. Thực hiện kiểm tra khả năng sử dụng của hệ thống.............................178\u003C/p>\n\u003Cp>PHỤ LỤC F \nDANH SÁCH CÁC THUẬT NGỮ......................................................................179\u003C/p>\n\u003Cp>- 5 -\u003C/p>\n\u003Ch3>DANH SÁCH HÌNH \n \nHình 1.1-1: Sự phát triển của điện thoai di động ......................................................13 \nHình 1.2-1: Kiến trúc trên Internet............................................................................15 \nHình 1.2-2: WAP được dùng truy cập internet .........................................................15 \nHình 1.2-3: WAP được dùng truy cập intranet .........................................................15 \nHình 1.2-4: WAP Client............................................................................................16 \nHình 1.2-5: Server gốc kết nối trực tiếp với Internet................................................18 \nHình 1.2-6: Truy cập Internet thông qua proxy server .............................................18 \nHình 1.2-7: Gateway server nằm giữa hai loại mạng khác nhau ..............................19 \nHình 1.2-8: Sử dụng WAP proxy/gateway ...............................................................19 \nHình 1.2-9: WAP gateway trong mạng không dây...................................................20 \nHình 1.2-10: Các bước thực hiện khi tiến hành một phiên giao dịch WAP .............21 \nHình 1.2-11: Quá trình bên dịch các yêu cầu tại gateway chuyển đổi giao thức......22 \nHình 1.2-12: Mô tả chức năng mã hoá/giải mã của WAP gateway..........................22 \nHình 1.3-1: Ngăn xếp WAP 1.x ................................................................................23 \nHình 1.3-2: Ngăn xếp WAP 2.0 ................................................................................24 \nHình 1.3-3: Sự kế thừa của ngăn xếp WAP từ mô hình OSI ....................................25 \nHình 1.3-4: Unreliable request..................................................................................28 \nHình 1.3-5: Reliable request .....................................................................................29 \nHình 1.3-6: Reliable request với thông điệp kết quả ................................................29 \nHình 1.3-7: WAP gateway điều khiển phiên an toàn................................................31 \nHình 1.4-1: Mô hình giao tiếp cổ điển trên Internet .................................................33 \nHình 1.4-2: Mô hình giao tiếp trên WAP..................................................................35 \nHình 1.4-3: Giao thức sử dụng trên Tầng Vận Chuyển của WAP 2.0......................37 \nHình 2.1-1: Mối quan hệ giữa các ngôn ngữ đánh dấu.............................................45 \nHình 2.5-1: Minh họa tham chiếu bảng định dạng bên ngoài tài liệu.......................48 \nHình 2.7-1: Sự truyền tải nội dung WML.................................................................56 \nHình 2.7-2: Sự truyền tải nội dung XHTML ............................................................56 \nHình 2.7-3: Sự truyền tải phối hợp WML và XHTML.............................................57 \nHình 3.2-1: Mô hình hoạt động của máy tìm kiếm...................................................66 \nHình 4.1-1: Google Mobile Search ...........................................................................68 \nHình 4.1-2: Chức năng tìm kiếm trang web của Google Mobile Search..................69 \nHình 4.1-3: Chức năng tìm kiếm hình ảnh của Google Mobile Search....................70 \nHình 4.2-1: Lược đồ mô tả quá trình chuyển đổi......................................................73 \nHình 5.3-1: Mô hình hoạt động chung......................................................................81 \nHình 5.3-2: Mô hình hoạt động chi tiết.....................................................................82 \nHình 5.4-1: Mô hình Use-case ..................................................................................83 \nHình 5.6-1: Lưu đồ xử lý qui trình thu thập thông tin ..............................................87 \nHình 5.6-2: Lưu đồ xử lý qui trình duy trì thông tin cho máy tìm kiếm...................88 \nHình 5.6-3: Lưu đồ xử lý qui trình lập chỉ mục ........................................................90 \nHình 5.7-1: Mô hình hoạt động module nhận và phân tích query từ người dùng ....97\u003C/h3>\n\u003Cp>- 6 -\u003C/p>\n\u003Cp>Hình 5.7-2: Mô hình xử lý quá trình nhận và phân tích query người dùng ..............98 \nHình 5.7-3: Quá trình nhận và phân tích query từ người dùng.................................99 \nHình 5.7-4: Mô hình sequence ................................................................................100 \nHình 5.8-1: Mô hình hoạt động của bộ chuyển đổi ................................................101 \nHình 5.8-2: Quá trình chuyển đổi trang web ..........................................................102 \nHình 5.8-3: Mô hình sequence của module chuyển đổi trang web.........................103 \nHình 6.2-1: Các bước chuyển đổi WAP 1.x ...........................................................105 \nHình 6.2-2: Các bước chuyển đổi WAP 2.0 ...........................................................106 \nHình 8.2-1: Mô hình hoạt động quá trình cung cấp IP thông qua đường ADSL (selt-\nhosting)....................................................................................................................128 \nHình 8.2-2: Trang web nhà cung cấp dịch vụ DynDNS .........................................130 \nHình 8.2-3: Giao diện kết nối thành công vào ADSL modem/router.....................131 \nHình 8.2-4: Chọn chức năng cấu hình bảng NAT ..................................................132 \nHình 8.2-5: Bảng NAT............................................................................................133 \nHình 8.2-6: Đăng ký dịch vụ DNS động với nhà cung cấp dịch vụ .......................134 \nHình 8.2-7: Thực hiện unclock các dịch vụ cần thiết .............................................135 \nHình 8.2-8: Trang showip.com ...............................................................................136 \nHình 8.2-1: Các kiểu định dạng khác nhau trên các trình duyệt khác nhau ...........156 \nHình 8.2-2: Thay đổi kiểu bullet sử dụng mẫu .......................................................157\u003C/p>\n\u003Cp>- 7 -\u003C/p>\n\u003Ch3>DANH SÁCH BẢNG\u003C/h3>\n\u003Cp>Bảng 1.4-1: Một vài điểm khác nhau giữa TLS và WTLS .......................................40 \nBảng 2.6-1: Các qui tắc XML có trong XHTML nhưng không có trong HTML.....49 \nBảng 2.6-2: Những khác nhau phổ biến giữa XHTML MP với CSS và WML 1.x .55 \nBảng 2.8-1: Cuộc cách mạng trình duyệt WAP trên các thế hệ điện thoại di động \ncủa Nokia...................................................................................................................58 \nBảng 3.2-1: Các công cụ tìm kiếm meta dạng 1 .......................................................63 \nBảng 3.2-2: Các công cụ tìm kiếm meta dạng 2 .......................................................64 \nBảng 4.1-1: Các máy tìm kiếm hỗ trợ WML và WAP .............................................71 \nBảng 5.2-1: Xác định yêu cầu ...................................................................................81 \nBảng 5.6-1: Bảng định danh tài liệu .........................................................................91 \nBảng 5.6-2: Bảng mục từ ..........................................................................................93 \nBảng 5.6-3: Cấu trúc trang cho từng mục từ trong tập tin chỉ mục nghịch đảo........94\u003C/p>\n\u003Cp>- 8 -\u003C/p>\n\u003Ch2>LỜI NÓI ĐẦU\u003C/h2>\n\u003Cp>Sự phát triển của hệ thống mạng toàn cầu – Internet đã đưa việc tiếp cận\u003C/p>\n\u003Cp>thông tin trở nên dễ dàng hơn bao giờ hết. Với những tiến bộ vượt bậc của các thiết\u003C/p>\n\u003Cp>bị phần cứng cũng như các chuẩn mạng di động hiện nay, việc truy cập thông tin từ\u003C/p>\n\u003Cp>Internet thông qua các thiết bị di động ngày càng phổ biến hơn. Đó là nhờ vào hệ\u003C/p>\n\u003Cp>thống các wapsite đã và đang được phát triển trên nền tảng của công nghệ WAP.\u003C/p>\n\u003Cp>Thậm chí các trang web truyền thống cũng đã có thể được truy cập từ các điện thoại\u003C/p>\n\u003Cp>di động thông minh có hỗ trợ chuẩn HTTP hoặc các chuẩn WAP mới nhất hiện nay.\u003C/p>\n\u003Cp>Nhưng với lượng thông tin khổng lồ từ Internet, hiện nay vẫn chưa có nhiều\u003C/p>\n\u003Cp>dịch vụ tìm kiếm hỗ trợ cho người dùng truy cập từ thiết bị cầm tay – vốn có những\u003C/p>\n\u003Cp>hạn chế về khả năng xử lý, hiển thị đồ họa và băng thông mạng thấp. Đến tháng\u003C/p>\n\u003Cp>6/2005, Google chính thức tham gia thị trường dịch vụ tìm kiếm hỗ trợ cho các thiết\u003C/p>\n\u003Cp>bị di động có tích hợp thêm chức năng tìm kiếm hình ảnh và các trang web, dấy lên\u003C/p>\n\u003Cp>sự cạnh tranh với một số ít các dịch vụ tìm kiếm khác hiện có.\u003C/p>\n\u003Cp>Một thực trạng khác cũng đặt ra nhiều khó khăn đó là phần lớn thông tin, tài\u003C/p>\n\u003Cp>liệu lưu hành trên Internet chỉ có thể hiển thị bằng máy tính desktop. Và vấn đề là\u003C/p>\n\u003Cp>làm sao tận dụng được những thông tin có sẵn dưới dạng các trang web truyền\u003C/p>\n\u003Cp>thống để có thể hiển thị trên điện thoại di động, những thiết bị vốn rất hạn chế về bộ\u003C/p>\n\u003Cp>nhớ, khả năng xử lý và đặc biệt là khả năng hiển thị đồ họa.\u003C/p>\n\u003Cp>Xuất phát từ những vấn đề trên chúng em đã thực hiện đề tài “TÌM HIỂU\u003C/p>\n\u003Cp>WAP VÀ CÔNG CỤ TÌM KIẾM HỖ TRỢ THIẾT BỊ DI ĐỘNG”. Mục tiêu\u003C/p>\n\u003Cp>của đề tài là tìm hiểu về công nghệ WAP và các công nghệ bổ trợ, tìm hiểu cấu trúc\u003C/p>\n\u003Cp>của máy tìm kiếm và xây dựng thử nghiệm một hệ thống tìm kiếm hỗ trợ cho thiết\u003C/p>\n\u003Cp>bị di động.\u003C/p>\n\u003Cp>- 9 -\u003C/p>\n\u003Cp>Nội dung của đề tài được chia làm 4 phần gồm 8 chương:\u003C/p>\n\u003Cp>Phần I. TÌM HIỂU CÔNG NGHỆ WAP\u003C/p>\n\u003Cp>Chương 1. Tồng quan về WAP : giới thiệu tổng quan công nghệ WAP về\u003C/p>\n\u003Cp>kiến trúc cũng như ứng dụng.\u003C/p>\n\u003Cp>Chương 2. Sự phát triển của các ngôn ngữ đánh dấu phục vụ cho WAP: giới\u003C/p>\n\u003Cp>thiệu các bước phát triển của các ngôn ngữ đánh dấu và so sánh đặc điểm các ngôn\u003C/p>\n\u003Cp>ngữ phục vụ cho công nghệ không dây. Đồng thời tìm hiểu xu hướng mới của các\u003C/p>\n\u003Cp>trình duyệt WAP hỗ trợ các ngôn ngữ này.\u003C/p>\n\u003Cp>PHẦN II. CÔNG CỤ TÌM KIẾM – SEARCH ENGINE\u003C/p>\n\u003Cp>Chương 3. Tổng quan về máy tìm kiếm: giới thiệu tổng quan về kiến trúc\u003C/p>\n\u003Cp>máy tìm kiếm, tìm hiểu các máy tìm kiếm phổ biến hiện nay.\u003C/p>\n\u003Cp>Chương 4. Máy tìm kiếm hỗ trợ thiết bị di động: tìm hiều các máy tìm kiếm\u003C/p>\n\u003Cp>hiện có hỗ trợ các thiết bị di động, các vấn đề liện quan về việc tận dụng và chuyển\u003C/p>\n\u003Cp>đổi những nội dung sẵn có trên web.\u003C/p>\n\u003Cp>PHẦN III. ỨNG DỤNG MINH HỌA\u003C/p>\n\u003Cp>Chương 5. Phân tích thiết kế hệ thống “Máy tìm kiếm hỗ trợ thiết bị di\u003C/p>\n\u003Cp>động”: phân tích, thiết kế các chức năng của chương trình, các mô hình, lưu đồ và\u003C/p>\n\u003Cp>các vấn đề liên quan đến việc xây dựng ứng dụng.\u003C/p>\n\u003Cp>Chương 6. Cài đặt: Giới thiệu môi trường phát triển và cài đặt ứng dụng,\u003C/p>\n\u003Cp>đồng thời thực hiện phân tích một số vấn đề về cài đặt chương trình về chức năng\u003C/p>\n\u003Cp>xử lý cũng như thể hiện.\u003C/p>\n\u003Cp>Chương 7. Thử nghiệm: Kết quả thực hiện trên bộ giả lập và trên môi trường\u003C/p>\n\u003Cp>thực tế.\u003C/p>\n\u003Cp>Chương 8. Trình bày kết quả đạt được cũng như các vấn đề còn hạn chế.\u003C/p>\n\u003Cp>PHẦN IV. ĐÁNH GIÁ – HƯỚNG PHÁT TRIỂN\u003C/p>\n\u003Cp>- 10 -\u003C/p>\n\u003Cp>Thực hiện đánh giá những kết quả mà đề tài đã đạt được, đồng thời đưa ra\u003C/p>\n\u003Cp>hướng phát triển trong tương lai cho đề tài và ứng dụng.\u003C/p>\n\u003Cp>- 11 -\u003C/p>\n\u003Ch3>PHẦN I.\u003C/h3>\n\u003Ch3>TÌM HIỂU CÔNG NGHỆ WAP\u003C/h3>\n\u003Cp>- 12 -\u003C/p>\n\u003Ch4>Chương 1. TỔNG QUAN VỀ WAP\u003C/h4>\n\u003Ch4>1.1. Giới thiệu\u003C/h4>\n\u003Cp>Trong những năm gần đây, khái niệm về thông tin di động rất được mọi\u003C/p>\n\u003Cp>người ưu chuộng, người ta quan tâm ngày càng nhiều hơn đến các thiết bị nhỏ gọn\u003C/p>\n\u003Cp>với tốc độ xử lý nhanh.\u003C/p>\n\u003Cp>Đồ thị bên dưới đây được trích từ bài báo có tên WAP Market Strategies của\u003C/p>\n\u003Cp>Ovum (http://www.ovum.com)[7]. Bài báo này đã so sánh và dự đoán sự phát\u003C/p>\n\u003Cp>triển của các thế hệ điện thoại di động nói chung, các thế hệ điện thoai di động hỗ\u003C/p>\n\u003Cp>trợ Internet, và các loại điện thoại di động hỗ trợ Internet hiện đang được dùng để\u003C/p>\n\u003Cp>truy cập thông tin:\u003C/p>\n\u003Cp>Hình 1.1-1: Sự phát triển của điện thoai di động\u003C/p>\n\u003Cp>- 13 -\u003C/p>\n\u003Cp>Chính nhu cầu truy cập thông tin từ các thiết bị di động đã mở đường cho các\u003C/p>\n\u003Cp>công nghệ không dây phát triển mạnh mẽ. Wireless Application Protocol (WAP) là\u003C/p>\n\u003Cp>một dạng đặc tả theo chuẩn công nghiệp mở cho các ứng dụng thực thi trên môi\u003C/p>\n\u003Cp>trường mạng không dây, chú trọng vào các ứng dụng trên thiết bị di động, đặc biệt\u003C/p>\n\u003Cp>là điện thoại di động. Các tiêu chuẩn này được đưa ra bởi WAP Forum, nhóm này\u003C/p>\n\u003Cp>hình thành vào tháng 6 năm 1997 bởi Ericsson, Nokia, Motorola, và Unwired\u003C/p>\n\u003Cp>Planet, và hiện tại đã được hàng trăm công ty khác tham gia, bao gồm IBM, Hewlett\u003C/p>\n\u003Cp>Packard, Visa, và Microsoft. Theo thống kê chính thức của WAP Forum, những\u003C/p>\n\u003Cp>thành viên thuộc WAP Forum là đại diện cho trên 90% nhà sản xuất điện thoại di\u003C/p>\n\u003Cp>động trên toàn thế giới.\u003C/p>\n\u003Cp>WAP đã và sẽ được hỗ trợ trên nhiều loại thiết bị, từ đơn giản như điện thoại\u003C/p>\n\u003Cp>di động thông thường cho đến những thiết bị thế hệ mới - các điện thoại “thông\u003C/p>\n\u003Cp>minh” với màn hình rộng có thể chạy được nhiều ứng dụng; thậm chí là những máy\u003C/p>\n\u003Cp>trợ lý cá nhân kỹ thuật số (PDA), các palmtop hay các máy tính với kích thước nhỏ\u003C/p>\n\u003Cp>gọn. Tất cả các thiết bị di động rồi sẽ được áp dụng công nghệ WAP, trực tiếp từ\u003C/p>\n\u003Cp>nhà sản xuất hay là từ phiên bản nâng cấp nào đó thuộc nhóm các công ty thứ ba\u003C/p>\n\u003Cp>(third-party). Mỗi một thiết bị có một cách hiển thị khác nhau và các phương pháp\u003C/p>\n\u003Cp>nhập liệu khác nhau. Công việc của công nghệ WAP là sắp xếp lại “mớ hỗn độn” đó\u003C/p>\n\u003Cp>và cung cấp một khung làm việc (framework) chung cho phép các ứng dụng chạy\u003C/p>\n\u003Cp>được trên cả tất hệ nền khác nhau này.\u003C/p>\n\u003Ch4>1.2. Kiến trúc ứng dụng WAP\u003C/h4>\n\u003Cp>\u003C/p>\n\u003Cp>Các giao thức WAP được thiết kế trên nền của các giao thức web. Mục đích\u003C/p>\n\u003Cp>của WAP là sử dụng lại cấu trúc cơ sở của web, để từ đó nâng cao quá trình giao\u003C/p>\n\u003Cp>tiếp giữa nhà cung cấp và các thiết bị di động, giúp quá trình này trở nên hiệu quả\u003C/p>\n\u003Cp>và tốn ít thời gian hơn là sử dụng chính các giao thức web.\u003C/p>\n\u003Cp>Do kiến trúc của WAP được thiết kế gần giống với Web, nên nó cũng kế\u003C/p>\n\u003Cp>thừa mô hình client-server được dùng trên Internet của Web. Điểm khác nhau chính\u003C/p>\n\u003Cp>đó là sư có mặt của WAP gateway dùng cho việc chuyển đổi giữa HTTP và WAP.\u003C/p>\n\u003Cp>- 14 -\u003C/p>\n\u003Cp>Hình 1.2-1: Kiến trúc trên Internet\u003C/p>\n\u003Cp>Hình 1.2-2: WAP được dùng truy cập internet\u003C/p>\n\u003Cp>Hình 1.2-3: WAP được dùng truy cập intranet\u003C/p>\n\u003Cp>- 15 -\u003C/p>\n\u003Cp>Để truy cập vào một ứng dụng trên server, client khởi tạo một nối kết với\u003C/p>\n\u003Cp>WAP gateway và gởi đi yêu cầu của mình. Gateway sẽ chuyển đổi những yêu cầu\u003C/p>\n\u003Cp>này sang định dạng được dùng trên Internet (HTTP), và sau đó chuyển chúng đến\u003C/p>\n\u003Cp>server cung cấp dịch vụ. Nội dung trả về được gởi từ server đến gateway, tại đây nó\u003C/p>\n\u003Cp>sẽ được chuyển sang định dạng WAP, để sau đó gởi về cho thiết bị di động. Như\u003C/p>\n\u003Cp>vậy, gateway đã giúp Internet có thể giao tiếp với môi trường mạng không dây [9].\u003C/p>\n\u003Cp>1.2.1. WAP Client\u003C/p>\n\u003Cp>Các đặc tả WAP cho phép những nhà sản xuất di động có nhiều lựa chọn cho\u003C/p>\n\u003Cp>riêng mình. Nó không bắt buộc thiết bị WAP phải trông như thế nào hay sẽ hiển thị\u003C/p>\n\u003Cp>nội dung nhận được từ Internet ra sao, mà nó gắn liền với giao diện người dùng với\u003C/p>\n\u003Cp>tổ chức bên trong của chức năng điện thoại [9].\u003C/p>\n\u003Cp>Yêu cầu duy nhất cho một thiết bị hỗ trợ WAP đó là nó phải cung cấp một\u003C/p>\n\u003Cp>tác nhân người dùng WAE (WAE User Agent), một tác nhân người dùng WTA\u003C/p>\n\u003Cp>(WTA User Agent) và ngăn xếp WAP (WAP Stack).\u003C/p>\n\u003Cp>Hình 1.2-4: WAP Client\u003C/p>\n\u003Cp>- 16 -\u003C/p>\n\u003Cp>(cid:131) WAE User Agent (Wireless Application Environment User Agent) là\u003C/p>\n\u003Cp>một loại trình duyệt nhỏ (microbrowser) thực hiện hoàn trả nội dung phục\u003C/p>\n\u003Cp>vụ việc hiển thị. Nó nhận vào WML, WML Script đã được biên dịch và\u003C/p>\n\u003Cp>các hình ảnh từ WAP gateway, sau đó xử lý hoặc hiển thị chúng lên màn\u003C/p>\n\u003Cp>hình. WAE User Agent cũng quản lý việc giao tiếp với người dùng,\u003C/p>\n\u003Cp>chẳng hạn như nhập liệu văn bản, thông báo lỗi hay các thông điệp cảnh\u003C/p>\n\u003Cp>báo khác.\u003C/p>\n\u003Cp>(cid:131) WTA User Agent (Wireless Telephony Application User Agent) nhận\u003C/p>\n\u003Cp>các tập tin WTA được biên dịch từ WTA server và thực thi chúng. WTA\u003C/p>\n\u003Cp>User Agent bao gồm việc truy cập vào giao diện điện thoại và các chức\u003C/p>\n\u003Cp>năng mạng như quay số, trả lời cuộc gọi, tổ chức phonebook, quản lý\u003C/p>\n\u003Cp>thông điệp và các dịch vụ định vị.\u003C/p>\n\u003Cp>(cid:131) WAP Stack cho phép điện thoại nối kết với WAP gateway sử dụng các\u003C/p>\n\u003Cp>giao thức WAP.\u003C/p>\n\u003Cp>Các khái niệm này sẽ được mô tả chi tiết hơn trong phần sau.\u003C/p>\n\u003Cp>1.2.2. WAP Proxy, WAP Gateway và WAP Server\u003C/p>\n\u003Cp>Ba thuật ngữ này rất thường được sử dụng thay thế cho nhau. Thế nhưng,\u003C/p>\n\u003Cp>trong môi trường mạng thì chúng lại hoàn toàn khác nhau với những chức năng\u003C/p>\n\u003Cp>cũng khác nhau:\u003C/p>\n\u003Cp>(cid:131) Server nội dung/gốc/ứng dụng: đây là phần tử trong mạng chứa thông tin\u003C/p>\n\u003Cp>hoặc các ứng dụng web/WAP.\u003C/p>\n\u003Cp>(cid:131) Proxy: là một phần tử trung gian, hoạt động cả như client lẫn server trên\u003C/p>\n\u003Cp>mạng. Nó nằm giữa các client và các server gốc (origin server); các client\u003C/p>\n\u003Cp>gởi yêu cầu đến cho proxy, nó sẽ truy xuất và lưu trữ thông tin cần thiết\u003C/p>\n\u003Cp>bằng cách giao tiếp với trình duyệt gốc.\u003C/p>\n\u003Cp>(cid:131) Gateway: đây là một thành phần trung gian thường được dùng để nối kết\u003C/p>\n\u003Cp>hai loại mạng khác nhau. Nó nhận yêu cầu trực tiếp từ các client như thể\u003C/p>\n\u003Cp>- 17 -\u003C/p>\n\u003Cp>nó chính là một server gốc mà client muốn truy xuất thông tin. Các client\u003C/p>\n\u003Cp>này thông thường không nhận ra rằng mình đang giao tiếp với gateway.\u003C/p>\n\u003Cp>Ba thuật ngữ này được minh họa trong các hình vẽ sau đây:\u003C/p>\n\u003Cp>Hình 1.2-5: Server gốc kết nối trực tiếp với Internet\u003C/p>\n\u003Cp>Hình 1.2-6: Truy cập Internet thông qua proxy server\u003C/p>\n\u003Cp>- 18 -\u003C/p>\n\u003Cp>Hình 1.2-7: Gateway server nằm giữa hai loại mạng khác nhau\u003C/p>\n\u003Cp>Trong kiến trúc WAP, một WAP gateway thật ra là một proxy. Nó được\u003C/p>\n\u003Cp>dùng để nối một vùng mạng không dây (wireless domain) với mạng Internet. Tuy\u003C/p>\n\u003Cp>nhiên, nó có thêm chức năng của gateway chuyển đổi giao thức (protocol gateway)\u003C/p>\n\u003Cp>và chức năng mã hoá/giải mã.\u003C/p>\n\u003Cp>Hình 1.2-8 mô tả việc sử dụng một WAP proxy/gateway:\u003C/p>\n\u003Cp>Hình 1.2-8: Sử dụng WAP proxy/gateway\u003C/p>\n\u003Cp>Còn ở Hình 1.2-9 là một WAP gateway cùng với các phần tử khác trong\u003C/p>\n\u003Cp>mạng không dây. Nó mô tả cách mà một WAP gateway cộng tác và giao tiếp với\u003C/p>\n\u003Cp>tất cả các phần tử khác để cung cấp một dịch vụ phù hợp:\u003C/p>\n\u003Cp>- 19 -\u003C/p>\n\u003Cp>Hình 1.2-9: WAP gateway trong mạng không dây\u003C/p>\n\u003Cp>- 20 -\u003C/p>\n\u003Cp>Mỗi khi bắt đầu một phiên WAP (WAP session) trên điện thoại di động\u003C/p>\n\u003Cp>chúng ta đều phải thức hiện theo các bước như sau:\u003C/p>\n\u003Cp>Hình 1.2-10: Các bước thực hiện khi tiến hành một phiên giao dịch WAP\u003C/p>\n\u003Cp>- 21 -\u003C/p>\n\u003Cp>Hình 1.2-11: Quá trình bên dịch các yêu cầu tại gateway chuyển đổi giao thức\u003C/p>\n\u003Cp>Hình 1.2-10 mô tả quá trình biên dịch tại gateway chuyển đổi giao thức các\u003C/p>\n\u003Cp>yêu cầu được gởi và nhận về giữa thiết bị di động và mạng Internet.\u003C/p>\n\u003Cp>Chức năng mã hoá/giải mã (CODEC) bên trong gateway được dùng để\u003C/p>\n\u003Cp>chuyển đổi nội dung dạng WML và WML Script thành một dạng phù hợp với các\u003C/p>\n\u003Cp>mạng có băng thông thấp (thường ở dạng nhị phân). Quá trình này được mô tả trong\u003C/p>\n\u003Cp>Hình 1.2-11 dưới đây.\u003C/p>\n\u003Cp>Hình 1.2-12: Mô tả chức năng mã hoá/giải mã của WAP gateway\u003C/p>\n\u003Cp>Một dịch vụ khác mà chức năng CODEC có thể cung cấp là biên dịch HTML\u003C/p>\n\u003Cp>hay văn bản thành WML/XTHML. Tuy nhiên, việc sử dụng gateway như thế này\u003C/p>\n\u003Cp>còn rất nhiều giới hạn. Mặc dù HTML và WML/XHTML đều được xây dựng dựa\u003C/p>\n\u003Cp>trên các nhưng HTML lại cho phép hiển thị các nội dung động cũng như các dạng\u003C/p>\n\u003Cp>dữ liệu đa truyền thông (multimedia) như hình ảnh, âm thanh, đồ họa, hay các cấu\u003C/p>\n\u003Cp>trúc phức tạp như các khung, các bảng lồng nhau...do đó với những giới hạn của\u003C/p>\n\u003Cp>- 22 -\u003C/p>\n\u003Cp>thiết bị di động (bộ nhớ nhỏ, băng thông thấp, độ trễ cao) thì việc chuyển đổi đơn\u003C/p>\n\u003Cp>thuần sẽ gây không ít khó khăn cho việc hiển thị.\u003C/p>\n\u003Ch4>1.3. Ngăn xếp giao thức WAP – WAP Protocol stack\u003C/h4>\n\u003Cp>\u003C/p>\n\u003Cp>Có hai phiên bản WAP đang được sử dụng hiện nay đó là WAP 1.x và WAP 2.0 \n[8].\u003C/p>\n\u003Cp>Hình 1.3-1: Ngăn xếp WAP 1.x\u003C/p>\n\u003Cp>- 23 -\u003C/p>\n\u003Cp>Hình 1.3-2: Ngăn xếp WAP 2.0\u003C/p>\n\u003Cp>Ngăn xếp WAP bao gồm 5 tầng khác nhau:\u003C/p>\n\u003Cp>(cid:131) Tầng ứng dụng (Application Layer): WAE (Wireless Application\u003C/p>\n\u003Cp>Environment) cung cấp một môi trường ứng dụng với mục đích phát triển\u003C/p>\n\u003Cp>và thực thi các ứng dụng cũng như dịch vụ di động.\u003C/p>\n\u003Cp>(cid:131) Tầng phiên (Session Layer): WSP (Wireless Session Protocol) cung cấp\u003C/p>\n\u003Cp>các phương thức hỗ trợ việc trao đổi thông tin một cách có tổ chức giữa\u003C/p>\n\u003Cp>các ứng dụng dạng client/server.\u003C/p>\n\u003Cp>(cid:131) Tầng tác vụ (Transaction Layer): WTP (Wireless Transaction Protocol)\u003C/p>\n\u003Cp>cung cấp các phương thức khác nhau cho việc thực hiện các giao tác.\u003C/p>\n\u003Cp>(cid:131) Tầng an ninh (Security Layer): WTLS (Wireless Transport Security\u003C/p>\n\u003Cp>Layer) là tầng tùy chọn hỗ trợ tính bảo mật cho nối kết giữa các ứng\u003C/p>\n\u003Cp>dụng.\u003C/p>\n\u003Cp>(cid:131) Tầng vận chuyển (Transport Layer): WDP (Wireless Datagram\u003C/p>\n\u003Cp>Protocol) là tầng dưới cùng của ngăn xếp WAP, nó được xem là chỗ dựa\u003C/p>\n\u003Cp>cho các tầng bên trên.\u003C/p>\n\u003Cp>Hình 1.3-3 cho thấy sự kế thừa của ngăn xếp WAP từ mô hình OSI:\u003C/p>\n\u003Cp>- 24 -\u003C/p>\n\u003Cp>Hình 1.3-3: Sự kế thừa của ngăn xếp WAP từ mô hình OSI\u003C/p>\n\u003Cp>Cả hai tầng ứng dụng trong mô hình web và WAP đều cung cấp một ngôn\u003C/p>\n\u003Cp>ngữ đánh dấu và một ngôn ngữ điều khiển (scripting language) riêng cho việc phát\u003C/p>\n\u003Cp>triển các ứng dụng. Trong mô hình web, Tầng Phiên và Tầng Tác Vụ được kết hợp\u003C/p>\n\u003Cp>lại vào cùng một tầng đó là HTTP, trong khi chúng là hai thực thể riêng biệt trong\u003C/p>\n\u003Cp>ngăn xếp WAP (WSP và WTP). Tầng Vận Chuyển (WDP) và Tầng An Ninh\u003C/p>\n\u003Cp>(WTLS) được xếp trực tiếp lên các tầng TCP/UDP và TLS/SSL trên web.\u003C/p>\n\u003Cp>Sau đây chúng ta sẽ xét đến từng thành phần trong ngăn xếp của WAP[9]:\u003C/p>\n\u003Cp>1.3.1. Wireless Application Environment – WAE\u003C/p>\n\u003Cp>Tầng ứng dụng của WAP (WAE) cung cấp tất cả các thành phần liên quan\u003C/p>\n\u003Cp>đến việc phát triển và thực thi ứng dụng. WAE cho phép những nhà phát triển có\u003C/p>\n\u003Cp>- 25 -\u003C/p>\n\u003Cp>thể sử dụng các định dạng và dịch vụ riêng biệt để tạo ra hoặc tuỳ biến việc hiển thị\u003C/p>\n\u003Cp>nội dung và tương tác với các thiết bị di động vốn có nhiều giới hạn. WAE gồm có\u003C/p>\n\u003Cp>hai tác nhân người dùng khác nhau được đặt ở phía client đó là: tác nhân người\u003C/p>\n\u003Cp>dùng WAE (WAE user agent) – bao gồm trình duyệt (microbrowser) và trình soạn\u003C/p>\n\u003Cp>thảo thông điệp dạng văn bản – và tác nhân người dùng WTA (WTA user agent).\u003C/p>\n\u003Cp>(WTA sẽ được đề cập chi tiết hơn trong phần 1.3).\u003C/p>\n\u003Cp>1.3.2. Wireless Session Layer – WSP\u003C/p>\n\u003Cp>Wireless Session Protocol cho phép các dịch vụ trao đổi dữ liệu với các ứng\u003C/p>\n\u003Cp>dụng theo một cách có tổ chức. Nó bao gồm hai giao thức khác nhau:\u003C/p>\n\u003Cp>(cid:131) Dịch vụ phiên hướng kết nối (Connection oriented session services) –\u003C/p>\n\u003Cp>hoạt động nhờ vào Wireless Transaction Protocol (WTP)\u003C/p>\n\u003Cp>(cid:131) Dịch vụ phiên phi kết nối (Connectionless session services) – hoạt\u003C/p>\n\u003Cp>động trực tiếp trên Wireless Transport layer (WDP)\u003C/p>\n\u003Cp>Các dịch vụ phiên (session service) là những chức năng giúp cho việc thiết\u003C/p>\n\u003Cp>lập kết nối giữa một client và một server. Dịch vụ này được phân phối thông qua\u003C/p>\n\u003Cp>việc dùng các ‘primitives’ mà nó cung cấp.\u003C/p>\n\u003Cp>Primitives là các thông điệp được định nghĩa mà một client dùng để gởi cho\u003C/p>\n\u003Cp>server yêu cầu dịch vụ. Chẳng hạn như trong WSP, một trong những primitives là\u003C/p>\n\u003Cp>SConnect, với nó chúng ta có thể yêu cầu việc tạo lập một nối kết với server.\u003C/p>\n\u003Cp>Dịch vụ phiên hướng kết nối (Connection-oriented session service) cung\u003C/p>\n\u003Cp>cấp khả năng quản lý một phiên làm việc và vận chuyển dữ liệu tin cậy giữa client\u003C/p>\n\u003Cp>và server. Phiên làm việc tạo ra có thể được hoãn lại và phục hồi sau đó nếu như\u003C/p>\n\u003Cp>việc truyền tải dữ liệu không thể thực hiện được. Trong kỹ thuật push, dữ liệu\u003C/p>\n\u003Cp>không mong muốn có thể được gởi đi từ server đến client theo hai cách: được xác\u003C/p>\n\u003Cp>nhận hoặc là không được xác nhận.\u003C/p>\n\u003Cp>(cid:131) Trường hợp được xác nhận (confirmed push), client sẽ thông báo cho\u003C/p>\n\u003Cp>server khi nhận được dữ liệu.\u003C/p>\n\u003Cp>- 26 -\u003C/p>\n\u003Cp>(cid:131) Trường hợp không được xác nhận (unconfirmed push) server không\u003C/p>\n\u003Cp>được thông báo khi dữ liệu push được nhận.\u003C/p>\n\u003Cp>Phần lớn các chức năng được cung cấp bởi dịch vụ phiên hướng kết nối\u003C/p>\n\u003Cp>(connection-oriented session service) đều được xác nhận: client gởi các thông điệp\u003C/p>\n\u003Cp>yêu cầu (Request primitive) và nhận lại thông điệp xác nhận (Confirm primitive),\u003C/p>\n\u003Cp>server gởi các thông điệp phản hồi (Response primintive) và nhận lại các thông điệp\u003C/p>\n\u003Cp>chỉ dẫn (Indication primitive).\u003C/p>\n\u003Cp>Dịch vụ phiên phi kết nối (Connectionless session service) chỉ cung cấp các\u003C/p>\n\u003Cp>dịch vụ không được xác nhận (non-confirmed services). Trong trường hợp này các\u003C/p>\n\u003Cp>client có thể chỉ sử dụng thông điệp yêu cầu (Request primitive) và các server cũng\u003C/p>\n\u003Cp>chỉ có thể dùng thông điệp chỉ dẫn (Indication primitive).\u003C/p>\n\u003Cp>Để bắt đầu một phiên làm việc mới, client yêu cầu một WSP primitive cung\u003C/p>\n\u003Cp>cấp một số tham số như địa chỉ server, địa chỉ client và các client header. Các tham\u003C/p>\n\u003Cp>số này có thể được liên kết với các tiêu đề HTTP của client, và có thể được server\u003C/p>\n\u003Cp>dùng để nhận ra loại tác vụ người dùng bên trong WAP client (có thể là phiên bản\u003C/p>\n\u003Cp>và loại của trình duyệt). Điều này có ích khi ta muốn định dạng lại phần đầu ra khác\u003C/p>\n\u003Cp>đi, tuỳ thuộc vào loại thiết bị ở phía client. Chẳng hạn như một điện thoại có thể có\u003C/p>\n\u003Cp>một màn hình hiển thị chứa được 20 ký tự; nhưng thiết bị khác thì lại chỉ hiển thị\u003C/p>\n\u003Cp>được 16 ký tự.\u003C/p>\n\u003Cp>WSP về cơ bản đó chính là một dạng nhị phân của HTTP. WSP cung cấp tất\u003C/p>\n\u003Cp>cả các phương thức được định nghĩa bởi HTTP/1.1 và cho phép đàm phán nhằm đạt\u003C/p>\n\u003Cp>được sự tương thích với chuẩn HTTP/1.1 này.\u003C/p>\n\u003Cp>1.3.3. Wireless Transaction Layer – WTP\u003C/p>\n\u003Cp>Wireless Transaction Protocol cung cấp các dịch vụ nhằm thực hiện các giao\u003C/p>\n\u003Cp>tác tin cậy và không tin cậy, nó làm việc trên tầng WDP hay tầng an ninh WTLS.\u003C/p>\n\u003Cp>Cũng như tất cả các tầng khác trong WAP, WTP được tối ưu cho phù hợp với băng\u003C/p>\n\u003Cp>- 27 -\u003C/p>\n\u003Cp>thông nhỏ của giao tiếp trên sóng vô tuyến, cố gắng giảm số lượng các giao tác thực\u003C/p>\n\u003Cp>hiện lại giữa client và server.\u003C/p>\n\u003Cp>Cụ thể, có ba lớp khác nhau của các dịch vụ giao tác cung cấp cho các tầng\u003C/p>\n\u003Cp>bên trên là:\u003C/p>\n\u003Cp>(cid:131) Các yêu cầu không tin cậy – Unreliable requests\u003C/p>\n\u003Cp>(cid:131) Các yêu cầu có thể tin cậy – Reliable requests\u003C/p>\n\u003Cp>(cid:131) Các yêu cầu tin cậy với một thông điệp kết quả\u003C/p>\n\u003Ch4>1.3.3.1. Yêu cầu không tin cậy – Unreliable request\u003C/h4>\n\u003Cp>\u003C/p>\n\u003Cp>Trình khởi đầu (Initiator) (trong trường hợp này là một server chứa nội dung\u003C/p>\n\u003Cp>– content server) gởi yêu cầu đến trình đáp ứng (Responder) (tác nhân người dùng),\u003C/p>\n\u003Cp>và không có một thông điệp xác nhận nào được gởi trả về. Giao tác này không có\u003C/p>\n\u003Cp>trạng thái và kết thúc ngay thông điệp yêu cầu được gởi đi:\u003C/p>\n\u003Cp>Hình 1.3-4: Unreliable request\u003C/p>\n\u003Ch4>1.3.3.2. Yêu cầu có thể tin cậy – Reliable request\u003C/h4>\n\u003Cp>\u003C/p>\n\u003Cp>Trình khởi đầu gởi một yêu cầu đến cho trình đáp ứng, trình này sẽ trả lời lại\u003C/p>\n\u003Cp>khi nhận được yêu cầu. Trình đáp ứng lưu trữ thông tin trạng thái của giao tác trong\u003C/p>\n\u003Cp>một thời gian để nó các thể gởi lại thông điệp xác nhận (acknowledgement\u003C/p>\n\u003Cp>- 28 -\u003C/p>\n\u003Cp>message) nếu như server có yêu cầu lại lần nữa. Giao tác kết thúc tại trình khởi đầu\u003C/p>\n\u003Cp>khi trình này nhận được thông điệp xác nhận:\u003C/p>\n\u003Cp>Hình 1.3-5: Reliable request\u003C/p>\n\u003Ch4>1.3.3.3. Yêu cầu tin cậy với một thông điệp kết quả\u003C/h4>\n\u003Cp>\u003C/p>\n\u003Cp>Trình khởi đầu gởi yêu cầu đến cho trình đáp ứng, khi nhận được yêu cầu\u003C/p>\n\u003Cp>trình này sẽ gởi trả lại một thông điệp kết quả. Trình khởi đầu nhận thông điệp này,\u003C/p>\n\u003Cp>duy trì thông tin trạng thái của giao tác trong một thời gian sau khi xác nhận được\u003C/p>\n\u003Cp>gởi đi, phòng trường hợp thông báo gởi đi không đến được đích. Giao tác kết thúc\u003C/p>\n\u003Cp>tại trình đáp ứng khi nó nhận được thông điệp xác nhận.\u003C/p>\n\u003Cp>Hình 1.3-6: Reliable request với thông điệp kết quả\u003C/p>\n\u003Cp>- 29 -\u003C/p>\n\u003Cp>1.3.4. Wireless Transprot Layer Security – WTLS\u003C/p>\n\u003Cp>WTLS được cung cấp bởi WAP Forum, đây là một giải pháp cho vấn đề bảo\u003C/p>\n\u003Cp>mật trên WAP. WTLS là một tầng tùy chọn hoạt động trên tầng vận chuyển (WDP),\u003C/p>\n\u003Cp>và được xây dựng dựa trên hai giao thức Internet đó là TLS (Transport Layer\u003C/p>\n\u003Cp>Security) v1.0, tầng này cũng dựa trên một tầng khác đó là SSL (Secure Sockets\u003C/p>\n\u003Cp>Layer) v3.0.\u003C/p>\n\u003Cp>WTLS cũng có cùng các đặc điểm cơ bản như tất cả các tầng trước đây trong\u003C/p>\n\u003Cp>ngăn xếp WAP: nó là điều chỉnh của một giao thức Internet cho phù hợp với điều\u003C/p>\n\u003Cp>kiện độ trễ cao, băng thông thấp, cùng với bộ nhớ và khả năng xử lý giới hạn của\u003C/p>\n\u003Cp>các thiết bị WAP. WTLS cũng cố gắng giảm bớt chi phí liên quan đến việc thiết lập\u003C/p>\n\u003Cp>một kết nối an toàn giữa hai ứng dụng. WTLS cung cấp cùng một mức độ bảo mật\u003C/p>\n\u003Cp>như ở SSL 3.0 nhưng giảm đi khoảng thời gian giao tác. Các dịch vụ mà nó cung\u003C/p>\n\u003Cp>cấp là:\u003C/p>\n\u003Cp>(cid:131) Tính bảo mật (Privacy) bảo đảm dữ liệu gởi đi giữa server và client\u003C/p>\n\u003Cp>không thể được truy cập từ bất kỳ người nào khác. Không ai có thể giải\u003C/p>\n\u003Cp>mã thông điệp cho dù họ có thể nhìn thấy các thông điệp này ở dạng đã\u003C/p>\n\u003Cp>được mã hóa.\u003C/p>\n\u003Cp>(cid:131) Định danh server đảm bảo một server thật sự.\u003C/p>\n\u003Cp>(cid:131) Định danh client giúp server gốc giới hạn khả năng truy cập đến những\u003C/p>\n\u003Cp>nội dung mà nó cung cấp. Xác định chỉ một số client nào đó mới có thể\u003C/p>\n\u003Cp>truy cập vào những trang nào đó cho phép mà thôi.\u003C/p>\n\u003Cp>(cid:131) Bảo toàn dữ liệu sẽ đảm bảo nội dung dữ liệu trên đường truyền giữa\u003C/p>\n\u003Cp>server và client sẽ không bị chỉnh sửa mà không được thông báo.\u003C/p>\n\u003Cp>Hình 1.3-7 dưới đây mô tả cách WAP gateway điều khiển các phiên làm việc\u003C/p>\n\u003Cp>an toàn. Một phiên SSL chuẩn được mở ra giữa web server và WAP gateway và\u003C/p>\n\u003Cp>một phiên WTLS được khởi tạo giữa gateway và thiết bị di động. Nội dung mã hóa\u003C/p>\n\u003Cp>- 30 -\u003C/p>\n\u003Cp>được gởi đi thông qua nối kết này từ server đến gateway, gateway biên dịch và gởi\u003C/p>\n\u003Cp>nó đến cho điện thoại di động.\u003C/p>\n\u003Cp>Hình 1.3-7: WAP gateway điều khiển phiên an toàn\u003C/p>\n\u003Cp>Sau đó WTLS giao quyền lại cho giao thức SSL làm việc trên Internet.\u003C/p>\n\u003Cp>Việc chuyển đổi giữa SSL và WTLS thực hiện bên trong bộ nhớ của WAP\u003C/p>\n\u003Cp>gateway. Điều quan trọng là các thông tin không được mã hóa sẽ không được lưu\u003C/p>\n\u003Cp>trữ bên trong gateway, vì như thế sẽ làm mất tác dụng tất cả các phương áp bảo mật\u003C/p>\n\u003Cp>được dùng để bảo vệ dữ liệu lưu trữ với những người không được định danh.\u003C/p>\n\u003Cp>Mặc dù các WAP gateway được cung cấp nhiều chức năng để bảo đảm ở cấp\u003C/p>\n\u003Cp>an toàn cao nhất, thế nhưng vẫn còn nhiều vấn đề liên quan đến giải pháp an toàn\u003C/p>\n\u003Cp>cho WAP.\u003C/p>\n\u003Cp>WTLS là một tầng tùy chọn trong ngăn xếp WAP. Điều này có nghĩa là cơ\u003C/p>\n\u003Cp>chế bảo mật trong WAP chỉ có giá trị khi được yêu cầu và không được xây dựng\u003C/p>\n\u003Cp>như là một chức năng trong kiến trúc WAP. Do đó, thông tin lưu chuyển đến và đi\u003C/p>\n\u003Cp>qua WAP gateway thường không được mã hoá, trừ phi chúng ta dùng các kết nối\u003C/p>\n\u003Cp>SSL để giao tiếp giữa các server gốc và gateway.\u003C/p>\n\u003Cp>- 31 -\u003C/p>\n\u003Cp>1.3.5. Wireless Datagram Protocol – WDP\u003C/p>\n\u003Cp>WDP là lớp dưới cùng trong ngăn xếp WAP và là một trong những phần tử\u003C/p>\n\u003Cp>làm cho WAP trở thành một giao thức cực kỳ di động, có thể thực thi trên nhiều loại\u003C/p>\n\u003Cp>mạng di động khác nhau. WDP che chở các tầng bên trên nhờ vào các dịch vụ nền\u003C/p>\n\u003Cp>mà mạng cung cấp. Các dịch vụ nền bao gồm: SMS, CSD, USSD, DECT, và\u003C/p>\n\u003Cp>CDMA.\u003C/p>\n\u003Ch4>1.4. Vấn đề bảo mật trên WAP\u003C/h4>\n\u003Cp>\u003C/p>\n\u003Cp>Bảo mật luôn là vấn đề được nhiều rất người quan tâm. Tuy nhiên, phạm vi\u003C/p>\n\u003Cp>đề tài này không cho phép thực hiện một tìm hiểu hoàn chỉnh về vấn đề bảo mật cho\u003C/p>\n\u003Cp>các ứng dụng mạng không dây. Thay vào đó là thực hiện việc so sánh vấn đề bảo\u003C/p>\n\u003Cp>mật trong môi trường WAP với một môi trường khá quen thuộc đó là Internet [9].\u003C/p>\n\u003Cp>1.4.1. So sánh các mô hình bảo mật\u003C/p>\n\u003Cp>1.4.1.1. Bảo mật trên Internet\u003C/p>\n\u003Cp>- 32 -\u003C/p>\n\u003Cp>Hình 1.4-1: Mô hình giao tiếp cổ điển trên Internet\u003C/p>\n\u003Cp>Trong Hình 1.4-1, giả sử thiết bị ở phía client là một PC được kết nối với\u003C/p>\n\u003Cp>Internet thông qua một ISP dùng modem và giao thức PPP (point-to-point protocol).\u003C/p>\n\u003Cp>Người dùng được ISP định danh trước khi cho phép sử dụng mạng do mình\u003C/p>\n\u003Cp>cung cấp. Các giao thức định danh này thực hiện bằng cách sử dụng tên và mật\u003C/p>\n\u003Cp>khẩu mà người dùng cung cấp.\u003C/p>\n\u003Cp>Khi việc định danh hoàn tất, thiết bị ở phía client được cung cấp một địa chỉ\u003C/p>\n\u003Cp>IP, và đăng ký địa chỉ này với ISP. Tiếp theo, RAS server sẽ đóng vai trò như là\u003C/p>\n\u003Cp>một proxy đối với thiết bị client, thực hiện gởi đi các gói IP nhận được từ client và\u003C/p>\n\u003Cp>thu thập các gói tin gởi thẳng đến server và chuyển tiếp chúng thông qua nối kết\u003C/p>\n\u003Cp>PPP.\u003C/p>\n\u003Cp>Mạng của ISP sẽ kết nối với mạng trục Internet (Internet backbone) thông\u003C/p>\n\u003Cp>qua một router hoặc là một gateway. Đồng thời với sự có mặt của bức tường lửa\u003C/p>\n\u003Cp>- 33 -\u003C/p>\n\u003Cp>(firewall), nó sẽ bảo vệ mạng của ISP với những những lưu chuyển bên ngoài mạng\u003C/p>\n\u003Cp>Internet (bức tường lửa có thể nằm độc lập hoặc tính hợp ngay vào trong router).\u003C/p>\n\u003Cp>Khi ra được bên ngoài Internet, dữ liệu sẽ đi qua nhiều mạng chuyển mạch\u003C/p>\n\u003Cp>(circuit-switched) và chuyển gói (packet-switched), lưu chuyển từ router này qua\u003C/p>\n\u003Cp>router khác trước khi đi đến đích.\u003C/p>\n\u003Cp>Phương thức bảo mật phổ biến nhất được dùng để bảo vệ đó là giao thức\u003C/p>\n\u003Cp>TLS (Transport Layer Security), trước đây là SSL (Secure Sockets Layer). Đây là\u003C/p>\n\u003Cp>một giao thức ở tầng vận chuyển.\u003C/p>\n\u003Cp>Khi client yêu cầu một phiên làm việc an toàn với server, các tham số của\u003C/p>\n\u003Cp>phiên sẽ được trao đổi giữa client và server trước khi phiên làm việc an toàn được\u003C/p>\n\u003Cp>thiết lập giữa chúng. Tất cả các giao tiếp giữa client và server đều được mã hóa\u003C/p>\n\u003Cp>bằng các thuật toán và khóa được trao đổi như là một phần của việc thiết lập phiên\u003C/p>\n\u003Cp>làm việc. Mặc dù kẻ nghe trộm có thể sẽ chặn được các gói tin thiết lập phiên,\u003C/p>\n\u003Cp>nhưng với sự có mặt của khóa đủ để đảm bảo rằng phiên làm việc không bị ảnh\u003C/p>\n\u003Cp>hưởng. Điều này đạt được là do các khóa phiên được hình thành nhờ vào sự phối\u003C/p>\n\u003Cp>hợp của các khóa chung và riêng (public key, private key) lại với nhau. Như vậy, để\u003C/p>\n\u003Cp>có được khóa của phiên giao dịch, kẻ nghe trộm phải sở hữu một trong số các khoá\u003C/p>\n\u003Cp>riêng này.\u003C/p>\n\u003Cp>TLS cung cấp các giao tiếp an toàn dạng end-to-end giữa client và server.\u003C/p>\n\u003Cp>Với hướng giao tiếp này, tất cả dữ liệu được mã hóa và không thể được giải mã bởi\u003C/p>\n\u003Cp>bất kỳ trạm trung gian nào giữa client và server.\u003C/p>\n\u003Cp>1.4.1.2. Bảo mật trên WAP\u003C/p>\n\u003Cp>Cũng giống như Internet, bảo mật được thực hiện ngay trên Tầng Vận\u003C/p>\n\u003Cp>Chuyển: mô hình trên mạng Internet thực thi phần lớn các chức năng bảo mật của\u003C/p>\n\u003Cp>mình trong TLS, còn WAP thì thực hiện phần lớn trong WTLS (WTLS dựa trên nền\u003C/p>\n\u003Cp>của TLS).\u003C/p>\n\u003Cp>- 34 -\u003C/p>\n\u003Cp>Hình 1.4-2: Mô hình giao tiếp trên WAP\u003C/p>\n\u003Cp>Trong mô hình này, nối kết được thiết lập thông qua điện thoại di động,\u003C/p>\n\u003Cp>nhưng lúc này kết nối được quản lý bởi người điều khiển mạng chứ không phải từ\u003C/p>\n\u003Cp>ISP. Khi điện thoại thực hiện cuộc gọi, tín hiệu sẽ được truyền đến cho người quản\u003C/p>\n\u003Cp>lý, nó thực hiện việc tìm đường đi thông qua một trong những modem của mình và\u003C/p>\n\u003Cp>nối kết với RAS server cũng giống như trong mô hình mạng Internet.\u003C/p>\n\u003Cp>RAS server cũng sẽ thực hiện việc định danh, nhưng một khi gói tin đi qua\u003C/p>\n\u003Cp>RAS server thì mọi thứ bắt đầu khác đi. Thay vì tìm đường trên Internet đến web\u003C/p>\n\u003Cp>server, dữ liệu được định tuyến đến WAP gateway. Tại đây, dữ liệu sẽ được biên\u003C/p>\n\u003Cp>dịch thành dạng nhị phân (nếu cần), sau đó được chuyển đi trong không khí.\u003C/p>\n\u003Cp>Gateway cũng hoạt động như là một proxy đối với điện thoại, việc giao tiếp với web\u003C/p>\n\u003Cp>server được thực hiện thông qua các giao thức HTTP 1.1. Web server không quan\u003C/p>\n\u003Cp>- 35 -\u003C/p>\n\u003Cp>tâm rằng mình đang giao tiếp với một WAP gateway, nó xem gateway đơn giản như\u003C/p>\n\u003Cp>là một thiết bị client khác.\u003C/p>\n\u003Cp>Web server có thể nằm ngay bên trong mạng, hay cũng có thể thuộc một tổ\u003C/p>\n\u003Cp>chức bên ngoài khác. WAP gateway sẽ gởi các gói tin HTTP của mình qua bức\u003C/p>\n\u003Cp>tường lửa đến với web server thuộc mạng cần đến.\u003C/p>\n\u003Cp>Nếu như WAP gateway hoạt động như là một proxy đối với điện thoại di\u003C/p>\n\u003Cp>động và sử dụng các giao thức HTTP 1.1 thông thường thì không có lý do gì TLS\u003C/p>\n\u003Cp>không được dùng đến để đảm bảo an toàn cho tất cả các giao tiếp giữa WAP\u003C/p>\n\u003Cp>gateway và web server, giống như trên Internet. Nhưng với hai chuẩn WAP đang\u003C/p>\n\u003Cp>được áp dụng hiện nay – WAP 1.x và WAP 2.0 – thì các giao thức được dùng cho\u003C/p>\n\u003Cp>việc bảo mật khác nhau:\u003C/p>\n\u003Cp>(cid:131) WAP 1.x: do TLS đòi hỏi một truyền tải tin cậy – thường là TCP – còn\u003C/p>\n\u003Cp>điện thoại thì lại không sử dụng TCP để giao tiếp với WAP gateway nên\u003C/p>\n\u003Cp>TLS không thể dùng để bảo mật các giao tiếp giữa điện thoại di động và\u003C/p>\n\u003Cp>WAP gateway. Thay vào đó là sử dụng một giao thức mới có tên là\u003C/p>\n\u003Cp>WTLS (có khả năng hoạt động trên WDP và UDP). Giao thức này được\u003C/p>\n\u003Cp>phát triển dựa trên TLS và cung cấp cùng một mức bảo mật giống như\u003C/p>\n\u003Cp>trong TLS.\u003C/p>\n\u003Cp>Như vậy, hệ thống phải sử dụng hai cơ chế bảo mật: một được đặt từ thiết\u003C/p>\n\u003Cp>bị đến WAP gateway, một thì từ gateway đến web server. Điều này có\u003C/p>\n\u003Cp>nghĩa là phải có một sử chuyển đổi từ WTLS sang TLS tại gateway.\u003C/p>\n\u003Cp>(cid:131) WAP 2.0: do kiến trúc của ngăn xếp WAP 2.0 gần giống với kiến trúc\u003C/p>\n\u003Cp>trên web, giao thức được sử dụng trên Tầng vận chuyển là wTCP/IP\u003C/p>\n\u003Cp>(Wireless Profile TCP/IP). wTCP/IP được tối ưu hóa từ TCP/IP nhằm\u003C/p>\n\u003Cp>vào mục đích phục vụ cho hoạt động trên mội trường di động, giao thức\u003C/p>\n\u003Cp>này có thể phối hợp tốt giữa hai môi trường mạng đó là: di động và mạng\u003C/p>\n\u003Cp>Internet [8].\u003C/p>\n\u003Cp>- 36 -\u003C/p>\n\u003Cp>Hình 1.4-3: Giao thức sử dụng trên Tầng Vận Chuyển của WAP 2.0\u003C/p>\n\u003Cp>Do đó, cơ chế bảo mật được dùng trong WAP 2.0 cũng chính là TLS như\u003C/p>\n\u003Cp>trên môi trường web.\u003C/p>\n\u003Cp>1.4.2. Vấn đề bảo mật trên WAP\u003C/p>\n\u003Cp>So sánh trên đây cho thấy mô hình giao tiếp trên môi trường không dây cũng\u003C/p>\n\u003Cp>tương tự với mô hình giao tiếp trên Internet. Tuy nhiên, có hai điểm trên WAP mà\u003C/p>\n\u003Cp>ta cần quan tâm đó là: sự hiện của WAP gateway và vấn đề chứng thực người dùng\u003C/p>\n\u003Cp>[9].\u003C/p>\n\u003Cp>1.4.2.1. Chứng thực người dùng\u003C/p>\n\u003Cp>Khi muốn nối kết với ISP thì chúng ta cần phải cung cấp ID và mật khẩu\u003C/p>\n\u003Cp>người dùng để ISP thực hiện việc chứng thực. Hầu hết mọi người đều lưu trữ những\u003C/p>\n\u003Cp>thông tin này bên trong máy tính của mình, và chúng sẽ đại diện cho người dùng\u003C/p>\n\u003Cp>mỗi khi cần đến.\u003C/p>\n\u003Cp>Sẽ không có vấn đề gì nếu như mỗi người có một máy tính cho riêng mình,\u003C/p>\n\u003Cp>nhưng điều gì xảy ra khi có nhiều người cùng truy cập trên cùng một chiếc máy\u003C/p>\n\u003Cp>tính? Khi đó, người sử dụng sau có thể sử dụng thông tin của người sử dụng trước\u003C/p>\n\u003Cp>đó để truy cập Internet, gởi nhận email, hay thậm chỉ có thể sử dụng cả những\u003C/p>\n\u003Cp>chứng nhận (certificate) của người dùng trước. Trường hợp này đòi hỏi hệ thống\u003C/p>\n\u003Cp>cần được quản lý bằng một cơ chế bảo mật nào đó.\u003C/p>\n\u003Cp>Những vấn đề này lại nhỏ đủ có thể được bỏ qua trong môi trường có dây\u003C/p>\n\u003Cp>thông thường, trong thế giới không dây thì lại là cả một vấn đề. Có sự khác nhau rõ\u003C/p>\n\u003Cp>- 37 -\u003C/p>\n\u003Cp>ràng giữa việc chứng thực thiết bị sử dụng và chứng thực người dùng, sự khác nhau\u003C/p>\n\u003Cp>này quan trọng hơn trong trường hợp có nhiều ứng dụng.\u003C/p>\n\u003Cp>Mặc dù vấn đề này tồn tại trên môi trường thương mại điện tử cũng như trên\u003C/p>\n\u003Cp>môi trường di động, nhưng trong môi trường di động nó lại cao hơn, đơn giản chỉ\u003C/p>\n\u003Cp>bởi vì các thiết bị này di động. Khi số lượng điện thoại di động cũng như các thiết\u003C/p>\n\u003Cp>bị di động khác tăng lên thì tỷ lệ bị mất cắp cũng sẽ tăng theo. Một số tổ chức thậm\u003C/p>\n\u003Cp>chí còn không dùng các máy laptop cho đội ngũ bán hàng của mình, vì các máy\u003C/p>\n\u003Cp>laptop rất dễ bị mất cắp và dẫn đến việc mất thông tin quan trọng có trên máy.\u003C/p>\n\u003Cp>Bảo mật không chỉ dùng giao thức mà trong nhiều hệ điều hành còn cung cấp\u003C/p>\n\u003Cp>nhiều dạng khác, chẳng hạn như bảo mật ở cấp tập tin thông qua việc sử dụng các\u003C/p>\n\u003Cp>danh sách điều khiển truy xuất ACL (Access Control Lists). Nhưng nếu ACL được\u003C/p>\n\u003Cp>lưu trữ dưới dạng tập tin thì cũng có thể hệ thống khác sẽ đọc được nội dung này.\u003C/p>\n\u003Cp>Về bản chất đây không phải là một vấn đề của WAP, nhưng nó lại là một vấn đề về\u003C/p>\n\u003Cp>di động và cần phải được quan tâm đến nếu như các thiết bị di động chứa các thông\u003C/p>\n\u003Cp>tin quan trọng.\u003C/p>\n\u003Cp>Một cách để tránh được trường hợp này đó là không bao giờ lưu các thông\u003C/p>\n\u003Cp>tin quan trọng trên thiết bị di động nếu có thể. Một khả năng khác là thực hiện việc\u003C/p>\n\u003Cp>chứng thực người dùng. Sử dụng cách chứng nhận sẽ định danh một cách hiệu quả\u003C/p>\n\u003Cp>các thiết bị và thiết lập một kết nối an toàn, và sau đó tất cả dữ liệu được truyền đi\u003C/p>\n\u003Cp>dưới dạng được mã hoá, yêu cầu người dùng nhập vào ID và mật khẩu. Chúng ta có\u003C/p>\n\u003Cp>thể dùng bất kỳ một kỹ thuật thông thường nào để xác nhận ID và mật khẩu này\u003C/p>\n\u003Cp>như: Kerberos, LDAP, hay một sản phẩm chứng thực người dùng nào đó.\u003C/p>\n\u003Cp>1.4.2.2. WAP Gateway\u003C/p>\n\u003Cp>Vấn đề trên WAP gateway có thể nhận thấy rõ ràng nhất là trên chuẩn WAP\u003C/p>\n\u003Cp>1.x, do chuẩn này đòi hỏi WML và WMLScript phải được chuyển thành dạng nhị\u003C/p>\n\u003Cp>phân cho phù hợp với đặc điểm vận chuyển trên môi trường di động – có nhiều\u003C/p>\n\u003Cp>thách thức về băng thông và tài nguyên của thiết bị. WAP gateway chịu trách nhiệm\u003C/p>\n\u003Cp>thực hiện công việc này. Tuy nhiên:\u003C/p>\n\u003Cp>- 38 -\u003C/p>\n\u003Cp>(cid:131) Một phiên bảo mật WTLS được thiết lập giữa điện thoại và WAP\u003C/p>\n\u003Cp>gateway, chứ không phải là trực tiếp với web server. Như vậy, dữ liệu chỉ\u003C/p>\n\u003Cp>được mã hoá giữa điện thoại và gateway, khi đến gateway chúng được\u003C/p>\n\u003Cp>giải mã trước khi lại được mã hóa và gởi đến cho web server qua một kết\u003C/p>\n\u003Cp>nối TLS.\u003C/p>\n\u003Cp>(cid:131) Tại WAP gateway toàn bộ dữ liệu có thể được thấy một cách tường minh.\u003C/p>\n\u003Cp>Điều này cũng có nghĩa là tại gateway dữ liệu có thể sẽ bị mất mát.\u003C/p>\n\u003Cp>1.4.2.3. TLS và WTLS\u003C/p>\n\u003Cp>(cid:153) Giống nhau:\u003C/p>\n\u003Cp>Cùng khái niệm phân biệt một phiên (session) và một kết nối (connection).\u003C/p>\n\u003Cp>- Kết nối được đánh giá là ngắn hơn so với phiên\u003C/p>\n\u003Cp>- Trong trường hợp mạng không dây, thời gian sống của một kết nối có\u003C/p>\n\u003Cp>thể tuỳ thuộc vào chất lượng thông tin nơi mà người dùng sử dụng (vị\u003C/p>\n\u003Cp>trí địa lý, khí hậu…)\u003C/p>\n\u003Cp>- Các phiên bền hơn là các kết nối và có thể tồn tại qua nhiều kết nối và\u003C/p>\n\u003Cp>được xác định bằng một số ID của phiên (session ID)\u003C/p>\n\u003Cp>- Các tham số bảo mật cho mỗi phiên được sử dụng để bảo mật một kết\u003C/p>\n\u003Cp>nối, có nghĩa là khi một kết nối bị phá vỡ, phiên có thể vẫn tồn tại và\u003C/p>\n\u003Cp>có thể được phục hồi sau đó.\u003C/p>\n\u003Cp>- Phiên có thể được phục hồi, có nghĩa là một phiên đang được thiết lập\u003C/p>\n\u003Cp>có thể sử dụng cùng một tập tham số bảo mật với phiên trước đó.\u003C/p>\n\u003Cp>Phiên đó có thể là từ một kết nối hiện đang hoạt động, một kết nối\u003C/p>\n\u003Cp>khác cũng đang hoạt động hay là một kết nối đã hoạt động rồi. Việc\u003C/p>\n\u003Cp>phục hồi các phiên có thể được sử dụng để tạo nên các kết nối đồng\u003C/p>\n\u003Cp>thời cùng chia sẽ một tập tham số chung. Điều đó còn tuỳ thuộc vào\u003C/p>\n\u003Cp>server, vì server có quyền quyết định xem có cho phép phiên được\u003C/p>\n\u003Cp>phục hồi hay không\u003C/p>\n\u003Cp>- 39 -\u003C/p>\n\u003Cp>(cid:153) Khác nhau:\u003C/p>\n\u003Cp>TLS WTLS\u003C/p>\n\u003Cp>Thuộc tầng vận chuyển , nhưng bên trên Thực chất là một tầng thêm vào Tầng nó là WTP và WSP và Tầng Phiên. Vận Chuyển dùng để can thiệp giữa Cách sắp xếp này cho phép chúng có tầng ứng dụng và tầng vận chuyển ‘thực thể độc lập với các dịch vụ được ứng sự’ nhằm vào mục đích bảo mật. dụng yêu cầu.\u003C/p>\n\u003Cp>Không đòi hỏi giao thức vận chuyển tin Đòi hỏi giao thức vận chuyển tin cậy\u003C/p>\n\u003Cp>cậy (UDP, WDP). (TCP).\u003C/p>\n\u003Cp>Dùng trường số tuần tự: cho phép Không dùng trường số tuần tự\u003C/p>\n\u003Cp>WTLS làm việc với các vận chuyển (sequence number field).\u003C/p>\n\u003Cp>không tin cậy.\u003C/p>\n\u003Cp>Cho phép phân đoạn, lắp ghép dữ Không hỗ trợ phân đoạn, lắp ghép dữ\u003C/p>\n\u003Cp>liệu dưới dạng các gói tin nhận được liệu dưới dạng các gói tin.\u003C/p>\n\u003Cp>từ các tầng trên.\u003C/p>\n\u003Cp>Bảng 1.4-1: Một vài điểm khác nhau giữa TLS và WTLS\u003C/p>\n\u003Cp>WTLS cho phép chứng thực cả client và server gồm ba lớp thực hiện cùng\u003C/p>\n\u003Cp>với các đánh dấu chức năng là: bắt buộc, tuỳ chọn hay loại trừ.\u003C/p>\n\u003Cp>Lớp 1 chỉ yêu cầu hỗ trợ trao đổi khoá chung (public key exchange), mã hoá\u003C/p>\n\u003Cp>và MACs (kiểm soát truy cập môi trường truyền thông), các chứng nhận bên phía\u003C/p>\n\u003Cp>client và server và một tuỳ chọn bắt tay bí mật có chia sẽ (Một bắt tay bí mật có\u003C/p>\n\u003Cp>chia sẽ là trường hợp mà cả client và server đều đã biết được bí mật và chúng không\u003C/p>\n\u003Cp>cần trao đổi với nhau nữa).\u003C/p>\n\u003Cp>Các thuật toán nén và giao tiếp thẻ thông minh không được dùng trong quá\u003C/p>\n\u003Cp>trình thực hiện của Lớp 1. Các thực thi trên Lớp 1 có thể vẫn chọn hỗ trợ cho việc\u003C/p>\n\u003Cp>- 40 -\u003C/p>\n\u003Cp>chứng thực cả hai phía client và server thông qua các chứng nhận, nhưng nó không\u003C/p>\n\u003Cp>cần thiết.\u003C/p>\n\u003Cp>Lớp 2 hỗ trợ chứng nhận phía server là cố định.\u003C/p>\n\u003Cp>Lớp 3, hỗ trợ cho cả client và server là cố định.\u003C/p>\n\u003Cp>Hỗ trợ việc nén và giao tiếp thẻ thông minh là một tuỳ chọn ở Lớp 2 và 3.\u003C/p>\n\u003Cp>Quá trình thực hiện:\u003C/p>\n\u003Cp>Client bắt đầu tiến trình thiết lập một phiên bảo mật bằng cách gởi thông\u003C/p>\n\u003Cp>điệp đến cho server yêu cầu đàm phán thiết lập phiên bảo mật.\u003C/p>\n\u003Cp>Server cũng có thể gởi thông điệp yêu cầu phía client bắt đầu một phiên đàm\u003C/p>\n\u003Cp>phán, thế nhưng nó còn tuỳ thuộc vào phía client có đồng ý hay không.\u003C/p>\n\u003Cp>Tại bất kỳ thời điểm nào trong phiên làm việc, phía client cũng có thể gởi\u003C/p>\n\u003Cp>thông điệp này để yêu cầu đàm phán lại các thiết lập này. Đàm phán lại các thiết lập\u003C/p>\n\u003Cp>giúp giới hạn lượng dữ liệu có thể thấy được khi kẻ nghe trộm tấn công bằng cách\u003C/p>\n\u003Cp>tạo ra một khoá an toàn mới.\u003C/p>\n\u003Cp>Khi client yêu cầu đàm phán một phiên bảo mật, nó cung cấp một danh sách\u003C/p>\n\u003Cp>các dịch vụ bảo mật mà nó có thể hỗ trợ. Phía client cũng cho biết rằng sau bao lâu\u003C/p>\n\u003Cp>thì các tham số bảo mật phải được làm mới lại. Trong phần lớn các trường hợp, phía\u003C/p>\n\u003Cp>client có thể yêu cầu các tham số này được làm mới qua mỗi thông điệp.\u003C/p>\n\u003Cp>Nếu cơ chế trao đổi khoá chung xác định không phải là kẻ mạo danh thì phía\u003C/p>\n\u003Cp>server phải gởi cho client một chứng nhận để xác định chính mình. Chứng nhận\u003C/p>\n\u003Cp>được gởi đi phải phù hợp với thuật toán trao đổi khoá đã được đồng ý.\u003C/p>\n\u003Cp>Chứng nhận ở phía gởi phải đến đầu tiên trong danh sách, và mỗi chứng\u003C/p>\n\u003Cp>nhận đến tiếp theo phải chứng thực chứng nhận đến trước đó. Chứng nhận của CA\u003C/p>\n\u003Cp>gốc có thể được bỏ qua trong danh sách, về cơ bản có thể chấp nhận chứng nhận\u003C/p>\n\u003Cp>của CA gốc có giá trị tùy ý, và có thể đã có sẵn ở phía client. Nếu không thì client\u003C/p>\n\u003Cp>cũng có thể dễ dàng quản lý được.\u003C/p>\n\u003Cp>- 41 -\u003C/p>\n\u003Cp>Nếu việc trao đổi khóa không là ẩn danh, thì server cũng có thể yêu cầu một\u003C/p>\n\u003Cp>chứng nhận từ phía client. Nếu client không có chứng nhận, nó có thể gởi một thông\u003C/p>\n\u003Cp>điệp mà không chứa chứng nhận nào. Tuỳ thuộc vào server quyết định xem có\u003C/p>\n\u003Cp>muốn tiếp tục không với một chứng nhận có giá trị từ phía client. Bằng cách gởi\u003C/p>\n\u003Cp>thông điệp này, client chứng minh nó có một khoá riêng tương ứng khóa chung\u003C/p>\n\u003Cp>chứa trong chứng nhận mà nó gởi cho server. Client gởi thông điệp chứa tất cả các\u003C/p>\n\u003Cp>thông điệp bắt tay được trao đổi trước đó giữa client và server, và được đánh dấu\u003C/p>\n\u003Cp>bằng khoá riêng của nó. Việc này cho phép server thực hiện một tính toán tương tự\u003C/p>\n\u003Cp>ở phía của nó và kiểm tra tập phân loại thông điệp mà nó nhận được như là một\u003C/p>\n\u003Cp>phần của chữ ký so với cái mà nó tạo ra. Nếu chúng phù hợp, server biết client đó là\u003C/p>\n\u003Cp>thật.\u003C/p>\n\u003Cp>- 42 -\u003C/p>\n\u003Ch4>Chương 2. SỰ PHÁT TRIỂN CỦA CÁC NGÔN NGỮ ĐÁNH\u003C/h4>\n\u003Ch4>DẤU PHỤC VỤ CHO WAP\u003C/h4>\n\u003Cp>Tương lai mà công nghệ WAP nhắm đến là tiến gần hơn với các chuẩn hiện\u003C/p>\n\u003Cp>đang được sử dụng rộng rãi trên Internet. Và để có thể “hội tụ” các nội dung phát\u003C/p>\n\u003Cp>triển trên di động và Web truyền thống, WAP Forum đã thông qua chuẩn XHTML\u003C/p>\n\u003Cp>với Cascading Style Sheets (CSS) từ W3C như là cơ sở cho WAP 2.0. Việc chuyển\u003C/p>\n\u003Cp>đổi sang XHTML MP và WAP CSS đã cũng cố thêm vị trí của các trình duyệt di\u003C/p>\n\u003Cp>động trong xu hướng phát triển Internet và mở ra khả năng xa hơn trong việc thiết\u003C/p>\n\u003Cp>kế cách thức định dạng so và trình bày với trước đây:\u003C/p>\n\u003Cp>(cid:131) Các nội dung đang tồn tại trên mạng được viết theo định dạng HTML và\u003C/p>\n\u003Cp>XHTML, do đó việc định nghĩa chuẩn WAP 2.0 làm cho việc phát triển\u003C/p>\n\u003Cp>các nội dung trao đổi trên thiết bị di động trở nên dễ dàng hơn, nhanh hơn\u003C/p>\n\u003Cp>và ít tốn kém hơn.\u003C/p>\n\u003Cp>(cid:131) XHTML cùng với CSS cho phép sắp xếp chính xác vị trí của văn bản,\u003C/p>\n\u003Cp>hình ảnh, các đường viền và những phần tử khác, do đó tất cả các thiết bị\u003C/p>\n\u003Cp>di động có thể trình bày nội dung XHTML một cách đồng nhất, tránh\u003C/p>\n\u003Cp>được nhiều vấn đề trước đây vẫn xảy ra trong WML.\u003C/p>\n\u003Cp>(cid:131) Các nhà phát triển đã có kinh nghiệm làm việc với XHTML và CSS, các\u003C/p>\n\u003Cp>công cụ phát triển Web và các máy chủ cũng đã hỗ trợ các chuẩn này.\u003C/p>\n\u003Cp>(cid:131) Sự phát triển trong tương lai của các chuẩn Web sẽ được áp dụng cho cả\u003C/p>\n\u003Cp>Internet truyền thống và trên các thiết bị di động.\u003C/p>\n\u003Ch4>2.1. Ngôn ngữ đánh dấu (Markup-Language)\u003C/h4>\n\u003Cp>\u003C/p>\n\u003Cp>SGML (Standard Generalize Markup Language) là ngôn ngữ đánh dấu đa\u003C/p>\n\u003Cp>mục đích dành cho các tài liệu xử lý trên máy tính. Nó là một tập hợp bao gồm các\u003C/p>\n\u003Cp>thẻ (tag) đánh dấu, các phần tử, và nhãn. Các thẻ đánh dấu được giới hạn bằng hai\u003C/p>\n\u003Cp>ký tự “\u003C” và “>” để phân biệt với phần dữ liệu. Ngôn ngữ này sử dụng DTD\u003C/p>\n\u003Cp>- 43 -\u003C/p>\n\u003Cp>(Document Type Definition), nó là một dạng tài liệu có cú pháp đặc biệt, được dùng\u003C/p>\n\u003Cp>để định nghĩa các phần tử có thể sẽ xuất hiện trong một tài liệu và trật tự sắp xếp\u003C/p>\n\u003Cp>của chúng.\u003C/p>\n\u003Cp>Mặc dù SGML là một ngôn ngữ đánh dấu chung nhưng ta có thể tạo nên\u003C/p>\n\u003Cp>nhiều loại tài liệu khác nhau bằng cách sử dụng những tài liệu DTD khác nhau.\u003C/p>\n\u003Cp>HTML là một ngôn ngữ đánh dấu dựa trên SGML được dùng để tạo ra các\u003C/p>\n\u003Cp>tài liệu hiển thị trên các trình duyệt Web. Tuy được xây dựng dựa trên SGML\u003C/p>\n\u003Cp>nhưng ngôn ngữ được sử dụng rộng rãi này lại không hoàn toàn tuân theo SGML do\u003C/p>\n\u003Cp>không cần dùng DTD cũng như nó không đòi hỏi phải tuân theo các qui luật sử\u003C/p>\n\u003Cp>dụng các phần tử trong tài liệu. Ví dụ HTML cho phép sử dụng một thẻ mở (\u003Cp>)\u003C/p>\n\u003Cp>mà không cần phải có một thẻ đóng (\u003C/p>).\u003C/p>\n\u003Cp>Do nhu cầu sử dụng ngôn ngữ đánh dấu cho những mục đích khác chứ không\u003C/p>\n\u003Cp>chỉ là hiển thị đơn thuần (như HTML), ngôn ngữ XML đã ra đời. Do XML có cấu\u003C/p>\n\u003Cp>trúc rất nghiêm ngặt và rất uyển chuyển, nên có thể được sử dụng cho nhiều mục\u003C/p>\n\u003Cp>đích khác như: thương mại điện tử, xử lý cơ sở dữ liệu v.v..\u003C/p>\n\u003Cp>XHTML đại diện cho sự cách mạng của HTML, nó gần như giống với\u003C/p>\n\u003Cp>HTML nhưng lại tuân theo cú pháp nghiêm ngặt của XML. XHTML được sử dụng\u003C/p>\n\u003Cp>để trình bày nội dung trên các trình duyệt Web giống như HTML đã làm.\u003C/p>\n\u003Cp>WML là một ngôn ngữ XML dùng một DTD riêng của nó. WML được sử\u003C/p>\n\u003Cp>dụng để soạn thảo các nội dung được sử dụng để hiển thị trên các thiết bị di động.\u003C/p>\n\u003Cp>- 44 -\u003C/p>\n\u003Cp>Hình 2.1-1: Mối quan hệ giữa các ngôn ngữ đánh dấu\u003C/p>\n\u003Ch4>2.2. WAP và WML\u003C/h4>\n\u003Cp>\u003C/p>\n\u003Cp>Vào năm 1998, WAP Forum đã cho ra đời một ngôn ngữ mới gọi là WML\u003C/p>\n\u003Cp>1.1 và một giao thức mạng mới được gọi là WPS-Wireless Protocol Stack. WML\u003C/p>\n\u003Cp>1.1 sau đó được nâng cấp lên thành WML 1.3, thế hệ WAP này được đề cập đến\u003C/p>\n\u003Cp>dưới tên WAP 1.x và ngôn ngữ để xây dựng là WML 1.x.\u003C/p>\n\u003Cp>Hiện nay, WAP 1.x vẫn hoạt động tương đối tốt nhưng khả năng áp dụng\u003C/p>\n\u003Cp>WAP vào thương mại đã xuất hiện nhiều hạn chế. Đó là những giới hạn trong khả\u003C/p>\n\u003Cp>năng điều khiển việc sắp xếp các phần tử, kết quả là tạo nên các trang tương tự như\u003C/p>\n\u003Cp>các trang web thế hệ đầu tiên – không có màu sắc và hầu hết các phần tử được canh\u003C/p>\n\u003Cp>theo lề trái và cứ thế trải dài đến hết trang. Các trang này không những thiếu sự lôi\u003C/p>\n\u003Cp>cuốn trực quan so với trang web truyền thống mà còn khó sử dụng .\u003C/p>\n\u003Cp>Nhưng vấn đề nghiêm trọng hơn với WML đó là bảng đặc tả không định\u003C/p>\n\u003Cp>nghĩa các qui định cho việc hiển thị các phần tử trên một trang nội dung. Do đó, với\u003C/p>\n\u003Cp>cùng một nội dung WML, mỗi nhà sản xuất trình duyệt trên di động sẽ hiển thị theo\u003C/p>\n\u003Cp>- 45 -\u003C/p>\n\u003Cp>một cách khác nhau mặc dù các nội dung đó phù hợp với các đặc tả của WML. Điều\u003C/p>\n\u003Cp>này đã gây nên nhiều vấn đề nghiêm trọng nhanh chóng lan rộng trong cộng đồng\u003C/p>\n\u003Cp>các nhà phát triển web cho di động, những nhà phát triển cần phải dò ra loại thiết bị\u003C/p>\n\u003Cp>đang xử lý nội dung để có thể biến đổi kết quả để phù hợp với các cách thức xử lý\u003C/p>\n\u003Cp>WML khác nhau trên các loại thiết bị di động. XHTML MP và WAP CSS đã đưa ra\u003C/p>\n\u003Cp>những phát triển to lớn trong việc điều khiển dàn trang và khắc phục được tính\u003C/p>\n\u003Cp>không nhất quán trong việc triển khai WML.\u003C/p>\n\u003Ch4>2.3. XHTML cơ sở\u003C/h4>\n\u003Cp>\u003C/p>\n\u003Cp>Theo bảng đặc tả XHTML của tổ chức W3C (World Wide Web\u003C/p>\n\u003Cp>Consortium), XHTML Basic DTD định nghĩa một loại tài liệu đủ mạnh để có thể\u003C/p>\n\u003Cp>xây dựng và định dạng các nội dung được chia sẻ giữa các nhóm thiết bị khác nhau\u003C/p>\n\u003Cp>như máy tính để bàn, thiết bị trợ giúp cá nhân (PDA), TV và điện thoại cầm tay.\u003C/p>\n\u003Cp>XHTML Basic là một phiên bản trên di động của XHTML 1.0 bao gồm tất cả các\u003C/p>\n\u003Cp>phần tử của XHTML 1.0 ngoại trừ các phần tử không phù hợp cho các thiết bị có\u003C/p>\n\u003Cp>màn hình nhỏ, ví dụ như khung (frame).. XHTML Basic lại tiếp tục được phát triển\u003C/p>\n\u003Cp>lên thành XHTML MP bằng việc thêm vào bảy phần tử và thuộc tính mới.\u003C/p>\n\u003Cp>Theo tổ chức W3C, bản thân XHTML là đại diện cho sự thay đổi lớn đầu\u003C/p>\n\u003Cp>tiên của HTML kể từ phiên bản HTML 4.0 được công bố vào năm 1997. XHTML\u003C/p>\n\u003Cp>đã mang lại một cấu trúc rõ ràng cho các trang web, điều này cũng đặc biệt quan\u003C/p>\n\u003Cp>trọng cho các thiết bị di động vốn có giới hạn về màn hình hiển thị và khả năng xử\u003C/p>\n\u003Cp>lý. Tổ chức W3C hiện đang khuyến khích sử dụng XHTML cho sự phát triển các\u003C/p>\n\u003Cp>trang web dành cho các trình duyệt trên máy tính để bàn cũng như các thiết bị khác\u003C/p>\n\u003Cp>bao gồm cả điện thoại cầm tay.\u003C/p>\n\u003Cp>Sử dụng XHTML đảm bảo rằng cùng một nội dung sẽ được hiển thị như\u003C/p>\n\u003Cp>nhau trên các hệ nền khác nhau, từ các nhà cung cấp khác nhau. Điều này không\u003C/p>\n\u003Cp>giống với trường hợp sử dụng WML 1.x, vì nó không đảm bảo tính nhất quán khi\u003C/p>\n\u003Cp>hiển thị nội dung trên các loại thiết bị khác nhau. Khi đó các nhà phát triển và quản\u003C/p>\n\u003Cp>- 46 -\u003C/p>\n\u003Cp>lý nội dung phải đối diện với nhiều khó khăn do sự khác nhau của giao diện người\u003C/p>\n\u003Cp>dùng trên các thiết bị cầm tay khác nhau.\u003C/p>\n\u003Cp>Một số thuận lợi của XHTML so với HTML bao gồm:\u003C/p>\n\u003Cp>(cid:131) Các trang nội dung có thể được kiểm tra tính đúng đắn về cấu trúc\u003C/p>\n\u003Cp>một cách dễ dàng hơn.\u003C/p>\n\u003Cp>(cid:131) Các tài liệu có thể được chuyển đổi định dạng thông qua các công\u003C/p>\n\u003Cp>cụ như XSLT (Extensible Stylesheet Language Transformation )\u003C/p>\n\u003Cp>(cid:131) Các phần trong tài liệu có thể được tìm lại một cách nhanh chóng.\u003C/p>\n\u003Cp>(cid:131) Văn bản có thể được lưu trữ một cách hiệu quả trong cơ sở dữ liệu\u003C/p>\n\u003Cp>hướng đối tượng.\u003C/p>\n\u003Ch4>2.4. XHTML Mobile Profile\u003C/h4>\n\u003Cp>\u003C/p>\n\u003Cp>Tổ chức OMA đã lấy đặc tả XHTML Basic [XHTML] DTD từ tổ chức W3C\u003C/p>\n\u003Cp>và chuyên môn hóa nó cho mục đích sử dụng cho các trình duyệt di động bằng việc\u003C/p>\n\u003Cp>thêm vào các phần tử sau: \u003Chr>, \u003Cb>, \u003Ci>, \u003Cbig>, \u003Csmall>, \u003Cstyle> cũng như việc\u003C/p>\n\u003Cp>cho phép sử dụng thuộc tính định dạng trong các phần tử khác.\u003C/p>\n\u003Cp>Với XHTML MP, một tài liệu có thể được hiển thị trên một số lượng lớn\u003C/p>\n\u003Cp>nhất các trình duyệt web bao gồm cả các điện thoại cầm tay với khả năng hiển thị\u003C/p>\n\u003Cp>khác nhau. Và bởi vì XHTML MP được phê chuẩn bởi cả W3C và OMA nên nó là\u003C/p>\n\u003Cp>một tập đầy đủ các chuẩn dành cho Internet và đảm bảo nó sẽ nhận được sự chấp\u003C/p>\n\u003Cp>nhận rộng rãi trong thời gian hiện tại, cũng như sẽ được tiếp tục phát triển trong một\u003C/p>\n\u003Cp>thời gian dài sắp tới.\u003C/p>\n\u003Ch4>2.5. WAP CSS\u003C/h4>\n\u003Cp>\u003C/p>\n\u003Cp>Trung tâm của XHTML MP là sự hỗ trợ cho chuẩn CSS (Cascading Style\u003C/p>\n\u003Cp>Sheet) - CSS [CSS1] mô tả cách mà các tài liệu được hiển thị trên màn hình của\u003C/p>\n\u003Cp>trình duyệt. W3C đã chủ động xúc tiến việc sử dụng CSS trên Web dùng cho tất cả\u003C/p>\n\u003Cp>các trình duyệt trên máy để bàn và thiết bị di động. Thông qua việc sử dụng CSS,\u003C/p>\n\u003Cp>- 47 -\u003C/p>\n\u003Cp>những người phát triển có thể điều khiển cách trình bày của các tài liệu mà không\u003C/p>\n\u003Cp>phải phụ thuộc vào loại thiết bị hoặc thêm thẻ đánh dấu mới như đã làm trong\u003C/p>\n\u003Cp>WML 1.x.\u003C/p>\n\u003Cp>WAP CSS là một bộ phận của CSS tương ứng cho các thiết bị nhỏ được định\u003C/p>\n\u003Cp>nghĩa bởi OMA; nó bỏ bớt các chi tiết không phù hợp với các thiết bị nhỏ và thêm\u003C/p>\n\u003Cp>vào một vài chi tiết phục vụ cho WAP.\u003C/p>\n\u003Cp>Bằng cách sử dụng CSS, tác giả trang nội dung có thể xác định việc trình\u003C/p>\n\u003Cp>diễn toàn bộ ứng dụng Web tại một chỗ: bảng định dạng (style sheet). Nếu muốn\u003C/p>\n\u003Cp>thay đổi cách trình bày đó, ta có thể thực hiện thay đổi bảng định dạng và việc sửa\u003C/p>\n\u003Cp>đổi sẽ được áp dụng ngay lập tức trên tất cả các trang có tham khảo đến bảng định\u003C/p>\n\u003Cp>dạng đó trong hệ thống.\u003C/p>\n\u003Cp>Hình 2.5-1: Minh họa tham chiếu bảng định dạng bên ngoài tài liệu\u003C/p>\n\u003Cp>CSS tách biệt nội dung của tài liệu hoặc ứng dụng với việc trình bày. Điều\u003C/p>\n\u003Cp>này cho phép ta dễ dàng xây dựng được nhiều phiên bản tương ứng với các trình\u003C/p>\n\u003Cp>duyệt trên cùng một nội dung bằng cách tạo ra các bảng định dạng phù hợp. Ví dụ,\u003C/p>\n\u003Cp>khi một người dùng yêu cầu một tài liệu định dạng, Web server có thể nhận dạng\u003C/p>\n\u003Cp>được loại thiết bị gửi yêu cầu và gửi trả về bảng phiên bản định dạng phù hợp. Bảng\u003C/p>\n\u003Cp>định dạng sẽ được trình duyệt tải về một lần và được lưu lại (cache) để sử dụng cho\u003C/p>\n\u003Cp>các trang sau đó, điều này sẽ giúp cho nâng cao tốc độ xử lý tất cả các trang nội\u003C/p>\n\u003Cp>dung trong website.\u003C/p>\n\u003Cp>Sức mạnh của CSS nằm ở khả năng điều khiển chính xác mà nó cung cấp\u003C/p>\n\u003Cp>cho những người tạo lập tài liệu và khả năng thay đổi sự hiển thị trên bất kỳ thiết bị\u003C/p>\n\u003Cp>- 48 -\u003C/p>\n\u003Cp>nào. Mỗi đặc điểm trình bày của một tài liệu – như định vị, font chữ, thuộc tính của\u003C/p>\n\u003Cp>văn bản, đường viền, canh lề, dàn trang – có thể được định nghĩa trong bảng dịnh\u003C/p>\n\u003Cp>dạng. Khi cần thay đổi một đặc điểm nào đó trên toàn bộ website ta chỉ cần thực\u003C/p>\n\u003Cp>hiện một lần duy nhất.\u003C/p>\n\u003Ch4>2.6. So sánh XHTML với HTML, WML\u003C/h4>\n\u003Cp>\u003C/p>\n\u003Cp>2.6.1. Sự khác nhau giữa XHTML và HTML\u003C/p>\n\u003Cp>XHTML tuân theo một cách nghiêm ngặt cú pháp của ngôn ngữ XML, trong\u003C/p>\n\u003Cp>khi HTML thì không. HTML không đòi hỏi phải bám chặt vào các tập luật của ngôn\u003C/p>\n\u003Cp>ngữ XML, do đó có thể việc hiển thị nội dung không giống nhau trên một số trình\u003C/p>\n\u003Cp>duyệt. Sự tuân thủ nghiệm ngặt các quy luật viết mã của XML đảm bảo một thể\u003C/p>\n\u003Cp>hiện thống nhất về nội dung trên phần lớn các trình duyệt và thiết bị. Nó cũng đảm\u003C/p>\n\u003Cp>bảo tất cả các tài liệu đều đúng định dạng và đúng theo XML, vì thế ta có thể sử\u003C/p>\n\u003Cp>dụng các công cụ XML chuẩn để quản lý, chuyển đổi, thao tác, và phân tích chúng.\u003C/p>\n\u003Cp>\u003CUL>\u003C/p>\n\u003Cp>\u003Cul>\u003C/p>\n\u003Cp>\u003Cli>\u003CB>\u003CI>item\u003C/b> one\u003C/i>\u003C/p>\n\u003Cp>\u003Cli class=\"i\">\u003C/p>\n\u003Cp>\u003CLI>item two\u003C/li>\u003C/p>\n\u003Cp>\u003Cspan class=\"b\">item\u003C/span>\u003C/p>\n\u003Cp>one\u003C/li>\u003C/p>\n\u003Cp>\u003C/ul>\u003C/p>\n\u003Cp>\u003Cli>item two\u003C/li>\u003C/p>\n\u003Cp>\u003CBR>\u003C/p>\n\u003Cp>\u003C/ul>\u003C/p>\n\u003Cp>\u003CA href=document.html>a\u003C/p>\n\u003Cp>link\u003C/a>\u003C/p>\n\u003Cp>\u003Cbr/>\u003C/p>\n\u003Cp>\u003Ca href=\"document.xhtml\">a link\u003C/a>\u003C/p>\n\u003Cp>HTML XHTML MP\u003C/p>\n\u003Cp>Bảng 2.6-1: Các qui tắc XML có trong XHTML nhưng không có trong HTML\u003C/p>\n\u003Cp>- 49 -\u003C/p>\n\u003Cp>Minh họa trên đây sử dụng CSS thuần, không các phần tử \u003Cb> và \u003Ci> lỗi\u003C/p>\n\u003Cp>thời (và thừa nhận các lớp CSS i và b được định nghĩa trong mẫu (style sheet) để áp\u003C/p>\n\u003Cp>dụng các thuộc tính CSS font-style: italic và font-weight: bold, theo thứ tự định\u003C/p>\n\u003Cp>\u003Csmall> giúp cho việc định dạng chữ tiện lợi.\u003C/p>\n\u003Cp>sẵn). Trong thực tế, XHTML MP bao gồm các phần tử \u003Cb>, \u003Ci>, \u003Cbig>,và\u003C/p>\n\u003Cp>Lưu ý những điểm khác nhau sau đây giữa HTML và XHTML MP [12]:\u003C/p>\n\u003Cp>(cid:131) HTML không phân biệt chữ hoa, chữ thường trong các thẻ tên (tag\u003C/p>\n\u003Cp>name). XHTML thì lại phân biệt dạng chữ trong tên tất cả các phần\u003C/p>\n\u003Cp>tử và thuộc tính. Hiện nay, tên của tất cả các phần tử trong XHTML\u003C/p>\n\u003Cp>MP là chữ thường.\u003C/p>\n\u003Cp>(cid:131) Trong cột HTML, thẻ \u003Cli> đầu tiên thiếu thẻ đóng \u003C/li> của nó.\u003C/p>\n\u003Cp>Tất cả các phần tử cần phải được đóng lại trong XHTML.\u003C/p>\n\u003Cp>(cid:131) Các thẻ \u003Cb> và \u003Ci> không được lồng nhau trong mã HTML, việc\u003C/p>\n\u003Cp>lồng nhau này lại không được dùng trong XHTML MP.\u003C/p>\n\u003Cp>(cid:131) Dấu nháy không bao quanh giá trị của thuộc tính href trong mã\u003C/p>\n\u003Cp>HTML. Giá trị các thuộc tính trong XHTML luôn luôn phải nằm\u003C/p>\n\u003Cp>trong dấu nháy đơn hoặc kép.\u003C/p>\n\u003Cp>(cid:131) Tất cả các thẻ rỗng trong XHTML phải được “seft-closing” (tự\u003C/p>\n\u003Cp>đóng); ví dụ, \u003Cbr/> có một dấu / đóng bên trong thẻ để chỉ ra rằng\u003C/p>\n\u003Cp>sẽ không có thẻ đóng \u003C/br> tương ứng. Nó cũng được áp dụng ở\u003C/p>\n\u003Cp>nhiều thẻ khác như \u003Chr/>, \u003Cinput/>,...\u003C/p>\n\u003Cp>(cid:131) Các cặp giá trị thuộc tính không thể bị giảm thiểu như chúng có thể\u003C/p>\n\u003Cp>trong HTML. Trong HTML, khi một thuộc tính có thể mang chỉ một\u003C/p>\n\u003Cp>giá trị, nó được phép bỏ qua giá trị.\u003C/p>\n\u003Cp>- 50 -\u003C/p>\n\u003Cp>\u003Coption value=”somevalue” selected>\u003C/p>\n\u003Cp>Ví dụ bên trong phần tử HTML \u003Cform> ở đoạn mã sau:\u003C/p>\n\u003Cp>thuộc tính “selected” vừa được cực tiểu hoá.\u003C/p>\n\u003Cp>Trong ví dụ trên, trình duyệt HTML cho rằng phần tuỳ chọn nên được hiển\u003C/p>\n\u003Cp>thị là “selected”. Tuy nhiên, XHTML lại yêu cầu phải cung cấp cả tên thuộc tính\u003C/p>\n\u003Cp>\u003Coption value=\"somevalue\" selected=\"selected\">\u003C/p>\n\u003Cp>và giá trị của nó, ngay cả khi chỉ có một giá trị được cho phép:\u003C/p>\n\u003Cp>\u003Cinput type=\"radio\" ... checked=\"checked\" />\u003C/p>\n\u003Cp>\u003Cinput type=\"checkbox\" ... checked=\"checked\" />\u003C/p>\n\u003Cp>\u003Cdl compact=\"compact\">\u003C/p>\n\u003Cp>Luật này cũng được dùng cho cho các phần tử khác. Ví dụ:\u003C/p>\n\u003Cp>Các trình duyệt HTML có thể xử lý được những sự mơ hồ, không rõ ràng với\u003C/p>\n\u003Cp>những tài liệu không đúng theo chuẩn HTML. Tuy nhiên mọi thứ trong XHTML\u003C/p>\n\u003Cp>đều phải được rõ ràng vì nó được tuân theo các luật cú pháp nghiêm ngặt của\u003C/p>\n\u003Cp>XML.\u003C/p>\n\u003Cp>Các trường nhập văn bản hỗ trợ thuộc tính CSS -wap-input-format để\u003C/p>\n\u003Cp>định nghĩa kiểu nhập, ví dụ *N cho kiểu nhập số. Điều này sẽ giúp người dùng\u003C/p>\n\u003Cp>tránh việc chuyển đổi qua lại giữa các kiểu nhập.\u003C/p>\n\u003Cp>2.6.2. Sự khác nhau giữa XHTML và WML 1.x\u003C/p>\n\u003Cp>Sự khác biệt giữa XHTML MP và WML 1.3 bao gồm những điểm sau đây[12]:\u003C/p>\n\u003Cp>(cid:131) Các không gian tên (namespace) của XML không được sử dụng\u003C/p>\n\u003Cp>trong WML 1.3, nhưng nó lại được dùng trong XHTML.\u003C/p>\n\u003Cp>Namespace mặc định được dùng là XHTML.\u003C/p>\n\u003Cp>- 51 -\u003C/p>\n\u003Cp>(cid:131) Trong XHTML MP, phần tử root dạng WML \u003Cwml> đã được loại\u003C/p>\n\u003Cp>bỏ. Thay vào đó là phần tử của XHTML là \u003Chtml> luôn được dùng\u003C/p>\n\u003Cp>như là root.\u003C/p>\n\u003Cp>(cid:131) Trong các mô-đun XHTML thì mọi thứ từ XHTML Basic, phần tử\u003C/p>\n\u003Cp>\u003Chr>, thuộc tính \u003Cstyle>, các phần tử \u003Cb>, \u003Cbig>, \u003CI>, và \u003Csmall>\u003C/p>\n\u003Cp>được dùng đến.\u003C/p>\n\u003Cp>(cid:131) Phần tử \u003Chead> được dùng bắt buộc trong XHTML MP, thế nhưng\u003C/p>\n\u003Cp>nó lại là tuỳ chọn trong WML 1.3.\u003C/p>\n\u003Cp>(cid:131) Phần tử WML \u003Celement> không được dùng đến trong XHTML MP.\u003C/p>\n\u003Cp>(cid:131) Phần tử WML \u003Ccard> cũng không được sử dụng trong XHTML\u003C/p>\n\u003Cp>MP, mà thay vào đó là \u003Cbody>. Chỉ có thể có duy nhất một phần tử\u003C/p>\n\u003Cp>\u003Cbody> trong mỗi file, không giống như \u003Ccard> trong WML 1.x.3\u003C/p>\n\u003Cp>Các đoạn neo (fragment anchor) được sử dụng để liên kết đến một phần khác\u003C/p>\n\u003Cp>thuộc cùng một trang, sau đó người sử dụng có thể quay trở về vị trí ban đầu của\u003C/p>\n\u003Cp>\u003Ca href=\"#h\">Help\u003C/a>\u003C/p>\n\u003Cp>...\u003C/p>\n\u003Cp>\u003Ca name=\"h\">Help text\u003C/a>\u003C/p>\n\u003Cp>mình bằng cách sử dụng thanh cuộn trên trang. Ví dụ như đoạn code sau đây:\u003C/p>\n\u003Cp>Liên kết đầu tiên sẽ xuất hiện là Help và khi nó được chọn sẽ ngay lập tức\u003C/p>\n\u003Cp>sẽ chuyển đến phần trang với anchor có tên “h”.\u003C/p>\n\u003Cp>Thuộc tính WML order không được dùng trong XHTML MP.\u003C/p>\n\u003Cp>\u003Cdo>,\u003C/p>\n\u003Cp>\u003Contimer>,\u003C/p>\n\u003Cp>\u003Conenterforward>,\u003C/p>\n\u003Cp>\u003Conenterbackward>,\u003C/p>\n\u003Cp>\u003Conevent>, \u003Conpick>, \u003Cgo>, \u003Cpre>, \u003Cnoop> và \u003Cpostfield>.\u003C/p>\n\u003Cp>Các sự kiện trong WML không được hỗ trợ trong XHTML MP, ví dụ như:\u003C/p>\n\u003Cp>Phần tử WML \u003Cdo> không được sử dụng trong XHTML MP.\u003C/p>\n\u003Cp>- 52 -\u003C/p>\n\u003Cp>Trình duyệt Nokia Mobile Browser có một điểm đặc biệt là thường đặt các\u003C/p>\n\u003Cp>liên kết quan trọng vào trong phần menu Options của điện thoại (các nhà sản xuất\u003C/p>\n\u003Cp>khác nhau có thể sử dụng những hệ thống menu khác tương ứng của mình). Đối với\u003C/p>\n\u003Cp>Nokia Mobile Browser, tất cả các liên kết và các nút Submit đều chứa thuộc tính\u003C/p>\n\u003Cp>accesskey,thuộc tính này được tự động thêm vào menu Option. Nhãn dùng trong\u003C/p>\n\u003Cp>menu Options là nội dung những đề mục của phần tử \u003Ca> (hay nếu nó chỉ chứa một\u003C/p>\n\u003Cp>hình ảnh, khi đó sẽ là giá trị thuộc tính alt của img, hay là value của nút Submit.\u003C/p>\n\u003Cp>Phần chữ sẽ bị bỏ đi nếu như cần phải điều chỉnh lại menu cho vừa.\u003C/p>\n\u003Cp>Đặc điểm này bảo đảm rằng người luôn có thể sử dụng các nối kết một cách\u003C/p>\n\u003Cp>nhanh chóng, mà không cần quan tâm đến là chúng nằm ở đâu trong trang hiện\u003C/p>\n\u003Cp>hành. Đặc điểm hay tương đương (và thậm chí còn đơn giản hơn) phần tử \u003Cdo>\u003C/p>\n\u003Cp>trong WML 1.x.\u003C/p>\n\u003Cp>Sẽ là hợp lệ trong WML khi các phần tử \u003Ctable> nằm bên trong các đoạn\u003C/p>\n\u003Cp>văn. Thế nhưng điều này lại là không hợp lệ trong chuẩn XHTML. Tuy nhiên, nhằm\u003C/p>\n\u003Cp>để hổ trợ cho sự chuyển đổi giữa từ WML 1.3 sang WML 2.0 các bảng nằm bên\u003C/p>\n\u003Cp>trong đoạn văn được cho phép dùng trong XHTML MP, và Nokia Mobile Browser\u003C/p>\n\u003Cp>có hỗ trợ tính năng này.\u003C/p>\n\u003Cp>Phần tử \u003Cpre> có thể bao gồm các phần tử điều khiển trên form như \u003Cinput>\u003C/p>\n\u003Cp>và \u003Cselect>. Các phần tử này là không hợp lệ trong XHTML. Tuy nhiên, nhằm để\u003C/p>\n\u003Cp>biến đổi từ WML 1.3 sang XHTML MP, các phần tử bên trong \u003Cpre> đều được cho\u003C/p>\n\u003Cp>phép trong XHTML MP, và Nokia Mobile Browser hỗ trợ.\u003C/p>\n\u003Cp>Các phần tử nhập liệu không được hỗ trợ các thuộc tính format của WML\u003C/p>\n\u003Cp>input-format, đặc tính này có cùng cú pháp với thuộc tính format của WML.\u003C/p>\n\u003Cp>(dùng để việc nhập ký tự). Thay vào đó là sử dụng một đặc tính mới là CSS –wap-\u003C/p>\n\u003Cp>Sẽ luôn là một ý kiến hay khi xử lý các giá trị form trên server, và nếu như\u003C/p>\n\u003Cp>có lỗi xảy ra, quay trở lại form với các giá trị được chấp nhận và một thông điệp\u003C/p>\n\u003Cp>nhằm để hiệu chỉnh lỗi.\u003C/p>\n\u003Cp>- 53 -\u003C/p>\n\u003Cp>Với XHTML MP, thuộc tính accesskey được hỗ trợ trong các phần tử \u003Ca>,\u003C/p>\n\u003Cp>\u003Cinput>, \u003Clabel> và \u003Ctextarea>. Tuy nhiên, cũng phải lưu ý là accesskey có thể\u003C/p>\n\u003Cp>không được hỗ trợ trong tất cả các thiết bị.\u003C/p>\n\u003Cp>Phần tử định dạng \u003Cu> của WML không được hỗ trợ trong XHTML MP.\u003C/p>\n\u003Cp>Một cách được đề nghị để thực hiện được điều này trong XHTML MP là dùng một\u003C/p>\n\u003Cp>lớp CSS, bằng cách định nghĩa theo cách như sau trong mẫu ngoài (external style\u003C/p>\n\u003Cp>.u {text-decoration:underline}\u003C/p>\n\u003Cp>sheet):\u003C/p>\n\u003Cp>\u003Cspan class=\"u\">This is underlined\u003C/span>\u003C/p>\n\u003Cp>Sau đó sử dụng phần tử span với một lớp để sử dụng kiểu này; ví dụ:\u003C/p>\n\u003Cp>Các phần tử WML 1.x khác không được hỗ trợ trong XHTML MP. Diễn đàn\u003C/p>\n\u003Cp>về WAP đã định nghĩa một nhánh mở rộng dành cho XHTML MP gọi là WML 2.0.\u003C/p>\n\u003Cp>WML 2.0 bao gồm các phần tử “tương hợp” của WML 1.x (chẳng hạn như:\u003C/p>\n\u003Cp>\u003Cwml:card>, \u003Cwml:do>, v.v...), chúng được tự động dịch sang WML 2.0 nhờ vào\u003C/p>\n\u003Cp>các WAP gateway. Do Nokia Mobile Browser có hỗ trợ sẵn WML 1.x, nên việc\u003C/p>\n\u003Cp>biên dịch sẽ là không cần thiết [11] [12].\u003C/p>\n\u003Cp>- 54 -\u003C/p>\n\u003Cp>WML 1.x XHTML Mobile Profile và CSS\u003C/p>\n\u003Cp>Sự chuẩn hoá Chuẩn này được phát triển Chuẩn này được phát triển bởi\u003C/p>\n\u003Cp>bởi WAP Forum W3C và được sự chấp nhận của\u003C/p>\n\u003Cp>OMA\u003C/p>\n\u003Cp>Hiển thị nội dung Nội dung và cách trình bày Nội dung và cách trình bày được\u003C/p>\n\u003Cp>trên thiết bị được định nghĩa trong cùng định nghĩa trong trong các tài\u003C/p>\n\u003Cp>một tài liệu, điều này khiến liệu riêng, do đó cùng một nội\u003C/p>\n\u003Cp>cho việc hiển thị bị biến đổi dung sẽ thể hiện theo cáchkhác\u003C/p>\n\u003Cp>trên các thiết bị khác nhau. nhau nhờ vào các bảng định\u003C/p>\n\u003Cp>dạng khác nhau.\u003C/p>\n\u003Cp>Mã hoá nội dung Nội dung cần được mã hoá Không cần mã hoá\u003C/p>\n\u003Cp>thành dạng nhị phân\u003C/p>\n\u003Cp>Hỗ trợ màu sắc Chỉ hỗ trợ các ảnh màu, Đầy đủ các điều khiển màu sắc\u003C/p>\n\u003Cp>không hỗ trợ cho font chữ, hỗ trợ font chữ, màu nền và\u003C/p>\n\u003Cp>màu nền và các đường đường viền…với CSS trên các\u003C/p>\n\u003Cp>viền… thiết bị có hỗ trợ màu.\u003C/p>\n\u003Cp>Bảng 2.6-2: Những khác nhau phổ biến giữa XHTML MP với CSS và WML 1.x\u003C/p>\n\u003Ch4>2.7. Các giao thức chuyển tải WML và XHTML\u003C/h4>\n\u003Cp>\u003C/p>\n\u003Cp>WAP 1.2.1 cũng như các site dành cho thiết bị di động được cấu hình để có\u003C/p>\n\u003Cp>thể nhận biết và xử lý các nội dung được viết bằng WML 1.x. WML cần một WAP\u003C/p>\n\u003Cp>gateway để mã hóa WML và WMLScript trước khi nó được gửi trên đường truyền\u003C/p>\n\u003Cp>(thường là sóng lan truyền trong không khí) đến thiết bị di động đầu cuối. Nội dung\u003C/p>\n\u003Cp>được mã hóa sang dạng nhị phân được gọi là WBXML.\u003C/p>\n\u003Cp>- 55 -\u003C/p>\n\u003Cp>Hình 2.7-1: Sự truyền tải nội dung WML\u003C/p>\n\u003Cp>Không giống như nội dung WML, các nội dung được viết bằng XHTML\u003C/p>\n\u003Cp>không cần phải được mã hóa tại WAP gateway mà sẽ chuyển thẳng đi mà không\u003C/p>\n\u003Cp>thay đổi gì cả. Bởi vì các nội dung WML đang tồn tại vẫn còn hữu dụng trong một\u003C/p>\n\u003Cp>thời gian nữa nên các trình duyệt hỗ trợ chuẩn WAP 2.0 có thể hiển thị cả các nội\u003C/p>\n\u003Cp>dung XHTML MP và WML 1.x. Những trình duyệt như thế được gọi là trình duyệt\u003C/p>\n\u003Cp>chế độ kép (dual-mode browser).\u003C/p>\n\u003Cp>Hình 2.7-2: Sự truyền tải nội dung XHTML\u003C/p>\n\u003Cp>- 56 -\u003C/p>\n\u003Cp>Hình 2.7-3: Sự truyền tải phối hợp WML và XHTML\u003C/p>\n\u003Ch4>2.8. Cuộc cách mạng của trình duyệt WAP\u003C/h4>\n\u003Cp>\u003C/p>\n\u003Cp>Chính sự hiệu quả của chuẩn WAP 2.0, các thiết bị cầm tay mà cụ thể là các\u003C/p>\n\u003Cp>thế hệ điện thoại di động mới gần đây đã đẩy mạnh hỗ trợ WAP 2.0. Nokia là một\u003C/p>\n\u003Cp>trong những nhãn hiệu hàng đầu với phần lớn các model điện thoại có hỗ trợ WAP\u003C/p>\n\u003Cp>2.0.\u003C/p>\n\u003Cp>- 57 -\u003C/p>\n\u003Ch4>Các thế hệ trình\u003C/h4>\n\u003Ch4>Các đặc điểm và tính năng chính\u003C/h4>\n\u003Ch4>duyệt WAP\u003C/h4>\n\u003Cp>Màn hình trắng đen\u003C/p>\n\u003Cp>Sử dụng chuẩn WML, WAP stack\u003C/p>\n\u003Cp>Giá của dịch vụ được tính trên thời gian truy\u003C/p>\n\u003Cp>cập.\u003C/p>\n\u003Cp>Thời gian kết nối/thiết lập cao (15-30 giây cho\u003C/p>\n\u003Cp>trang đầu tiên)\u003C/p>\n\u003Cp>Màn hình màu\u003C/p>\n\u003Cp>Công nghệ mạng GPRS, WAP Push, Cookies\u003C/p>\n\u003Cp>Giá của dịch vụ được tính trên dung lượng sử\u003C/p>\n\u003Cp>dụng\u003C/p>\n\u003Cp>Thời gian kết nối nhanh (\u003C3s cho trang đầu\u003C/p>\n\u003Cp>tiên)\u003C/p>\n\u003Cp>Màn hình màu kích thước lớn hơn, độ phân giải\u003C/p>\n\u003Cp>và số màu cao hơn\u003C/p>\n\u003Cp>Công nghệ WAP CSS, TCP/IP stack\u003C/p>\n\u003Cp>Khả năng hiển thị hình ảnh và điều khiển cao\u003C/p>\n\u003Cp>Dễ dàng chuyển đổi nội dung để phù hợp với\u003C/p>\n\u003Cp>các thiết bị di động khác nhau\u003C/p>\n\u003Cp>Hỗ trợ caching giúp tốc độ truy cập dịch vụ cao\u003C/p>\n\u003Cp>hơn\u003C/p>\n\u003Cp>Có thể download các file kích thước lớn.\u003C/p>\n\u003Cp>Bảng 2.8-1: Cuộc cách mạng trình duyệt WAP trên các thế hệ điện thoại di \nđộng của Nokia\u003C/p>\n\u003Cp>- 58 -\u003C/p>\n\u003Cp>Với khả năng thích ứng cao, XHTML hứa hẹn sẽ thúc đẩy lượng thông tin trao đổi\u003C/p>\n\u003Cp>thông qua các thiết bị di động.\u003C/p>\n\u003Cp>- 59 -\u003C/p>\n\u003Ch3>PHẦN II.\u003C/h3>\n\u003Ch3>CÔNG CỤ TÌM KIẾM\u003C/h3>\n\u003Ch3>SEARCH ENGINE\u003C/h3>\n\u003Cp>- 60 -\u003C/p>\n\u003Ch4>Chương 3. TỔNG QUAN VỀ MÁY TÌM KIẾM\u003C/h4>\n\u003Ch4>3.1. Sơ lược về máy tìm kiếm\u003C/h4>\n\u003Cp>Máy tìm kiếm là một công cụ rất hữu ích giúp người dùng sử dụng nguồn tài\u003C/p>\n\u003Cp>nguyên trên Internet một cách hiệu quả nhất. Dựa vào máy tìm kiếm con người có\u003C/p>\n\u003Cp>thể tìm được rất nhiều thông tin liên quan đến mọi ngành, mọi lĩnh vực. Một hệ\u003C/p>\n\u003Cp>thống tìm kiếm thông tin bao gồm 3 mô-đun cơ bản:\u003C/p>\n\u003Cp>(cid:131) Thu thập thông tin từ internet.\u003C/p>\n\u003Cp>(cid:131) Phân tích, lượng hoá và rút trích thông tin cần thiết để lưu trữ vào cơ sở\u003C/p>\n\u003Cp>dữ liệu hệ thống\u003C/p>\n\u003Cp>(cid:131) Tiếp nhận yêu cầu từ người sử dụng, thực hiện tìm kiếm trong cơ sở dữ\u003C/p>\n\u003Cp>liệu và trả kết quả về cho người sử dụng.\u003C/p>\n\u003Cp>Mỗi mo-đun có nhiều cách tiếp cận khác nhau, nên một hệ thống tìm kiếm\u003C/p>\n\u003Cp>cũng sẽ có phương thức xử lý và hoạt động khác nhau.\u003C/p>\n\u003Ch4>3.2. Phân loại máy tìm kiếm\u003C/h4>\n\u003Cp>\u003C/p>\n\u003Cp>Theo David P.Habib và Robert L.Barriot[6] có bốn loại công cụ tìm kiếm tất\u003C/p>\n\u003Cp>cả, đó là:\u003C/p>\n\u003Cp>(cid:131) Công cụ tìm kiếm thư mục (A directory search tool): tìm thông tin\u003C/p>\n\u003Cp>theo chủ đề, đó là dạng tìm phân cấp.\u003C/p>\n\u003Cp>(cid:131) Công cụ máy tìm kiếm : tìm thông tin theo từ khoá.\u003C/p>\n\u003Cp>(cid:131) Công cụ máy tìm kiếm cùng với thư mục: tìm kiếm dựa trên cả\u003C/p>\n\u003Cp>chủ đề và từ khoá .\u003C/p>\n\u003Cp>(cid:131) Công cụ máy tìm kiếm meta: sử dụng kết quả từ các máy tìm kiếm\u003C/p>\n\u003Cp>khác.\u003C/p>\n\u003Cp>- 61 -\u003C/p>\n\u003Cp>Vì mục tiêu chính của đề tài là nghiên cứu về công cụ máy tìm kiếm nên\u003C/p>\n\u003Cp>phần sau chỉ trình bày chi tiết hai loại, đó là máy tìm kiếm meta và máy tìm kiếm\u003C/p>\n\u003Cp>thông thường.\u003C/p>\n\u003Cp>3.2.1. Máy tìm kiếm meta\u003C/p>\n\u003Cp>Không giống như những máy tìm kiếm thông thường khác, máy tìm kiếm\u003C/p>\n\u003Cp>meta không có cơ sở dữ liệu riêng cũng như không có hệ thống lập chỉ mục tài liệu\u003C/p>\n\u003Cp>và robot. Chính vì vậy máy tìm kiếm meta hoạt động dựa vào cơ sở dữ liệu của\u003C/p>\n\u003Cp>những hệ thống khác. Tiếp nhận câu truy vấn của người dùng, dựa vào cơ sở dữ liệu\u003C/p>\n\u003Cp>của những hệ thống khác chọn ra những tài liệu có độ tương thích cao (cần phải\u003C/p>\n\u003Cp>chọn bao nhiêu, phải chọn thế nào tuỳ vào đặc điểm của từng hệ thống cụ thể) và trả\u003C/p>\n\u003Cp>kết quả cho người dùng[3][4].\u003C/p>\n\u003Cp>Trong một máy tìm kiếm meta, ta nhập từ khoá cần tìm vào, nó sẽ chuyển từ\u003C/p>\n\u003Cp>đó đồng thời đến nhiều máy tìm kiếm cá nhân, trong một vài giây, ta nhận kết quả\u003C/p>\n\u003Cp>trả về từ tất cả những máy tìm kiếm được truy vấn.\u003C/p>\n\u003Cp>Ý tưởng của việc tìm kiếm meta thì rất tốt, sẽ tiết kiệm nhiều thời gian bởi\u003C/p>\n\u003Cp>việc tìm kiếm chỉ ở một nơi và không cần đến việc sử dụng và học một số máy tìm\u003C/p>\n\u003Cp>kiếm khác nhau.\u003C/p>\n\u003Cp>Có ba loại của máy tìm kiếm meta vào thời điểm này[3]:\u003C/p>\n\u003Cp>(cid:131) Trước tiên, những công cụ máy tìm kiếm meta sử dụng cho việc đào\u003C/p>\n\u003Cp>sâu trong nhiều nguồn tài nguyên, với khả năng hùng mạnh giúp tìm\u003C/p>\n\u003Cp>những gì cần thiết nằm trong kết quả tìm kiếm. Các công cụ dạng\u003C/p>\n\u003Cp>này[3] là:\u003C/p>\n\u003Cp>- 62 -\u003C/p>\n\u003Cp>Khả năng Công cụ tìm Công cụ thực hiện Kết quả hiển thị nâng cao kiếm meta\u003C/p>\n\u003Cp>Chấp nhận Vào bộ tìm kiếm và Kết quả có thể được sắp SurfWax\u003C/p>\n\u003Cp>http:// \nwww.surfwax.com/\u003C/p>\n\u003Cp>“ “, +/-. chọn từ một danh sách xếp theo độ chính\u003C/p>\n\u003Cp>Mặc định của các máy tìm kiếm xác,hoặc theo thứ tự tiêu\u003C/p>\n\u003Cp>là AND gồm: AOL, Alltheweb, đề A-Z.\u003C/p>\n\u003Cp>giữa các từ. , Excite, Google, Chọn liên kết nguồn để\u003C/p>\n\u003Cp>Hotbot, MSN, NBCi, xem kết quả tìm được.\u003C/p>\n\u003Cp>Opendirectory, Yahoo! FocusWords từ một\u003C/p>\n\u003Cp>trang đại diện ngữ cảnh. Có thể trộn với\u003C/p>\n\u003Cp>educational, US Govt Thống kê hình ảnh và\u003C/p>\n\u003Cp>tools, nguồn tin tức liên kết trên những trang\u003C/p>\n\u003Cp>hoặc nhiều loại khác. chung.\u003C/p>\n\u003Cp>Chọn Google và những ALL, Phải được download và Copernic Basic\u003C/p>\n\u003Cp>công cụ khác từ danh ANY, cài đặt, nhưng phiên bản 2001\u003C/p>\n\u003Cp>http:// \nwww.copernic.com/\u003C/p>\n\u003Cp>sách những máy tìm Phrase, cơ bản thì miễn phí.\u003C/p>\n\u003Cp>kiếm bằng cách ấn vào more. Tìm Có nhiều đặc tính có lợi,\u003C/p>\n\u003Cp>nút Properties ở hộp luận lí . có thể thay đổi kết qủa\u003C/p>\n\u003Cp>tìm nâng cao. Tích hợp hiển thị, tìm lại mục\u003C/p>\n\u003Cp>Một vài chọn lựa tốt: với Internet trước.\u003C/p>\n\u003Cp>Altavista, AOL, Explorer ,\u003C/p>\n\u003Cp>Euroseek, không\u003C/p>\n\u003Cp>Fast/alltheweb, Google, dùng\u003C/p>\n\u003Cp>Hotbot.v.v. Netscape.\u003C/p>\n\u003Cp>Bảng 3.2-1: Các công cụ tìm kiếm meta dạng 1\u003C/p>\n\u003Cp>(cid:131) Thứ hai là máy tìm kiếm meta Good, chấp nhận những tìm kiếm\u003C/p>\n\u003Cp>phức tạp, tích hợp kết quả tốt, loại trừ trùng lấp, và những đặc tính\u003C/p>\n\u003Cp>- 63 -\u003C/p>\n\u003Cp>truyền thống như sắp xếp thông minh hoặc phân nhóm dựa vào đề\u003C/p>\n\u003Cp>tài trong kết quả tìm kiếm. Các công cụ dạng này[3] là:\u003C/p>\n\u003Cp>Công cụ để thực Khả năng tìm Công cụ tìm kiếm meta Kết quả hiển thị hiện tìm phức tạp\u003C/p>\n\u003Cp>AOL, All the Dịch những tìm Chọn 10 dòng Ixquick\u003C/p>\n\u003Cp>web, Ask kiếm phức tạp đầu của kết quả http://www.ixquick.com/\u003C/p>\n\u003Cp>Jeeves/Direct Hit, vừa phải thành tìm từ mỗi máy\u003C/p>\n\u003Cp>Entireweb, Go, cú pháp lệnh tìm kiếm và\u003C/p>\n\u003Cp>HotBot,.v.v. của máy tìm gộp chung kết\u003C/p>\n\u003Cp>quả( tập hợp kiếm, hỗ trợ\u003C/p>\n\u003Cp>kết quả ). những dạng căn\u003C/p>\n\u003Cp>bản của luận lí Loại bỏ trùng\u003C/p>\n\u003Cp>và cụm từ lấp\u003C/p>\n\u003Cp>nhưng không hỗ\u003C/p>\n\u003Cp>trợ sử dụng kí\u003C/p>\n\u003Cp>tự đại diện, dấu\u003C/p>\n\u003Cp>ngoặc đơn,\u003C/p>\n\u003Cp>NEAR.\u003C/p>\n\u003Cp>Alltheweb/Fast. Chấp nhận và Kết quả đi kèm Vivisimo\u003C/p>\n\u003Cp>Yahoo!, MSN, dịch những tìm với sự chia nhỏ http://www.vivisimo.com/\u003C/p>\n\u003Cp>AOL, Netscape kiếm phức tạp chủ đề dựa vào\u003C/p>\n\u003Cp>và một vài khả với toán tử luận những từ trong\u003C/p>\n\u003Cp>năng khác cho lí. kết quả tìm\u003C/p>\n\u003Cp>những trang web kiếm\u003C/p>\n\u003Cp>chung,\u003C/p>\n\u003Cp>Bảng 3.2-2: Các công cụ tìm kiếm meta dạng 2\u003C/p>\n\u003Cp>- 64 -\u003C/p>\n\u003Cp>(cid:131) Thứ ba là máy tìm kiếm meta mà tìm một số nơi và trả kết quả\u003C/p>\n\u003Cp>không có những đặc tính trên[3].\u003C/p>\n\u003Cp>Những mặt không thuận lợi của loại này:\u003C/p>\n\u003Cp>(cid:131) Hầu hết những máy tìm kiếm meta có sẵn miễn phí đều tìm trên\u003C/p>\n\u003Cp>Google.\u003C/p>\n\u003Cp>(cid:131) Nếu kết quả không tìm thấy, điều mà ta có thể làm là thêm một thuật\u003C/p>\n\u003Cp>ngữ và tìm nơi nào máy tìm kiếm meta đang gởi nó.\u003C/p>\n\u003Cp>(cid:131) Không có máy tìm kiếm meta nào truy vấn đến tất cả máy tìm kiếm\u003C/p>\n\u003Cp>mà nó muốn truy vấn. Chúng tìm những gì có sẵn ở lúc ta submit\u003C/p>\n\u003Cp>truy vấn, và ta không biết chắc những gì nó truy vấn cho đến khi đọc\u003C/p>\n\u003Cp>được kết quả.\u003C/p>\n\u003Cp>3.2.2. Máy tìm kiếm thông thường\u003C/p>\n\u003Cp>3.2.2.1. Nguyên lý hoạt động của một máy tìm kiếm\u003C/p>\n\u003Cp>Một máy tìm kiếm cơ bản gồm ba phần chính[2], mô tả như hình vẽ 3.2-1:\u003C/p>\n\u003Cp>- 65 -\u003C/p>\n\u003Cp>Hình 3.2-1: Mô hình hoạt động của máy tìm kiếm\u003C/p>\n\u003Cp>3.2.2.2. Hệ thống thu thập dữ liệu (robot, spider,crawler…)\u003C/p>\n\u003Cp>Chịu trách nhiệm tìm thông tin trên Internet từ địa chỉ URL cho trước. Thông\u003C/p>\n\u003Cp>thường hệ thống máy tìm kiếm có một server chịu trách nhiệm gửi những URL cho\u003C/p>\n\u003Cp>các robot. Robot tải tài liệu về và lưu trong kho dữ liệu, rồi lại tiếp tục nhận URL\u003C/p>\n\u003Cp>khác, tiến trình hoạt động liên tục từ khi khởi động hệ thống. Robot lấy những nội\u003C/p>\n\u003Cp>dung dạng văn bản, còn hình ảnh hay âm thanh hay những dữ liệu không thể đánh\u003C/p>\n\u003Cp>chỉ mục thì bỏ qua[5][1].\u003C/p>\n\u003Cp>3.2.2.3. Hệ thống phân tích và lập chỉ mục dữ liệu\u003C/p>\n\u003Cp>(Hay còn gọi là hệ thống lập chỉ mục(indexer)):\u003C/p>\n\u003Cp>Chịu trách nhiệm phân tích tài liệu và lập chỉ mục thông tin cho tài liệu đó.\u003C/p>\n\u003Cp>Từ kho dữ liệu hệ thống lập chỉ mục tiến hành lấy từng tài liệu trong kho, lọc bỏ\u003C/p>\n\u003Cp>thông tin thừa(loại bỏ tag định dạng, ghi chú, script …), phân tích các siêu liên kết\u003C/p>\n\u003Cp>- 66 -\u003C/p>\n\u003Cp>và lưu chúng vào danh sách URL, bỏ các từ stop word (từ không có nghĩa trong tài\u003C/p>\n\u003Cp>liệu), đưa tài liệu về dạng thuần văn bản, tiến hành phân tích từ sau đó tính trọng số\u003C/p>\n\u003Cp>của từ đó và lập chỉ mục cho chúng và lưu chúng vào cơ sở dữ liệu. Bên cạnh kỹ\u003C/p>\n\u003Cp>thuật trên Google áp dụng phương pháp tính độ quan trọng của tài liệu(pagerank)\u003C/p>\n\u003Cp>dựa vào số lượng liên kết chỉ đến tài liệu. Ý tưởng đó là nếu một tài liệu có nhiều\u003C/p>\n\u003Cp>liên kết (hyperlink), hoặc từ một tài liệu có độ quan trọng cao chỉ đến thì được coi\u003C/p>\n\u003Cp>như là tài liệu đó cũng có độ quan trọng cao. Dựa vào kỹ thuật mà Google tự hào\u003C/p>\n\u003Cp>rằng mình có thể tìm kiếm được file ảnh, âm thành và những tài liệu phi văn bản\u003C/p>\n\u003Cp>khác[1].\u003C/p>\n\u003Cp>3.2.2.4. Hệ thống tìm kiếm (truy vấn dữ liệu)\u003C/p>\n\u003Cp>Tiếp nhận câu truy vấn của người dùng thông qua giao diện web, phân tích\u003C/p>\n\u003Cp>câu truy vấn và trả kết quả tìm kiếm. Hệ thống này phân tích câu truy vấn của người\u003C/p>\n\u003Cp>dùng cũng giống như phương pháp phân tích từ của hệ thống lập chỉ mục, điều này\u003C/p>\n\u003Cp>nhằm nâng cao độ tương tự và tính chính xác của hệ thống. Sau đó tiến hành tìm\u003C/p>\n\u003Cp>kiếm trên cơ sở dữ liệu đã được lập chỉ mục và trả kết quả tìm kiếm cho người\u003C/p>\n\u003Cp>dùng[2].\u003C/p>\n\u003Cp>*** Ghi chú: Các thao tác như lập chỉ mục, cập nhật thông tin, bảo quản nội\u003C/p>\n\u003Cp>dung trong cơ sở dữ liệu phải diễn ra thường xuyên để đảm bảo thông tin luôn\u003C/p>\n\u003Cp>đúng.\u003C/p>\n\u003Cp>- 67 -\u003C/p>\n\u003Ch4>Chương 4. MÁY TÌM KIẾM HỖ TRỢ THIẾT BỊ DI ĐỘNG\u003C/h4>\n\u003Ch4>4.1. Tìm hiểu các dịch vụ tìm kiếm hỗ trợ thiết bị di động hiện có\u003C/h4>\n\u003Cp>4.1.1. Google Mobile Search\u003C/p>\n\u003Cp>Tháng 6/2005 vừa qua, đại gia về lĩnh vực tìm kiếm Google đã chính thức\u003C/p>\n\u003Cp>thử nghiệm một công cụ tìm kiếm hỗ trợ cho các thiết bị di động. Với khả năng truy\u003C/p>\n\u003Cp>cập thông tin trực tuyến trên 8 tỉ trang web và 1 tỉ hình ảnh [13].\u003C/p>\n\u003Cp>Hình 4.1-1: Google Mobile Search\u003C/p>\n\u003Cp>Các ngôn ngữ đánh dấu hỗ trợ:\u003C/p>\n\u003Cp>(cid:131) XHTML (WAP 2.0)\u003C/p>\n\u003Cp>(cid:131) WML (WAP 1.2)\u003C/p>\n\u003Cp>(cid:131) iMode1\u003C/p>\n\u003Cp>(cid:131) PDA Devices\u003C/p>\n\u003Cp>1 iMode là một dịch vụ internet di động của NTTDoCoMo nhằm mục đích tạo ra các trang web sử dụng một \ndạng ngôn ngữ thuộc họ HTML (cHTML) hiển thị trên các trình duyệt Web di động.\u003C/p>\n\u003Cp>- 68 -\u003C/p>\n\u003Cp>Google hỗ trợ giao diện trên một số ngôn ngữ bao gồm: Trung Quốc, Đan\u003C/p>\n\u003Cp>Mạch, Hà Lan, Anh, Phần Lan, Pháp, Đức, Ý, Nhật, Hàn Quốc, Na Uy, Bồ Đào\u003C/p>\n\u003Cp>Nha, Rumani, Tây Ban Nha và Thụy Điển.\u003C/p>\n\u003Cp>Với việc sử dụng ngôn ngữ XHTML cùng với WAP CSS, Google Mobile\u003C/p>\n\u003Cp>Search đã tạo nên một bước tiến mới trong việc hỗ trợ chức năng tìm kiếm hình ảnh\u003C/p>\n\u003Cp>và các trang web phức tạp, so với các công cụ đã có trước đây.\u003C/p>\n\u003Cp>Google Mobile Search gồm có hai chức năng chính:\u003C/p>\n\u003Cp>(cid:131) Tìm kiếm trang web: khi chọn một liên kết trả về, Google sẽ định dạng\u003C/p>\n\u003Cp>lại trang nội dung này cho phù hợp với kích thước mà hình điện thoại của\u003C/p>\n\u003Cp>người sử dụng.\u003C/p>\n\u003Cp>Hình 4.1-2: Chức năng tìm kiếm trang web của Google Mobile Search\u003C/p>\n\u003Cp>(cid:131) Tìm kiếm hình ảnh: dùng cho các thiết bị có hỗ trợ XHTML và iMode.\u003C/p>\n\u003Cp>Sau khi nhận được kết quả trả về, Google cũng định dạng lại cho phù hợp\u003C/p>\n\u003Cp>với màn hình hiển thị.\u003C/p>\n\u003Cp>- 69 -\u003C/p>\n\u003Cp>Hình 4.1-3: Chức năng tìm kiếm hình ảnh của Google Mobile Search\u003C/p>\n\u003Cp>- 70 -\u003C/p>\n\u003Cp>4.1.2. Các máy tìm kiếm trên WAP hiện nay\u003C/p>\n\u003Cp>AllTheWeb\u003C/p>\n\u003Cp>URL Chức năng\u003C/p>\n\u003Cp>mobile.alltheweb.com\u003C/p>\n\u003Cp>Tìm kiếm HDML, WAP, i-mode, và các trang PDA.\u003C/p>\n\u003Cp>Andamas\u003C/p>\n\u003Cp>Máy tìm kiếm hiệu quả với chức năng tìm kiếm hình\u003C/p>\n\u003Cp>ảnh và một danh mục đường dẫn WAP hoàn chỉnh.\u003C/p>\n\u003Cp>Cellno.net\u003C/p>\n\u003Cp>Có khả năng tìm kiếm trên môi trường không dây và\u003C/p>\n\u003Cp>Google WAP Site\u003C/p>\n\u003Cp>danh bạ điện thoại.\u003C/p>\n\u003Cp>www.google.com/wml\u003C/p>\n\u003Cp>Máy tìm kiếm hỗ trợ thiết bị di động mới hỗ trợ\u003C/p>\n\u003Cp>Seek4Wap.com\u003C/p>\n\u003Cp>XHTML.\u003C/p>\n\u003Cp>wap.seek4wap.com\u003C/p>\n\u003Cp>WAPALL http://www.wapall.com/\u003C/p>\n\u003Cp>Máy tìm kiếm cho WAP hỗ trợ 8 ngôn ngữ.\u003C/p>\n\u003Cp>Yahoo UK WAP Site\u003C/p>\n\u003Cp>wap.yahoo.co.uk\u003C/p>\n\u003Cp>Portal WAP của Yahoo\u003C/p>\n\u003Cp>Yahoo UK Web Site\u003C/p>\n\u003Cp>Yahoo! Mobile Web Site\u003C/p>\n\u003Cp>Danh mục WAP / máy tìm kiếm WAP\u003C/p>\n\u003Cp>Bảng 4.1-1: Các máy tìm kiếm hỗ trợ WML và WAP\u003C/p>\n\u003Ch4>4.2. Chuyển đổi các tài liệu sẵn có từ chuẩn web sang WAP\u003C/h4>\n\u003Cp>\u003C/p>\n\u003Cp>4.2.1. Nhu cầu chuyển đổi\u003C/p>\n\u003Cp>Trong những năm gần đây việc truy cập thông tin di động ngày càng trở nên\u003C/p>\n\u003Cp>phổ biến. Ngày càng nhiều các thiết bị phần cứng hỗ trợ chức năng duyệt WAP, và\u003C/p>\n\u003Cp>thậm chí cả những trang web theo định dạng HTML (tuy vẫn còn rất hạn chế). Để\u003C/p>\n\u003Cp>- 71 -\u003C/p>\n\u003Cp>có thể đáp ứng được nhu cầu thông tin đang bùng nổ của công nghệ không dây thì\u003C/p>\n\u003Cp>làm sao trong thời gian ngắn có thể cung cấp lượng thông tin đủ để phục vụ cho nhu\u003C/p>\n\u003Cp>cầu của người truy cập WAP? Đây là một vấn đề đã và đang được các nhà phát triển\u003C/p>\n\u003Cp>rất quan tâm.\u003C/p>\n\u003Cp>Hai khả năng có thể xảy ra. Đó là:\u003C/p>\n\u003Cp>(cid:131) Chỉ có một tập giới hạn các trang WAP sẽ được phát triển so với nhu cầu\u003C/p>\n\u003Cp>nếu chúng ta thực hiện xây dựng ngay từ đầu.\u003C/p>\n\u003Cp>(cid:131) Hoặc là số lượng các trang WAP sẽ tăng lên nhanh chóng nhờ vào các\u003C/p>\n\u003Cp>trang thông tin sẵn có (dạng HTML).\u003C/p>\n\u003Cp>Trường hợp thứ nhất là một khả năng dễ nhận thấy. Nếu như chỉ dựa vào các\u003C/p>\n\u003Cp>URL và các thiết lập trên WAP gateway nó sẽ bó hẹp khả năng sử dụng của người\u003C/p>\n\u003Cp>dùng. Người dùng sẽ phải chấp nhận một lượng giới hạn các dịch vụ cung cấp cho\u003C/p>\n\u003Cp>thiết bị của họ, bởi vì mỗi một dòng sản phẩm của nó có những đặc tính riêng về\u003C/p>\n\u003Cp>kích thước màn hình, bộ nhớ cũng như khả năng hiển thị.\u003C/p>\n\u003Cp>Trường hợp thứ hai đó là khi có mặt các công cụ chuyển đổi. Để có thể đáp\u003C/p>\n\u003Cp>ứng những dự đoán về sự phát triển to lớn của các thiết bị truy cập WAP, thì việc sử\u003C/p>\n\u003Cp>dụng những công cụ chuyển đổi là một giải pháp khả thi. Nếu được thực hiện tốt, nó\u003C/p>\n\u003Cp>sẽ giảm bớt vấn đề về hiển thị trên những thiết bị client khác nhau. Thế nhưng vẫn\u003C/p>\n\u003Cp>có một hạn chế, đó là nội dung trả về sẽ không được đảm bảo chất lượng, làm xảy\u003C/p>\n\u003Cp>ra các vấn đề như mất trang, hoặc một trang có thể phù hợp với thiết bị này nhưng\u003C/p>\n\u003Cp>lại không tương thích với thiết bị khác...\u003C/p>\n\u003Cp>Hiện nay người ta vẫn đang dùng phối hợp cả hai phương pháp trên.\u003C/p>\n\u003Cp>Một xu hướng mới đang rất được quan tâm đó là các phương pháp thiết kế\u003C/p>\n\u003Cp>tương thích cho việc hiển thị trên nhiều loại thiết bị, chẳng hạn như kỹ thuật XML-\u003C/p>\n\u003Cp>to-WML/XHTML, còn việc chuyển đổi các trang sẵn có sẽ ít được quan tâm hơn.\u003C/p>\n\u003Cp>Đối với giải pháp mới này, dữ liệu phụ trợ sẽ được hiển thị theo dạng XML và lưu\u003C/p>\n\u003Cp>trữ theo dạng XML, nó có thể dễ dàng được chuyển đổi sang HTML, WML hay bất\u003C/p>\n\u003Cp>- 72 -\u003C/p>\n\u003Cp>kỳ một ngôn ngữ đánh dấu nào khác. Do dữ liệu XML là một dạng trình diễn độc\u003C/p>\n\u003Cp>lập, các tiện ích dùng để chuyển đổi XML sẽ là các công cụ chuẩn được xây dựng ở\u003C/p>\n\u003Cp>phía server, ở các hệ điều hành và thậm chí là ở các client, chẳng hạn như IE hay\u003C/p>\n\u003Cp>Netscape.\u003C/p>\n\u003Cp>Với việc sử dụng các công cụ chuyển đổi này giúp chúng ta có thể truy cập\u003C/p>\n\u003Cp>vào bất kỳ một trang HTML sẵn có ở bất kỳ đâu, và do đó nó cho phép thực hiện\u003C/p>\n\u003Cp>khi mà người phát triển:\u003C/p>\n\u003Cp>(cid:131) Không biết gì về chi tiết thiết kế của trang web ban đầu.\u003C/p>\n\u003Cp>(cid:131) Không cần truy cập trực tiếp vào phía server.\u003C/p>\n\u003Cp>Trong trường hợp thứ nhất, nó có thể hữu hiệu cho một công ty hay một nhà\u003C/p>\n\u003Cp>phát triển khác, họ có thể sử dụng công nghệ mà họ không hề có kiến thức về nó,\u003C/p>\n\u003Cp>chỉ muốn xây dựng lại nó mà thôi. Trong trường hợp thứ hai xảy ra khi người chủ\u003C/p>\n\u003Cp>của trang đó có thể không cho phép người khác truy cập trực tiếp vào cơ sở dữ liệu\u003C/p>\n\u003Cp>bên dưới của họ.\u003C/p>\n\u003Cp>4.2.2. Hoạt động của các bộ chuyển đồi\u003C/p>\n\u003Cp>Thông thường, các bộ chuyển đổi làm việc làm việc bằng các trích văn bản\u003C/p>\n\u003Cp>từ các trang nguồn (ví dụ các trang HTML), sau đó định dạng lại phần văn bản này\u003C/p>\n\u003Cp>về ngôn ngữ đánh dấu cần thiết, có thể là WML hoặc XHTML.\u003C/p>\n\u003Cp>Sau đây là một ví dụ đơn giản:\u003C/p>\n\u003Cp>Hình 4.2-1: Lược đồ mô tả quá trình chuyển đổi\u003C/p>\n\u003Cp>- 73 -\u003C/p>\n\u003Cp>Theo khuynh hướng thiết kế hướng đối tượng, trình chuyển đổi thực hiện\u003C/p>\n\u003Cp>việc chuyển đổi dữ liệu đã được định dạng thành dữ liệu trung gian. Dữ liệu trung\u003C/p>\n\u003Cp>gian này có thể được xử lý mà không cần đến các tiến trình phụ trợ chi phối.\u003C/p>\n\u003Cp>Có hai hướng có thể sử dụng ở đây:\u003C/p>\n\u003Cp>(cid:131) Trích tất cả nội dung có thể trong một trang chẳng hạn như tiêu đề, thông\u003C/p>\n\u003Cp>điệp chào mừng, các liên kết ...\u003C/p>\n\u003Cp>(cid:131) Trích những phần riêng biệt của trang, ví dụ như các dòng tin, hay chỉ là\u003C/p>\n\u003Cp>các giá cả chính khoán.\u003C/p>\n\u003Cp>Hai hướng này tương ứng với hai kiểu chuyển đổi là: tự động toàn bộ và có\u003C/p>\n\u003Cp>thể cấu hình được.\u003C/p>\n\u003Cp>Trong quá trình chuyển đổi các phần tử văn bản trong trang, việc định vị từ\u003C/p>\n\u003Cp>trang này sang trang khác cũng rất cần thiết. Trong một trình chuyển đổi tự động\u003C/p>\n\u003Cp>hoàn toàn tốt, các liên kết và các form nhập liệu trên trang được chuyển đổi đều sẽ\u003C/p>\n\u003Cp>được giữ lại. Đối với trình chuyển đổi có thể cấu hình được, việc lựa chọn những\u003C/p>\n\u003Cp>phần nào sẽ được hiển thị tuỳ thuộc vào người phát triển.\u003C/p>\n\u003Cp>4.2.3. Điều kiện quyết định khả năng chuyển đổi nội dung một tài liệu\u003C/p>\n\u003Cp>Đặc điểm chính để quyết định xem một trang web có sẵn có phù hợp với cho\u003C/p>\n\u003Cp>việc chuyển đổi sang WAP hay không, đó là chúng phải có một lượng thông tin\u003C/p>\n\u003Cp>dạng văn bản tương đối nhỏ. Bên cạnh đó phải bảo đảm những yếu tố phù hợp với\u003C/p>\n\u003Cp>một dịch vụ WAP tốt đó là lượng thông tin phù hợp tối đa với thao tác nhập liệu\u003C/p>\n\u003Cp>thối thiểu. ‘Thông tin phù hợp tối đa’ có nghĩa là trang này cung cấp cho người\u003C/p>\n\u003Cp>dùng chỉ những thông tin mà họ quan tâm, với một lượng tối thiểu các phần phụ\u003C/p>\n\u003Cp>không liên quan khác. ‘Nhập liệu tối thiểu’ có nghĩa là có ít các định vị và việc nhập\u003C/p>\n\u003Cp>liệu từ phía người dùng.\u003C/p>\n\u003Cp>Như vậy, khi cần thực hiện việc chuyển đổi thì các vấn đề mà ta cần quan\u003C/p>\n\u003Cp>tâm là:\u003C/p>\n\u003Cp>- 74 -\u003C/p>\n\u003Cp>(cid:131) Trang cần chuyển đổi nên có lượng thông tin nhỏ.\u003C/p>\n\u003Cp>(cid:131) Các liên kết không quá nhiều (trong vòng bốn liên kết).\u003C/p>\n\u003Cp>(cid:131) Ít khung, ít hình ảnh và các ứng dụng đa truyền thông (multi-media)\u003C/p>\n\u003Cp>Với thực tế các trang web rất phong phú, đa dạng như hiện nay sẽ có rất\u003C/p>\n\u003Cp>nhiều trang không thích hợp cho việc chuyển đổi.\u003C/p>\n\u003Cp>4.2.4. Các ưu điểm\u003C/p>\n\u003Cp>Những ưu điểm chính của việc chuyển đổi so với xây dựng một trang mới\u003C/p>\n\u003Cp>hoàn toàn là:\u003C/p>\n\u003Cp>(cid:131) Nhanh chóng hòa nhập vào thị trường\u003C/p>\n\u003Cp>(cid:131) Chi phí\u003C/p>\n\u003Cp>(cid:131) Độc lập với thiết kế ban đầu\u003C/p>\n\u003Cp>Tính thị trường và chi phí là do nó giúp lập trình viên tốn ít thời gian hơn là\u003C/p>\n\u003Cp>bắt đầu lại từ điểm xuất phát. Một ưu điểm khác đó là người dùng có thể thực hiện\u003C/p>\n\u003Cp>chuyển đổi một trang nội dung mà không cần phải là một chuyên gia lập trình giỏi –\u003C/p>\n\u003Cp>một người thiết kế web với hiểu biết cơ bản về ngôn ngữ đánh dấu cũng có thể thực\u003C/p>\n\u003Cp>hiện một ứng dụng chuyển đổi dễ dàng.\u003C/p>\n\u003Cp>Phần nội dung được rút trích từ trang gốc có thể được lưu ở một dạng độc\u003C/p>\n\u003Cp>lập, do đó nó có thể áp dụng được trên nhiều dạng client khác nhau. Với sự phát\u003C/p>\n\u003Cp>triển đa dạng của các thiết bị không dây như hiện nay thì vấn đề này đang rất được\u003C/p>\n\u003Cp>quan tâm.\u003C/p>\n\u003Cp>Ngôn ngữ đích cần chuyển đổi không cần phải là WML – XML, nó có thể là\u003C/p>\n\u003Cp>bất kỳ một ngôn ngữ đánh dấu nào khác như: XHTML, CHTML, HDML...\u003C/p>\n\u003Cp>Một ưu điếm khác nữa là khả năng tạo nên được một trang WAP mà không\u003C/p>\n\u003Cp>cần phải truy cập vào bên trong nguồn dữ liệu.\u003C/p>\n\u003Cp>- 75 -\u003C/p>\n\u003Cp>4.2.5. Các nhược điểm\u003C/p>\n\u003Cp>Tuy nhiên phương pháp này cũng có nhiều nhược điểm.\u003C/p>\n\u003Cp>Trong quá trình thực thi có hai vấn đề được đặt ra. Đó là:\u003C/p>\n\u003Cp>(cid:131) Vấn đề về các tiến trình liên quan đến server chứ không phải chỉ là phát\u003C/p>\n\u003Cp>sinh và cung cấp các trang WML từ một cơ sở dữ liệu nền. Giả sử khi\u003C/p>\n\u003Cp>10.000 người dùng cùng truy cập vào trang cùng một lúc, nó sẽ làm cho\u003C/p>\n\u003Cp>server trở nên quá tải. Dẫn đến nhu cầu về nâng cấp phần cứng.\u003C/p>\n\u003Cp>(cid:131) Tài liệu HTML gốc có thể lớn hơn nhiều so với tài liệu WML tương\u003C/p>\n\u003Cp>đương.\u003C/p>\n\u003Cp>Chi phí dành cho các công cụ để phát triển cũng là một hạn chế. Dù chúng ta\u003C/p>\n\u003Cp>có thể xây dựng được những bộ chuyển đổi đơn giản, thế nhưng để có được những\u003C/p>\n\u003Cp>trang kết quả hoàn chỉnh thì chi phí cho một bộ chuyển đổi đầy đủ là rất cao.\u003C/p>\n\u003Cp>Ngoại trừ những nhược điểm được nêu ra ở trên, một số trang thậm chí còn\u003C/p>\n\u003Cp>không phù hợp cho việc chuyển đổi. Đó là chưa kể đến những trang đã phù hợp lại\u003C/p>\n\u003Cp>thường xuyên thay đổi định dạng hiển thị của mình.\u003C/p>\n\u003Cp>- 76 -\u003C/p>\n\u003Ch3>PHẦN III.\u003C/h3>\n\u003Ch3>ỨNG DỤNG MINH HỌA\u003C/h3>\n\u003Cp>- 77 -\u003C/p>\n\u003Ch4>Chương 5. PHÂN TÍCH THIẾT KẾ HỆ THỐNG “CÔNG CỤ\u003C/h4>\n\u003Ch4>TÌM KIẾM HỖ TRỢ THIẾT BỊ DI ĐỘNG”\u003C/h4>\n\u003Ch4>5.1. Khảo sát hiện trạng\u003C/h4>\n\u003Cp>Theo dự đoán, trong tương lai số người sở hữu các thiết bị di động, nhất là\u003C/p>\n\u003Cp>điện thoại cầm tay, sẽ vượt xa số người sở hữu máy tính. Đồng thời với sự thay đổi\u003C/p>\n\u003Cp>mang tính cách mạng đó là sự phát triển mạnh mẽ của lượng thông tin trao đổi qua\u003C/p>\n\u003Cp>Internet, đặc biệt là trên các thiết bị di động.\u003C/p>\n\u003Cp>Do đặc trưng của các thiết bị di động là sự hạn chế về dung lượng bộ nhớ,\u003C/p>\n\u003Cp>kích thước màn hình hiển thị, khả năng xử lý kém và băng thông thấp, do đó các\u003C/p>\n\u003Cp>thiết bị này khó có thể sánh ngang với máy tính để bàn và máy tính xách tay về\u003C/p>\n\u003Cp>phương diện lướt web tìm thông tin. Nhưng không vì thế mà thị trường cung cấp\u003C/p>\n\u003Cp>thông tin cho các thiết bị di động lại kém phát triển ngược lại đó là một thị trường\u003C/p>\n\u003Cp>đầy tiềm năng.\u003C/p>\n\u003Cp>Ngày càng có nhiều người truy cập các thông tin hữu ích trên Internet thông\u003C/p>\n\u003Cp>qua các thiết bị cầm tay. Việc ra đời một tờ báo điện tử phục vụ cho điện thoại di\u003C/p>\n\u003Cp>động khá hiệu quả (ở Trung Quốc) và khả năng xử lý của điện thoại di động ngày\u003C/p>\n\u003Cp>càng được cải thiện sẽ giúp cho người dùng dần quen với việc đọc báo điện tử hoặc\u003C/p>\n\u003Cp>lấy thông tin từ Internet bằng các loại thiết bị cầm tay này. Từ đó sẽ nhanh chóng\u003C/p>\n\u003Cp>thúc đẩy nhu cầu tìm kiếm và khai thác thông tin trên Internet thông qua điện thoại\u003C/p>\n\u003Cp>di động nói riêng và các thiết bị cầm tay nói chung.\u003C/p>\n\u003Cp>Với sự phát triển mạnh mẽ của các nội dung được trao đổi thì nhu cầu tìm\u003C/p>\n\u003Cp>kiếm thông tin của người dùng trên thiết bị di động cũng đang trở nên cần thiết. Tuy\u003C/p>\n\u003Cp>nhiên hiện tại chỉ có một số ít các nhà cung cấp dịch vụ tìm kiếm cho thiết bị di\u003C/p>\n\u003Cp>động, ví dụ như Google,… ; riêng tại Việt Nam vẫn chưa có hệ thống nào cung cấp\u003C/p>\n\u003Cp>dịch vụ này. (Xem phần 4.1 “Tìm hiểu các dịch vụ tìm kiếm hỗ trợ thiết bị di động\u003C/p>\n\u003Cp>hiện tại”). Và do đó đây vẫn là một thị trường đang còn bỏ ngỏ.\u003C/p>\n\u003Cp>- 78 -\u003C/p>\n\u003Cp>Một điều đặt ra cho các nhà phát triển là làm sao có thể giúp cho các thiết bị\u003C/p>\n\u003Cp>cầm tay có thể truy cập và hiển thị được các nội dung nằm trên các trang web truyền\u003C/p>\n\u003Cp>thống.\u003C/p>\n\u003Cp>Có nhiều giải pháp để thực hiện vấn đề trên:\u003C/p>\n\u003Cp>(cid:131) Phát triển khả năng xử lý, hiển thị của phần cứng và nâng cao băng\u003C/p>\n\u003Cp>thông để có thể truy cập và hiển thị tốt các nội dung thuộc các trang\u003C/p>\n\u003Cp>web thuần túy – điều này phụ thuộc rất nhiều vào công nghệ mạng\u003C/p>\n\u003Cp>di động và công nghệ điện tử viễn thông. Đây là một phương án cực\u003C/p>\n\u003Cp>kỳ tốn kém và phải có một thời gian phát triển lâu dài. Đồng thời nó\u003C/p>\n\u003Cp>sẽ làm cho giá thành của thiết bị và dịch vụ tăng cao do đó sẽ không\u003C/p>\n\u003Cp>thu hút được khách hàng.\u003C/p>\n\u003Cp>(cid:131) Tạo ra một bộ chuyển đổi để chuyển đổi các thông tin từ trang web\u003C/p>\n\u003Cp>thuần túy sang các trang WAP (chuẩn WAP 1.x hoặc WAP 2.0) có\u003C/p>\n\u003Cp>thể hiển thị tốt trên thiết bị di động – phương án này sẽ hiệu quả và\u003C/p>\n\u003Cp>ít tốn kém hơn vì phần lớn các thiết bị di động hiện nay, đặc biệt là\u003C/p>\n\u003Cp>điện thoại di động, đã được tích hợp kèm theo một trình duyệt WAP,\u003C/p>\n\u003Cp>và các nội dung truyền tải trên trang WAP không đòi hỏi băng thông\u003C/p>\n\u003Cp>và khả năng xử lý của thiết bị di động cao.\u003C/p>\n\u003Ch4>5.2. Phân tích và xác định yêu cầu\u003C/h4>\n\u003Cp>\u003C/p>\n\u003Cp>Mục tiêu của đề tài là ứng dụng máy tìm kiếm, xây dựng một hệ thống hỗ trợ\u003C/p>\n\u003Cp>người dùng thiết bị di động tìm kiếm các thông tin trên Internet và giúp chuyển đổi\u003C/p>\n\u003Cp>nội dung trang web để có thể hiển thị trên bộ trình duyệt WAP của thiết bị di động,\u003C/p>\n\u003Cp>mà cụ thể là bộ trình duyệt WAP của các hệ điện thoại di động của Nokia và của\u003C/p>\n\u003Cp>một số hãng điện thoại di động khác.\u003C/p>\n\u003Cp>- 79 -\u003C/p>\n\u003Cp>Sau đây là danh sách các yêu cầu chức năng của hệ thống:\u003C/p>\n\u003Cp>STT Chức năng Diễn giải\u003C/p>\n\u003Cp>1 Xây dựng hệ thống Module được thực thi thường trực trên\u003C/p>\n\u003Cp>cơ sở dữ liệu phục vụ Server tải các trang web về, lập chỉ mục và\u003C/p>\n\u003Cp>cho việc tìm kiếm đưa vào cơ sở dữ liệu phục vụ cho việc tìm\u003C/p>\n\u003Cp>kiếm. Đây là module của một máy tìm kiếm\u003C/p>\n\u003Cp>– search engine hoàn chỉnh.\u003C/p>\n\u003Cp>2 Xác định khả năng xử Hệ thống sẽ kiểm tra khả năng xử lý và hiển\u003C/p>\n\u003Cp>lý của điện thoại thị của điện thoại để chuyển đến trang dịch\u003C/p>\n\u003Cp>vụ thích hợp\u003C/p>\n\u003Cp>Tiếp nhận chuỗi Nhận chuỗi tìm kiếm từ người truy cập 3\u003C/p>\n\u003Cp>query để tìm kiếm thông qua giao diện wap.\u003C/p>\n\u003Cp>Tìm kiếm Tiến hành phân tích chuỗi query của người 4\u003C/p>\n\u003Cp>dùng và truy vấn cơ sở dữ liệu để tìm tập\u003C/p>\n\u003Cp>kết quả phù hợp với chuỗi query của người\u003C/p>\n\u003Cp>dùng.\u003C/p>\n\u003Cp>Hiển thị kết quả Trả kết quả tìm kiếm về cho người dùng 5\u003C/p>\n\u003Cp>thông qua giao diện wap\u003C/p>\n\u003Cp>Chuyển đổi trang web Kết quả tìm kiếm được liên kết đến chức 6\u003C/p>\n\u003Cp>năng chuyển đổi. Nếu người dùng click vào\u003C/p>\n\u003Cp>liên kết, chức năng chuyển đổi sẽ download\u003C/p>\n\u003Cp>trang web tương ứng và tiến hành chuyển\u003C/p>\n\u003Cp>đổi để có thể hiển thị trên điện thoại di\u003C/p>\n\u003Cp>động. Sau đó trả kết quả về cho người dùng.\u003C/p>\n\u003Cp>7 Chức năng quản trị hệ Cung cấp giao diện cho người quản trị có\u003C/p>\n\u003Cp>thống tìm kiếm thể quản lý hệ thống máy tìm kiếm để tiến\u003C/p>\n\u003Cp>hành các thao tác quản lý: thêm từ mới vào\u003C/p>\n\u003Cp>từ điển, chỉnh sửa từ điển, thêm URL\u003C/p>\n\u003Cp>- 80 -\u003C/p>\n\u003Cp>download và lập chỉ mục…\u003C/p>\n\u003Cp>Bảng 5.2-1: Xác định yêu cầu\u003C/p>\n\u003Ch4>5.3. Mô hình hoạt động\u003C/h4>\n\u003Cp>\u003C/p>\n\u003Cp>INTERNET\u003C/p>\n\u003Cp>Enhanced\nsearch engine\u003C/p>\n\u003Cp>URL\nlinks\u003C/p>\n\u003Cp>HTML to WAP\nConverter\u003C/p>\n\u003Cp>Searching\nrequest\u003C/p>\n\u003Cp>WAP\npages\u003C/p>\n\u003Cp>URL\nlinks\u003C/p>\n\u003Cp>Cell phone\u003C/p>\n\u003Cp>5.3.1. Mô hình chung\u003C/p>\n\u003Cp>Hình 5.3-1: Mô hình hoạt động chung\u003C/p>\n\u003Cp>- 81 -\u003C/p>\n\u003Cp>5.3.2. Mô hình chi tiết máy tìm kiếm\u003C/p>\n\u003Cp>Hình 5.3-2: Mô hình hoạt động chi tiết\u003C/p>\n\u003Ch4>5.4. Mô hình Use-case\u003C/h4>\n\u003Cp>\u003C/p>\n\u003Cp>5.4.1. Xác định Actor và Use-case\u003C/p>\n\u003Cp>Actor: Người sử dụng thiết bị di động truy cập vào hệ thống\u003C/p>\n\u003Cp>- 82 -\u003C/p>\n\u003Cp>Use-case:\u003C/p>\n\u003Cp>• Connect – Kết nối:\u003C/p>\n\u003Cp>Tiến hành truy cập vào hệ thống (được thực hiện bởi trình duyệt\u003C/p>\n\u003Cp>WAP được tích hợp trong thiết bị cầm tay)\u003C/p>\n\u003Cp>• Search – Tìm kiếm:\u003C/p>\n\u003Cp>Người dùng cung cấp từ khóa, hệ thống trả về kết quả tìm kiếm\u003C/p>\n\u003Cp>tương ứng với từ khóa đó.\u003C/p>\n\u003Cp>• Change options – Thay đổi thông số cho kết quả tìm kiếm\u003C/p>\n\u003Cp>Người dùng chọn liên kết đến trang options để thay đổi thông số\u003C/p>\n\u003Cp>hiện thị cho kết quả.\u003C/p>\n\u003Cp>• Convert – Chuyển đổi nội dung:\u003C/p>\n\u003Cp>Người dùng chọn truy cập trang web từ trang kết quả, hệ thống tiến hành\u003C/p>\n\u003Cp>download và chuyển đổi trang web về dạng XHTML\u003C/p>\n\u003Cp>5.4.2. Mô hình Use-case\u003C/p>\n\u003Cp>Hình 5.4-1: Mô hình Use-case\u003C/p>\n\u003Cp>- 83 -\u003C/p>\n\u003Ch4>5.5. Đặc tả Use-case\u003C/h4>\n\u003Cp>5.5.1. Tìm kiếm\u003C/p>\n\u003Cp>• Tên Use-case: Search\u003C/p>\n\u003Cp>• Mô tả\u003C/p>\n\u003Cp>Người dùng cung cấp từ khóa, hệ thống trả về kết quả tìm kiếm tương\u003C/p>\n\u003Cp>ứng với từ khóa đó.\u003C/p>\n\u003Cp>• Dòng sự kiện\u003C/p>\n\u003Cp>o Dòng sự kiện chính\u003C/p>\n\u003Cp>Người dùng nhập vào chuỗi query sau đó chọn tìm kiếm\u003C/p>\n\u003Cp>Hệ thống nhận query, phân tích và kiểm tra trong từ điển\u003C/p>\n\u003Cp>Truy vấn thông tin từ cơ sở dữ liệu để lấy ra tập kết quả\u003C/p>\n\u003Cp>Trả kết quả tìm kiếm về cho người dùng\u003C/p>\n\u003Cp>o Dòng sự kiện khác\u003C/p>\n\u003Cp>Nếu người dùng không nhập query mà chọn tìm kiếm thì hệ\u003C/p>\n\u003Cp>thống sẽ không trả về kết quả.\u003C/p>\n\u003Cp>• Các yêu cầu đặc biệt\u003C/p>\n\u003Cp>Không\u003C/p>\n\u003Cp>• Điều kiện tiên quyết\u003C/p>\n\u003Cp>Không\u003C/p>\n\u003Cp>• Điều kiện bổ sung\u003C/p>\n\u003Cp>Không\u003C/p>\n\u003Cp>• Điểm mở rộng\u003C/p>\n\u003Cp>Không\u003C/p>\n\u003Cp>5.5.2. Thay đổi thông số hiển thị kết quả tìm kiếm\u003C/p>\n\u003Cp>• Tên Use-case: Change options\u003C/p>\n\u003Cp>- 84 -\u003C/p>\n\u003Cp>• Mô tả\u003C/p>\n\u003Cp>Người dùng chọn liên kết đến trang options để thay đổi thông số hiện\u003C/p>\n\u003Cp>thị cho kết quả.\u003C/p>\n\u003Cp>• Dòng sự kiện\u003C/p>\n\u003Cp>o Dòng sự kiện chính\u003C/p>\n\u003Cp>Người dùng chọn liên kết đến trang cung cấp tùy chọn\u003C/p>\n\u003Cp>Người dùng chọn số kết quả trên một trang kết quả\u003C/p>\n\u003Cp>Người dùng có thể chọn lưu thông số mới sau đó trở lại trang\u003C/p>\n\u003Cp>tìm kiếm chính\u003C/p>\n\u003Cp>Người dùng có thể trở về trang tìm kiếm và giữ nguyên giá trị\u003C/p>\n\u003Cp>của thông số.\u003C/p>\n\u003Cp>o Dòng sự kiện khác\u003C/p>\n\u003Cp>Không\u003C/p>\n\u003Cp>• Các yêu cầu đặc biệt\u003C/p>\n\u003Cp>Không\u003C/p>\n\u003Cp>• Điều kiện tiên quyết\u003C/p>\n\u003Cp>Không\u003C/p>\n\u003Cp>• Điều kiện bổ sung\u003C/p>\n\u003Cp>Không\u003C/p>\n\u003Cp>• Điểm mở rộng\u003C/p>\n\u003Cp>Không\u003C/p>\n\u003Cp>5.5.3. Chuyển đổi nội dung\u003C/p>\n\u003Cp>• Tên Use-case: Convert\u003C/p>\n\u003Cp>• Mô tả\u003C/p>\n\u003Cp>Người dùng chọn truy cập trang web từ trang kết quả, hệ thống tiến\u003C/p>\n\u003Cp>hành download và chuyển đổi trang web về dạng XHTML.\u003C/p>\n\u003Cp>- 85 -\u003C/p>\n\u003Cp>• Dòng sự kiện\u003C/p>\n\u003Cp>o Dòng sự kiện chính\u003C/p>\n\u003Cp>Người dùng chọn click vào liên kết đến trang web được cung\u003C/p>\n\u003Cp>cấp trên trang kết quả\u003C/p>\n\u003Cp>Hệ thống tiến hành download trang web tương ứng\u003C/p>\n\u003Cp>Hệ thống kiểm tra và chuẩn hóa trang web sang dạng XHTML\u003C/p>\n\u003Cp>của chuẩn WAP 2.0\u003C/p>\n\u003Cp>o Dòng sự kiện khác\u003C/p>\n\u003Cp>Không\u003C/p>\n\u003Cp>• Các yêu cầu đặc biệt\u003C/p>\n\u003Cp>Không\u003C/p>\n\u003Cp>• Điều kiện tiên quyết\u003C/p>\n\u003Cp>Chỉ có thể thực hiện sau khi người dùng tìm kiếm và có kết quả trả về.\u003C/p>\n\u003Cp>• Điều kiện bổ sung\u003C/p>\n\u003Cp>Không\u003C/p>\n\u003Cp>• Điểm mở rộng\u003C/p>\n\u003Cp>Không\u003C/p>\n\u003Ch4>5.6. Module Máy tìm kiếm – Search Engine\u003C/h4>\n\u003Cp>\u003C/p>\n\u003Cp>5.6.1. Phần thu thập dữ liệu\u003C/p>\n\u003Cp>Trong hoạt động của một search engine thì công đoạn phải thực hiện đầu tiên\u003C/p>\n\u003Cp>khi khởi động hệ thống là thu thập tài liệu, đó là quá trình tập hợp tài liệu từ các\u003C/p>\n\u003Cp>nguồn khác nhau trên mạng. Việc thu thập tài liệu thường được cài đặt bằng các\u003C/p>\n\u003Cp>Web Robot hoặc các agent.\u003C/p>\n\u003Cp>Web Robot là những chương trình có khả năng tự động dò tìm để đi đến các\u003C/p>\n\u003Cp>địa chỉ khác nhau trên mạng, tải các trang web về theo giao thức HTTP.\u003C/p>\n\u003Cp>- 86 -\u003C/p>\n\u003Cp>(cid:190) Thuật toán duy trì thông tin cho máy tìm kiếm\u003C/p>\n\u003Cp>Hình 5.6-1: Lưu đồ xử lý qui trình thu thập thông tin\u003C/p>\n\u003Cp>Đối với các trang Web trên mạng Internet ngày nay, việc cập nhật và thay\u003C/p>\n\u003Cp>đổi dữ liệu rất thường xảy ra. Các thông tin trên mạng Internet luôn là những thông\u003C/p>\n\u003Cp>tin được cập nhật mới nhất. Có một số trang Web việc cập nhật xảy ra hàng ngày,\u003C/p>\n\u003Cp>thậm chí hàng giờ. Song song đó, cũng có một số trang web không còn tồn tại nữa,\u003C/p>\n\u003Cp>hoặc được chuyển đi nơi khác. Để đáp ứng nhu cầu có được những thông tin mới\u003C/p>\n\u003Cp>nhất cho người sử dụng và những gì tìm kiếm được qua search engine là tồn tại và\u003C/p>\n\u003Cp>có thể tham khảo tới được, cần phải liên tục duy trì và bảo quản các trang web đã\u003C/p>\n\u003Cp>tìm kiếm được.\u003C/p>\n\u003Cp>- 87 -\u003C/p>\n\u003Cp>Hình 5.6-2: Lưu đồ xử lý qui trình duy trì thông tin cho máy tìm kiếm\u003C/p>\n\u003Cp>- 88 -\u003C/p>\n\u003Cp>Thuật toán:\u003C/p>\n\u003Cp>- Duyệt qua nội dung các trang web.\u003C/p>\n\u003Cp>- Đối với mỗi trang web:\u003C/p>\n\u003Cp>(cid:131) Kiểm tra xem tình trang của trang web trên mạng Internet bằng\u003C/p>\n\u003Cp>cách đưa ra một yêu cầu kết nối đến trang web.\u003C/p>\n\u003Cp>o Nếu kết nối đến trang web thành công thì trang Web vẫn\u003C/p>\n\u003Cp>còn tồn tại. Qua bước kế tiếp\u003C/p>\n\u003Cp>o Nếu kết nối đến trang web không được , tức là trang\u003C/p>\n\u003Cp>web không còn tồn tại , thì thực hiện việc xóa trang web\u003C/p>\n\u003Cp>khỏi cơ sở dữ liệu.\u003C/p>\n\u003Cp>(cid:131) Lấy các thông tin tiêu đề của trang web: Last Modified và\u003C/p>\n\u003Cp>Content-Length. Nếu một trong hai thông tin này khác với các\u003C/p>\n\u003Cp>thông tin được lưu trong cơ sở dữ liệu tức là nội dung trang\u003C/p>\n\u003Cp>web đã bị thay đổi. Thực hiện việc download lại trang web này\u003C/p>\n\u003Cp>về.\u003C/p>\n\u003Cp>- Lặp lại công việc sau một khoảng thời gian qui định.\u003C/p>\n\u003Cp>5.6.2. Phần thu thập dữ liệu\u003C/p>\n\u003Cp>Các tài liệu thu thập về sẽ được hệ thống lập chỉ mục lọc các thông tin thừa,\u003C/p>\n\u003Cp>chuyển thành những tài liệu dưới dạng thuần văn bản. Trang web qua bước tiền xử\u003C/p>\n\u003Cp>lý để lọc bỏ các tag, các thông tin không liên quan tới nội dung tài liệu như chú\u003C/p>\n\u003Cp>thích, meta data, xử lý các kí tự đặc biệt ( các kí tự được thay thế bằng chuỗi bắt đầu\u003C/p>\n\u003Cp>bằng dấu kí tự “&” và kết thúc bằng kí tự “;”) để chuyển về dạng thông thường.\u003C/p>\n\u003Cp>Ví dụ: chuỗi “>\" tương ứng với kí tự “>”\u003C/p>\n\u003Cp>chuỗi \"&” ứng với kí tự “&”\u003C/p>\n\u003Cp>chuỗi \""” ứng với kí tự”\\\"\u003C/p>\n\u003Cp>- 89 -\u003C/p>\n\u003Cp>Sau đó thực hiện công đoạn tách từ. Việc lập chỉ mục sẽ trích ra các mục từ\u003C/p>\n\u003Cp>quan trọng của tài liệu và ghi các mục từ này vào cơ sở dữ liệu của hệ thống với tần\u003C/p>\n\u003Cp>suất xuất hiện tương ứng của nó.\u003C/p>\n\u003Cp>Hình 5.6-3: Lưu đồ xử lý qui trình lập chỉ mục\u003C/p>\n\u003Cp>Khi hệ thống tìm kiếm đã khởi động thì mo-đun phân tích, xử lý dữ liệu sẽ\u003C/p>\n\u003Cp>hoạt động liên tục, thực hiện phân tích nội dung các trang web, bỏ các dữ liệu thừa\u003C/p>\n\u003Cp>và xử lý nội dung văn bản của tài liệu. Hoạt động này là một phần tách biệt trong hệ\u003C/p>\n\u003Cp>thống, không ảnh hưởng đến tốc độ và thời gian xử lý hay tìm kiếm thông tin\u003C/p>\n\u003Cp>- 90 -\u003C/p>\n\u003Cp>chung của toàn hệ thống. Mục đích chính là làm tăng khối lượng các trang web mà\u003C/p>\n\u003Cp>5.6.2.1. Thiết kế dữ liệu\u003C/p>\n\u003Cp>hệ thống đã xử lý, lưu trữ vào cơ sở dữ liệu để tìm kiếm sau này.\u003C/p>\n\u003Cp>Dữ liệu của hệ thống được xây dựng dựa trên mô hình vector, sử dụng\u003C/p>\n\u003Cp>phương pháp tổ chức tập tin nghịch đảo như đã trình bày trong các phần trước, bên\u003C/p>\n\u003Cp>cạnh đó có một số phần cải tiến nhằm đạt được kết quả tốt về thời gian xử lý cho hệ\u003C/p>\n\u003Cp>thống. Dữ liệu của hệ thống gồm 3 phần chính sau:\u003C/p>\n\u003Cp>-Bảng định danh tài liệu: dùng hệ quản trị cơ sở dữ liệu Oracle quản\u003C/p>\n\u003Cp>lý, lưu trữ thông tin về các URL như: định danh, địa chỉ, tiêu đề, ….\u003C/p>\n\u003Cp>-Tập tin nghịch đảo: chứa thông tin về các tài liệu và trọng số của\u003C/p>\n\u003Cp>mục từ trong tài liệu đó.\u003C/p>\n\u003Cp>-Từ điển chỉ mục: chứa thông tin về một từ như số lần xuất hiện, số\u003C/p>\n\u003Cp>tài liệu có chứa từ đó, vị trí trong tập tin nghịch đảo\u003C/p>\n\u003Cp>5.6.2.1.1. Bảng định danh tài liệu\u003C/p>\n\u003Cp>Bảng định danh tài liệu lưu trữ danh sách các trang web đã được lập chỉ mục\u003C/p>\n\u003Cp>cùng các thông tin kèm theo của từng trang. Vì số lượng trang web lập chỉ mục lớn\u003C/p>\n\u003Cp>nên hệ thống sử dụng hệ quản trị cơ sở dữ liệu Oracle để quản lý. Cấu trúc bảng\u003C/p>\n\u003Cp>định danh tài liệu gồm các trường sau:\u003C/p>\n\u003Cp>MÔ TẢ\u003C/p>\n\u003Cp>STT TÊN TRƯỜNG KIỂU \nNumber 1 DOCID\u003C/p>\n\u003Cp>2 URL \n3 \nTITLE \n4 NGAY \n5 TRICHDAN Chuỗi \nChuỗi \nNgày \nChuỗi Số định danh cho mỗi tài liệu, do hệ thống \ngán tự động \nĐịa chỉ của trang web \nTiêu đề của trang web \nNgày tạo lập của tài liệu \nNội dung trích dẫn (chưa cài đặt trường này)\u003C/p>\n\u003Cp>Bảng 5.6-1: Bảng định danh tài liệu\u003C/p>\n\u003Cp>Các tác vụ chính trên bảng này là :\u003C/p>\n\u003Cp>- Thêm một tài liệu\u003C/p>\n\u003Cp>- 91 -\u003C/p>\n\u003Cp>- Xóa một tài liệu\u003C/p>\n\u003Cp>- Tìm kiếm tài liệu dựa trên DOCID. Tác vụ tìm kiếm được thực hiện\u003C/p>\n\u003Cp>thường xuyên, nên cài index cho trường DOCID để tăng tốc độ tìm kiếm.\u003C/p>\n\u003Cp>5.6.2.1.2. Cấu trúc từ điển chỉ mục\u003C/p>\n\u003Cp>Từ điển chỉ mục chứa danh sách các mục từ, hệ thống thực hiện yêu cầu tìm\u003C/p>\n\u003Cp>kiếm dựa trên các mục từ này. Số lượng từ trong tự điển rất lớn và tự điển thường\u003C/p>\n\u003Cp>xuyên được truy xuất nên cần phải có một cấu trúc hợp lý sao cho việc tìm kiếm\u003C/p>\n\u003Cp>một mục từ là nhanh nhất.\u003C/p>\n\u003Cp>Tự điển có thể tổ chức theo danh sách tuyến tính được sắp xếp của các mục\u003C/p>\n\u003Cp>từ và thực hiện tìm kiếm nhị phân. Tuy nhiên, khi muốn thêm một mục từ vào cần\u003C/p>\n\u003Cp>phải sắp xếp lại tự điển, điều này rất khó cho việc quản lý tự điển và chi phí tốn\u003C/p>\n\u003Cp>kém. Giải pháp là xây dựng tự điển thành cây n phân biến thể thành cây nhị phân để\u003C/p>\n\u003Cp>dễ dàng cho cài đặt và xử lý.\u003C/p>\n\u003Cp>Mỗi mục từ trong tự điển có một cấu trúc dữ liệu Info kèm theo, được gắn\u003C/p>\n\u003Cp>vào ký tự cuối cùng của mục từ. Cấu trúc Info gồm các trườngsau:\u003C/p>\n\u003Cp>struct Info {\u003C/p>\n\u003Cp>int n;\u003C/p>\n\u003Cp>int nDoc;\u003C/p>\n\u003Cp>int signal;\u003C/p>\n\u003Cp>int startPage;\u003C/p>\n\u003Cp>int endPage;\u003C/p>\n\u003Cp>}\u003C/p>\n\u003Cp>Trong đó:\u003C/p>\n\u003Cp>- n: số lần xuất hiện của mục từ này trong danh sách các trang\u003C/p>\n\u003Cp>web mà hệ thống đã lập chỉ mục\u003C/p>\n\u003Cp>- nDoc: số tài liệu có chứa mục từ này\u003C/p>\n\u003Cp>- signal: xác định thuộc tính của mục từ này, có giá trị 0: mục từ\u003C/p>\n\u003Cp>là từ tiếng Anh hoặc từ tiếng Việt; giá trị 2: mục từ là từ stopword\u003C/p>\n\u003Cp>- 92 -\u003C/p>\n\u003Cp>- startPage: trang bắt đầu trong chuỗi các trang trong file chỉ\u003C/p>\n\u003Cp>mục nghịch đảo thuộc về mục từ này\u003C/p>\n\u003Cp>- endPage: trang cuối cùng trong danh sách các trang trong file\u003C/p>\n\u003Cp>chỉ mục nghịch đảo của mục từ này. Giá trị này sử dụng nhằm tăng tốc độ\u003C/p>\n\u003Cp>lập chỉ mục vì từ nó ta có thể truy xuất được đến trang cuối cùng nhanh\u003C/p>\n\u003Cp>nhất khi cần thêm tài liệu vào file nghịch đảo, chứ không cần phải duyệt\u003C/p>\n\u003Cp>tuần tự danh sách các trang từ trang bắt đầu.\u003C/p>\n\u003Cp>Các thao tác chính trên tự điển gồm có\u003C/p>\n\u003Cp>- Thêm một mục từ\u003C/p>\n\u003Cp>- Xóa một mục từ\u003C/p>\n\u003Cp>- Tìm kiếm một mục từ\u003C/p>\n\u003Cp>- Cập nhật thông tin một mục từ\u003C/p>\n\u003Cp>Tự điển được nạp hoàn toàn vào hệ thống.\u003C/p>\n\u003Cp>5.6.2.1.3. Cấu trúc tập tin chỉ mục nghịch đảo\u003C/p>\n\u003Cp>Tập tin nghịch đảo lưu trữ danh sách các tài liệu ứng với mục từ để cho hệ\u003C/p>\n\u003Cp>thống nhanh chóng tìm được danh sách các tài liệu có chứa một mục từ nào đó, tổ\u003C/p>\n\u003Cp>chức dưới dạng sau:\u003C/p>\n\u003Cp>Mục từ Tài liệu, trọng số\u003C/p>\n\u003Cp>(2,w1), (3,w2), (4,w3) T1\u003C/p>\n\u003Cp>(3,w4), (4,w5), (5,w6) T2\u003C/p>\n\u003Cp>(2,w7) T3\u003C/p>\n\u003Cp>(1,w9) T4\u003C/p>\n\u003Cp>Bảng 5.6-2: Bảng mục từ\u003C/p>\n\u003Cp>Bảng trên có nghĩa là mục từ T1 xuất hiện trong các tài liệu 2, 3, 4 với các\u003C/p>\n\u003Cp>trọng số tương ứng là w1, w2, w3\u003C/p>\n\u003Cp>- 93 -\u003C/p>\n\u003Cp>Tập tin nghịch đảo được tổ chức bằng cách sử dụng một tập tin, trong đó\u003C/p>\n\u003Cp>dung lượng dành cho mỗi mục từ được cấp phát theo từng trang có kích thước cố\u003C/p>\n\u003Cp>định là 1024byte. Như vậy một trang có thể chứa 1024/8 - 1= 127 tài liệu (4 byte\u003C/p>\n\u003Cp>chứa DOCID, 4 byte chứa trọng số)\u003C/p>\n\u003Cp>Cấu trúc một trang cấp cho từng mục từ trong file chỉ mục nghịch đảo như\u003C/p>\n\u003Cp>sau:\u003C/p>\n\u003Cp>CHIỀU DÀI TÊN TRƯỜNG\u003C/p>\n\u003Cp>4 NextPage\u003C/p>\n\u003Cp>4 NextPos\u003C/p>\n\u003Cp>4 docId1\u003C/p>\n\u003Cp>4 weighT1\u003C/p>\n\u003Cp>4 docId2\u003C/p>\n\u003Cp>4 weighT2\u003C/p>\n\u003Cp>4 docId3\u003C/p>\n\u003Cp>4 weighT3\u003C/p>\n\u003Cp>……. ……\u003C/p>\n\u003Cp>4 docIdn\u003C/p>\n\u003Cp>4 weighTn\u003C/p>\n\u003Cp>Bảng 5.6-3: Cấu trúc trang cho từng mục từ trong tập tin chỉ mục nghịch đảo\u003C/p>\n\u003Cp>- NextPos: chỉ đến vị trí trống tiếp theo chưa được sử dụng trên trang này,\u003C/p>\n\u003Cp>chỉ có ý nghĩa khi đây là trang cuối.\u003C/p>\n\u003Cp>- docIdi (i=1…n): định danh tài liệu có chứa mục từ sở hữu trang này, dựa\u003C/p>\n\u003Cp>vào định danh này có thể truy xuất thông tin liên quan đến tài liệu từ\u003C/p>\n\u003Cp>bảng định danh tài liệu.\u003C/p>\n\u003Cp>- 94 -\u003C/p>\n\u003Cp>- weighTi (i=1…n): trọng số của mục từ trong từng tài liệu tương ứng\u003C/p>\n\u003Cp>docIdi\u003C/p>\n\u003Cp>Như vậy có thể đọc toàn bộ danh sách các tài liệu có chứa một mục từ bằng\u003C/p>\n\u003Cp>cách đọc toàn bộ các trang được liên kết theo con trỏ nextPage. Vấn đề còn lại là\u003C/p>\n\u003Cp>xác định trang đầu tiên trong chuỗi danh sách này. Giá trị trang đầu tiên được lưu\u003C/p>\n\u003Cp>trữ trong từ điển chỉ mục đã trình bày ở trên. Các thao tác chính trên tập tin nghịch\u003C/p>\n\u003Cp>đảo chỉ mục là:\u003C/p>\n\u003Cp>- Thêm một tài liệu cho một mục từ: khi một tài liệu được lập chỉ mục,\u003C/p>\n\u003Cp>nếu tài liệu có chứa một mục từ t nào đó thì tài liệu này sẽ được thêm vào\u003C/p>\n\u003Cp>danh sách các tài liệu ứng với mục từ t trong tập tin nghịch đảo. Tài liệu\u003C/p>\n\u003Cp>được thêm vào vị trí trống đầu tiên trong trang cuối của mục từ t.\u003C/p>\n\u003Cp>- Đọc danh sách của các tài liệu cho một mục từ: kết quả tác vụ này\u003C/p>\n\u003Cp>được thiết kế trả về theo luồng (stream) dưới dạng (docId1, weighT1,\u003C/p>\n\u003Cp>docId2, weighT2, ……, docIdn, weighTn) nghĩa là có thể đọc kết quả trả\u003C/p>\n\u003Cp>về theo từng tài liệu, xử lý xong tài liệu này mới đọc sang tài liệu tiếp\u003C/p>\n\u003Cp>theo. Việc trả kết quả theo luồng có ưu điểm lớn là giảm được dung\u003C/p>\n\u003Cp>lượng lưu trữ kết quả (chỉ cần một lượng bộ nhớ nhỏ bị chiếm dụng để là\u003C/p>\n\u003Cp>bộ đệm nhằm giảm bớt thao tác truy xuất file). Điều này là cần thiết vì\u003C/p>\n\u003Cp>danh sách các tài liệu tr3 về có thể rất lớn (hàng chục ngàn trzng với\u003C/p>\n\u003Cp>hàng MB bộ nhớ) và hệ thống hoạt động trên môi trường mạng nên phải\u003C/p>\n\u003Cp>xử lý rất nhiều yêu cầu đồng thời, dẫn đến việc hệ thống có thể bị cạn\u003C/p>\n\u003Cp>kiệt tài nguyên bộ nhớ nếu phải lưu trữ toàn bộ kết quả trong bộ nhớ.\u003C/p>\n\u003Cp>Với mô hình này dung lượng bộ nhớ bị chiếm dụng bởi một yêu cầu đọc\u003C/p>\n\u003Cp>danh sách các tài liệu trên file nghịch đảo không phụ thuộc vào số lượng kết quả trả\u003C/p>\n\u003Cp>về.\u003C/p>\n\u003Cp>Mặt khác file nghịch đảo được truy cập thường xuyên khi xử lý yêu cầu tìm\u003C/p>\n\u003Cp>kiếm và thao tác đọc dữ liệu từ file nghịch đảo chiếm nhiều thời giannhất trong\u003C/p>\n\u003Cp>tổng số thời gian cần thiết để hoàn tất một yêu cầu tìm kiếm. Vì dung lượng file\u003C/p>\n\u003Cp>- 95 -\u003C/p>\n\u003Cp>nghịch đảo thay đổi, tăng theo thời gian và số lượng file đã xử lý nên nó có thể trở\u003C/p>\n\u003Cp>nên quá lớn, dẫn đến tình trạng không thể lưu toàn bộ file nghịch đảo vào bộ nhớ.\u003C/p>\n\u003Cp>Do đó để tăng tốc độ tìm kiếm, thực hiện cấp phát một vùng nhớ đóng vai trò bộ\u003C/p>\n\u003Cp>đệm cho thao tác đọc file này. Bộ đệm chi thành các trang với dung lượng bằng\u003C/p>\n\u003Cp>dung lượng một trang cấp phát cho từng mục từ 1KB. Khi có yêu cầu truy xuất một\u003C/p>\n\u003Cp>trang trong file nghịch đảo, trang cần sẽ được nạp lên bộ đệm nếu chưa có trong bộ\u003C/p>\n\u003Cp>đệm và tồn tại ở đó để có thể sử dụng cho những lần truy xuất sau (không phải truy\u003C/p>\n\u003Cp>cập lại đĩa). Giải thuật thực hiện thay thế các trang trong bộ đệm là giải thuật lâu\u003C/p>\n\u003Cp>nhất chưa sử dụng.\u003C/p>\n\u003Ch4>5.7. Module nhận và phân tích query từ người dùng\u003C/h4>\n\u003Cp>\u003C/p>\n\u003Cp>5.7.1. Mô hình hoạt động\u003C/p>\n\u003Cp>- 96 -\u003C/p>\n\u003Cp>Hình 5.7-1: Mô hình hoạt động module nhận và phân tích query từ người dùng\u003C/p>\n\u003Cp>5.7.2. Mô hình xử lý\u003C/p>\n\u003Cp>Hình 5.7-2: Mô hình xử lý quá trình nhận và phân tích query người dùng\u003C/p>\n\u003Cp>5.7.3. Mô tả\u003C/p>\n\u003Cp>Đây là hệ thống giao diện chính tiến hành giao tiếp với người dùng\u003C/p>\n\u003Cp>Yêu cầu: Cung cấp giao diện, tiếp nhận yêu cầu tìm kiếm, phân tích yêu cầu\u003C/p>\n\u003Cp>và trả về kết quả tìm kiếm tương ứng\u003C/p>\n\u003Cp>Các bước thực hiện:\u003C/p>\n\u003Cp>Hình 5.7-3: Quá trình nhận và phân tích query từ người dùng\u003C/p>\n\u003Cp>• Người dùng kết nối đến hệ thống thông qua một servlet kiểm tra:\u003C/p>\n\u003Cp>Servlet này sẽ kiểm tra khả năng hiển thị của trình duyệt đang kết nối\u003C/p>\n\u003Cp>sau đó chuyển yêu cầu đến trang giao diện tương ứng (WML 1.x hoặc\u003C/p>\n\u003Cp>WAP 2.0)\u003C/p>\n\u003Cp>• Hệ thống tiếp nhận chuỗi từ khóa tìm kiếm\u003C/p>\n\u003Cp>• Phân tích chuỗi\u003C/p>\n\u003Cp>• Kiểm tra và truy vấn kết quả từ cơ sở dữ liệu chỉ mục\u003C/p>\n\u003Cp>• Trả kết quả về cho người dùng thông qua giao diện tương ứng (được\u003C/p>\n\u003Cp>lưu theo session)\u003C/p>\n\u003Cp>5.7.4. Mô hình sequence\u003C/p>\n\u003Cp>- 99 -\u003C/p>\n\u003Cp>Hình 5.7-4: Mô hình sequence\u003C/p>\n\u003Ch4>5.8. Module chuyển đổi trang web\u003C/h4>\n\u003Cp>5.8.1. Mô hình hoạt động\u003C/p>\n\u003Cp>Hình 5.8-1: Mô hình hoạt động của bộ chuyển đổi\u003C/p>\n\u003Cp>5.8.2. Mô tả\u003C/p>\n\u003Cp>Module này sẽ thực hiện việc chuyển đổi các trang web thuần túy (chủ yếu là\u003C/p>\n\u003Cp>trang HTML) sang các trang thuộc chuẩn WAP (XHTML và WML) để có thể hiển\u003C/p>\n\u003Cp>thị trên các thiết bị di động giúp người dùng có thể xem được các thông tin hữu ích\u003C/p>\n\u003Cp>được trả về từ hệ thống tìm kiếm.\u003C/p>\n\u003Cp>Yêu cầu: Nhận vào một liên kết và trả về một trang WAP theo chuẩn\u003C/p>\n\u003Cp>XHTML đối với trình duyệt 2.0 và WML đối với trình duyệt 1.x.\u003C/p>\n\u003Cp>Các bước thực hiện:\u003C/p>\n\u003Cp>Hình 5.8-2: Quá trình chuyển đổi trang web\u003C/p>\n\u003Cp>(cid:131) Nhận liên kết (URL) gửi về khi người dùng chọn một liên kết trong\u003C/p>\n\u003Cp>trang wap kết quả tìm kiếm trên trình duyệt wap của thiết bị di động.\u003C/p>\n\u003Cp>(cid:131) Tải trang web về máy: chỉ tải trang HTML và một số ít hình ảnh (bỏ\u003C/p>\n\u003Cp>qua các thông tin dưới dạng flash, movie, animation…)\u003C/p>\n\u003Cp>(cid:131) Chuẩn hóa trang HTML tải về thành trang WAP tương ứng: đảm\u003C/p>\n\u003Cp>bảo các ràng buộc của chuẩn XHTML\u003C/p>\n\u003Cp>(cid:131) Gửi trang WAP kết quả về cho người dùng\u003C/p>\n\u003Cp>5.8.3. Mô hình sequence\u003C/p>\n\u003Cp>- 102 -\u003C/p>\n\u003Cp>Hình 5.8-3: Mô hình sequence của module chuyển đổi trang web\u003C/p>\n\u003Ch4>Chương 6. CÀI ĐẶT\u003C/h4>\n\u003Cp>Hệ thống được phát triển với các công cụ/môi trường\u003C/p>\n\u003Cp>• Công cụ phân tích thiết kế: Rational Rose 2003\u003C/p>\n\u003Cp>• Hệ điều hành: Windows XP Professional Service Pack 1\u003C/p>\n\u003Cp>• Môi trường lập trình: Borland JbuilderX\u003C/p>\n\u003Cp>• Môi trường thử nghiệm: Bộ giả lập của Nokia bao gồm WAP gateway\u003C/p>\n\u003Cp>và bộ trình duyệt WAP\u003C/p>\n\u003Cp>• Cơ sở dữ liệu: Oracle 9i\u003C/p>\n\u003Cp>• Các công cụ đồ họa bổ trợ: Microsoft Frontpage 2003, Adobe\u003C/p>\n\u003Cp>Photoshop CS, Adobe Illustrator CS, …\u003C/p>\n\u003Ch4>6.1. Hệ thống cơ sở dữ liệu chỉ mục\u003C/h4>\n\u003Cp>\u003C/p>\n\u003Cp>Sau khi tạo service phục vụ cho việc lập chỉ mục trên Oracle ta cần phải đăng\u003C/p>\n\u003Cp>ký service với ODBC (Xem phụ lục A.1.b “Hướng triển khai hệ thống”)\u003C/p>\n\u003Cp>Các bảng trong cơ sở dữ liệu chỉ mục:\u003C/p>\n\u003Cp>STARTPAGE (DOCID, URL, NGAYCAPNHAT)\u003C/p>\n\u003Cp>Bảng chứa địa chỉ các trang web khởi đầu sẽ được download\u003C/p>\n\u003Cp>về để lập chỉ mục.\u003C/p>\n\u003Cp>DADOWNLOAD (DOCID, URL, NGAYCAPNHAT)\u003C/p>\n\u003Cp>Bảng chứa thông tin các trang đã được download về nhưng\u003C/p>\n\u003Cp>chưa được lập chỉ mục. Các trang đã được lập chỉ mục sẽ được xóa\u003C/p>\n\u003Cp>khỏi bảng này.\u003C/p>\n\u003Cp>DALAPCHIMUC (DOCID, URL, TIEUDE, TRICHDAN,\u003C/p>\n\u003Cp>NGAYCAPNHAT)\u003C/p>\n\u003Cp>Bảng chứa thông tin các trang đã được lập chỉ mục\u003C/p>\n\u003Cp>THAMSO (TEN, GIATRI)\u003C/p>\n\u003Cp>Bảng chứa các tham số: CurrentDocId, DownloadDocId\u003C/p>\n\u003Cp>Các thao tác tạo bảng và tạo các proceduce được thực thi tự động thông qua\u003C/p>\n\u003Cp>file script SCRIPT.SQL được đặt trong thư mục Working.\u003C/p>\n\u003Ch4>6.2. Module chuyển đổi trang HTML sang trang WAP\u003C/h4>\n\u003Cp>\u003C/p>\n\u003Cp>6.2.1. Các lớp cài đặt chính\u003C/p>\n\u003Cp>Html2Wml: Servlet chuyển đổi trang HTML sang trang WML (chuẩn WAP\u003C/p>\n\u003Cp>1.x)\u003C/p>\n\u003Cp>Html2Xhtml: Servlet chuẩn hóa trang HTML sang trang XHTML (chuẩn\u003C/p>\n\u003Cp>WAP 2.0)\u003C/p>\n\u003Cp>6.2.2. Phần chuyển đổi WAP 1.x – Servlet Html2Wml\u003C/p>\n\u003Cp>(cid:190) Đầu vào: Nhận 1 URL\u003C/p>\n\u003Cp>(cid:190) Đầu ra: trang wml theo chuẩn WAP 1.x\u003C/p>\n\u003Cp>(cid:190) Các bước tiến hành:\u003C/p>\n\u003Cp>Hình 6.2-1: Các bước chuyển đổi WAP 1.x\u003C/p>\n\u003Cp>1. Nhận URL\u003C/p>\n\u003Cp>2. Tải trang web có URL vừa nhận về một thư mục trên máy chủ\u003C/p>\n\u003Cp>3. Lọc bỏ hình ảnh và các đối tượng multimedia khác\u003C/p>\n\u003Cp>4. Trích lấy phần text\u003C/p>\n\u003Cp>- 105 -\u003C/p>\n\u003Cp>5. Chỉnh sửa các liên kết trên trang (nếu có) : Chuyển hướng liên kết\u003C/p>\n\u003Cp>đi qua servlet chuyển đổi.\u003C/p>\n\u003Cp>6. Xuất ra output trang wml\u003C/p>\n\u003Cp>6.2.3. Phần chuyển đổi WAP 2.0 – Servlet Html2Xhml\u003C/p>\n\u003Cp>(cid:190) Đầu vào: Nhận một địa chỉ URL của một trang web\u003C/p>\n\u003Cp>(cid:190) Đầu ra: trang XHTML theo chuẩn WAP 2.0\u003C/p>\n\u003Cp>(cid:190) Các bước tiến hành:\u003C/p>\n\u003Cp>Hình 6.2-2: Các bước chuyển đổi WAP 2.0\u003C/p>\n\u003Cp>1. Nhận URL\u003C/p>\n\u003Cp>2. Tải trang web có URL vừa nhận về thư mục trên máy chủ\u003C/p>\n\u003Cp>3. Chuẩn hóa các thẻ\u003C/p>\n\u003Cp>4. Chỉnh sửa các liên kết trên trang (nếu có): Chuyển hướng liên kết\u003C/p>\n\u003Cp>đi qua servlet chuyển đổi.\u003C/p>\n\u003Cp>5. Xuất ra output trang wml\u003C/p>\n\u003Ch4>6.3. Module nhận và phân tích query từ người dùng\u003C/h4>\n\u003Cp>\u003C/p>\n\u003Cp>6.3.1. Các lớp cài đặt chính\u003C/p>\n\u003Cp>Search: Servlet quản lý việc gọi các hàm cung cấp giao diện từ lớp SearchUI\u003C/p>\n\u003Cp>để tạo nên trang tìm kiếm, trang kết quả, phân tích query của người dùng nhập vào\u003C/p>\n\u003Cp>và truy vấn cơ sở dữ liệu để lấy các kết quả tìm kiếm.\u003C/p>\n\u003Cp>SearchUI: Cung cấp giao diện cho trang tìm kiếm\u003C/p>\n\u003Cp>- 106 -\u003C/p>\n\u003Cp>6.3.2. Phần xử lý detect trình duyệt\u003C/p>\n\u003Cp>Để xác định khả năng hiển thị của trình duyệt trên thiết bị di động cần phải\u003C/p>\n\u003Cp>xây dựng phần kiểm tra phần HTTP header được trả về từ thiết bị di động với hai\u003C/p>\n\u003Cp>thuộc tính: accept và user-agent.\u003C/p>\n\u003Cp>String accept = request.getHeader(\"accept\");\u003C/p>\n\u003Cp>int userAgentClass = WML1_PHONE;\u003C/p>\n\u003Cp>if (accept.indexOf(\"text/html\") != -1){\u003C/p>\n\u003Cp>userAgentClass = accept.indexOf(\"application/vdn.wap.wmlc\") != -1 ?\u003C/p>\n\u003Cp>WAP2_PHONE : XHTML_BROWSER;\u003C/p>\n\u003Cp>if (userAgentClass == WAP2_PHONE &&\u003C/p>\n\u003Cp>accept.indexOf(\"application/xhtnl+xml\") == -1){\u003C/p>\n\u003Cp>userAgentClass = WML1_PHONE;\u003C/p>\n\u003Cp>}\u003C/p>\n\u003Cp>}\u003C/p>\n\u003Cp>String userAgent = request.getHeader(\"user-agent\");\u003C/p>\n\u003Cp>if (userAgent.indexOf(\"Mozilla\") != -1)\u003C/p>\n\u003Cp>userAgentClass = XHTML_BROWSER;\u003C/p>\n\u003Cp>Đoạn mã kiểm tra:\u003C/p>\n\u003Cp>Sau khi xác định được khả năng của trình duyệt ta thiết lập Content Type cho phần\u003C/p>\n\u003Cp>response.setContentType(userAgentClass == WML1_PHONE ?\u003C/p>\n\u003Cp>WML_CONTENT_TYPE : userAgentClass == WAP2_PHONE ?\u003C/p>\n\u003Cp>XHTML_CONTENT_TYPE : HTML_CONTENT_TYPE);\u003C/p>\n\u003Cp>response.setHeader(\"cach-control\",\"no-cache\");\u003C/p>\n\u003Cp>response header:\u003C/p>\n\u003Cp>HttpSession session = request.getSession(true);\u003C/p>\n\u003Cp>session.setAttribute(\"userAgentClass\",\u003C/p>\n\u003Cp>Integer.toString(userAgentClass));\u003C/p>\n\u003Cp>Ta lưu thông tin trình duyệt vào session người dùng\u003C/p>\n\u003Cp>if (userAgentClass == WML1_PHONE){\u003C/p>\n\u003Cp>Cuối cùng chuyển người dùng đến trang nội dung tương ứng:\u003C/p>\n\u003Cp>- 107 -\u003C/p>\n\u003Cp>response.sendRedirect(\"/www/wmlcontent\");\u003C/p>\n\u003Cp>}else if (userAgentClass == WAP2_PHONE){\u003C/p>\n\u003Cp>response.sendRedirect(\"/www/xhtmlcontent\");\u003C/p>\n\u003Cp>}else if (userAgentClass == XHTML_BROWSER){\u003C/p>\n\u003Cp>response.sendRedirect(\"/www/xhtmlcontent\");\u003C/p>\n\u003Cp>6.3.3. Phần xử lý query\u003C/p>\n\u003Cp>String query = request.getParameter(\"query\");\u003C/p>\n\u003Cp>Nhận query của người dùng nhập vào\u003C/p>\n\u003Cp>Vector v = manager.parseQuery(query);\u003C/p>\n\u003Cp>Vector vword = new Vector();\u003C/p>\n\u003Cp>//Vector chua cac stopword\u003C/p>\n\u003Cp>int size = v.size();\u003C/p>\n\u003Cp>String word;\u003C/p>\n\u003Cp>Word = (String)v.elementAt(i);\u003C/p>\n\u003Cp>for (i=0;i\u003Csize;i++){\u003C/p>\n\u003Cp>word = (String)v.elementAt(i);\u003C/p>\n\u003Cp>if (!manager.isStopWord(word))\u003C/p>\n\u003Cp>vword.addElement(word);\u003C/p>\n\u003Cp>}\u003C/p>\n\u003Cp>Quá trình phân tích query\u003C/p>\n\u003Cp>Mỗi một word là một từ có nghĩa được phân tích từ chuỗi query\u003C/p>\n\u003Cp>int nword = 0;\u003C/p>\n\u003Cp>StreamInverseFile streams[];\u003C/p>\n\u003Cp>nword = vword.size();\u003C/p>\n\u003Cp>//so luong stopword trong query\u003C/p>\n\u003Cp>if (nword>0)\u003C/p>\n\u003Cp>{\u003C/p>\n\u003Cp>streams = new StreamInverseFile[nword];\u003C/p>\n\u003Cp>for (i=0;i\u003Cnword;i++)\u003C/p>\n\u003Cp>streams[i] =\u003C/p>\n\u003Cp>manager.getStreamResult((String)vword.elementAt(i));\u003C/p>\n\u003Cp>JoinStream join = new JoinStream(streams);\u003C/p>\n\u003Cp>6.3.4. Phần truy vấn cơ sở dữ liệu tìm kiếm kết quả\u003C/p>\n\u003Cp>- 108 -\u003C/p>\n\u003Cp>SortedResult sorted = new\u003C/p>\n\u003Cp>SortedResult(join,nword);\u003C/p>\n\u003Cp>sorted.skip(start);\u003C/p>\n\u003Cp>int nItem,nPage;\u003C/p>\n\u003Cp>n=0;\u003C/p>\n\u003Cp>nItem = sorted.arr.size(); //nItem: so tai lieu\u003C/p>\n\u003Cp>tim thay\u003C/p>\n\u003Cp>}\u003C/p>\n\u003Cp>Mảng sorted chứa các tài liệu được tìm thấy, để lấy một tài liệu\u003C/p>\n\u003Cp>Item item;\u003C/p>\n\u003Cp>item=sorted.getItem ();\u003C/p>\n\u003Cp>6.3.5. Giao diện tìm kiếm trên thiết bị di động\u003C/p>\n\u003Cp>6.3.5.1. Giao diện cho trình duyệt hỗ trợ WAP 2.0\u003C/p>\n\u003Cp>Trang chủ\u003C/p>\n\u003Cp>- 109 -\u003C/p>\n\u003Cp>Kết quả tìm kiếm\u003C/p>\n\u003Cp>Trang tùy chọn kết quả hiển thị\u003C/p>\n\u003Cp>- 110 -\u003C/p>\n\u003Cp>6.3.5.2. Giao diện cho trình duyệt hỗ trợ WAP 1.x\u003C/p>\n\u003Cp>Trang chủ\u003C/p>\n\u003Cp>Trang kết quả\u003C/p>\n\u003Cp>- 111 -\u003C/p>\n\u003Ch4>Chương 7. THỬ NGHIỆM\u003C/h4>\n\u003Ch4>7.1. Thử nghiệm trên các bộ giả lập\u003C/h4>\n\u003Cp>Môi trường thử nghiệm\u003C/p>\n\u003Cp>• Hệ điều hành: Windows XP Professional Service Pack 1\u003C/p>\n\u003Cp>• Cơ sở dữ liệu: Oracle 9i\u003C/p>\n\u003Cp>• Web server: Apache Tomcat 4.06 được chạy trên máy local\u003C/p>\n\u003Cp>• Bộ giả lập Nokia: WAP gateway và bộ trình duyệt WAP\u003C/p>\n\u003Cp>Kết quả thử nghiệm\u003C/p>\n\u003Cp>(cid:153) Có khả năng download các trang web trên mạng cục bộ cũng\u003C/p>\n\u003Cp>• Máy tìm kiếm:\u003C/p>\n\u003Cp>(cid:153) Quá trình lập chỉ mục các trang web tải về tương đối nhanh.\u003C/p>\n\u003Cp>(cid:153) Cung cấp kết quả tìm kiếm tương đối chính xác\u003C/p>\n\u003Cp>(cid:153) Giao diện quản trị dễ hiểu, tiện dụng (Xem phần phụ lục B\u003C/p>\n\u003Cp>như trên Internet\u003C/p>\n\u003Cp>“Quản trị hệ thống Mobile Search Engine”)\u003C/p>\n\u003Cp>(cid:153) Hoạt động hiểu quả trên các dòng trình duyệt khác nhau (IE\u003C/p>\n\u003Cp>• Hệ thống giao diện nhận từ khóa tìm kiếm của người dùng\u003C/p>\n\u003Cp>6.0, FireFox, trình duyệt WML 1.x giả lập của Nokia, trình\u003C/p>\n\u003Cp>duyệt WAP 2.0 giả lập của Nokia, trình duyệt WAP giả lập của\u003C/p>\n\u003Cp>(cid:153) Đơn giản, dễ sử dụng\u003C/p>\n\u003Cp>(cid:153) Hiển thị kết quả rõ ràng cho người dùng\u003C/p>\n\u003Cp>Erricsion)\u003C/p>\n\u003Cp>(cid:153) Hoạt động tương đối tốt khi chuyển từ HTML sang XHTML\u003C/p>\n\u003Cp>• Hệ thống chuyển đổi:\u003C/p>\n\u003Ch4>7.2. Thử nghiệm trên môi trường thực tế\u003C/h4>\n\u003Cp>\u003C/p>\n\u003Cp>Môi trường thử nghiệm\u003C/p>\n\u003Cp>- 112 -\u003C/p>\n\u003Cp>• Hệ điều hành: Windows XP Professional Service Pack 1\u003C/p>\n\u003Cp>• Cơ sở dữ liệu: Oracle 9i\u003C/p>\n\u003Cp>• Web server: Apache Tomcat 4.06\u003C/p>\n\u003Cp>• Điện thoại di động Nokia 6610, 6600, Motorola V3\u003C/p>\n\u003Cp>• Hệ thống được đưa lên mạng Internet thông qua đường truyền ADSL\u003C/p>\n\u003Cp>do FPT cung cấp (Xem phần phụ lục A.4 “Đưa trang web lên Internet\u003C/p>\n\u003Cp>qua đường truyền ADSL – Self-hosting”)\u003C/p>\n\u003Cp>Kết quả thực nghiệm:\u003C/p>\n\u003Cp>• Hệ thống có thể được truy cập từ các thiết bị di động thật có tích hợp\u003C/p>\n\u003Cp>sẵn trình duyệt WAP\u003C/p>\n\u003Cp>• Thao tác tìm kiếm tiện lợi, nhanh chóng, kết quả tương đối chính xác.\u003C/p>\n\u003Cp>- 113 -\u003C/p>\n\u003Ch4>Chương 8. TỔNG KẾT\u003C/h4>\n\u003Ch4>8.1. Kết quả đạt được\u003C/h4>\n\u003Cp>Sau khi thực hiện đề tài, chúng em đã thu được một số kết quả sau:\u003C/p>\n\u003Cp>• Tìm hiểu được công nghệ WAP, công nghệ thông dụng phục vụ cho\u003C/p>\n\u003Cp>việc cung cấp, trao đổi thông tin trên Internet thông qua các thiết bị di\u003C/p>\n\u003Cp>động. Nội dung tìm hiểu bao gồm tình hình phát triển của WAP, kiến\u003C/p>\n\u003Cp>trúc, đặc điểm kỹ thuật, đặc điểm triển khai, những hạn chế và tương\u003C/p>\n\u003Cp>lai phát triển của WAP. Bên cạnh đó nhóm còn tìm hiểu thêm được\u003C/p>\n\u003Cp>các kiến thức về mạng thông tin di động và mạng không dây.\u003C/p>\n\u003Cp>• Tìm hiểu được mô hình hoạt động của một máy tìm kiếm – search\u003C/p>\n\u003Cp>engine và triển khai, áp dụng máy tìm kiếm vào mô hình ứng dụng\u003C/p>\n\u003Cp>của đề tài.\u003C/p>\n\u003Cp>• Tìm hiểu được cách thức chuẩn hóa một tài liệu HTML theo chuẩn\u003C/p>\n\u003Cp>của XML (XHTML)\u003C/p>\n\u003Cp>• Có được kiến thức triển khai một hệ thống sử dụng cơ sở dữ liệu\u003C/p>\n\u003Cp>Oracle 9i.\u003C/p>\n\u003Cp>• Phát triển khả năng lập trình sử dụng ngôn ngữ Java và môi trường\u003C/p>\n\u003Cp>tích hợp Borland JbuilderX\u003C/p>\n\u003Cp>• Xây dựng được hệ thống tìm kiếm phục vụ cho các thiết bị di động.\u003C/p>\n\u003Cp>• Tìm hiểu và vận hành tốt các web server: Apache 4.1, Apache Tomcat\u003C/p>\n\u003Cp>4.0.6, Resin\u003C/p>\n\u003Cp>• Triển khai được hệ thống trên đường truyền ADSL, vốn có khó khăn\u003C/p>\n\u003Cp>do địa chỉ IP do nhà cung cấp phân phối là địa chỉ IP động – dynamic\u003C/p>\n\u003Cp>IP. Xem thêm phần phụ lục A.4. “Đưa trang web lên Internet qua\u003C/p>\n\u003Cp>đường truyền ADSL – Self-hosting”.\u003C/p>\n\u003Cp>- 114 -\u003C/p>\n\u003Ch4>8.2. Hạn chế\u003C/h4>\n\u003Cp>Mặc dù nhóm đã có một thời gian học tập, làm việc tích cực nhưng do thời\u003C/p>\n\u003Cp>gian có hạn và không có điều kiện tốt để thử nghiệm nên vẫn còn tồn tại những hạn\u003C/p>\n\u003Cp>chế:\u003C/p>\n\u003Cp>• Chưa tiến hành thực nghiệm được các hệ thống thực tế nhất là đối với\u003C/p>\n\u003Cp>kiến trúc hoạt động của WAP, WAP gateway và các hướng bảo mật\u003C/p>\n\u003Cp>của WAP.\u003C/p>\n\u003Cp>• Máy tìm kiếm chưa hỗ trợ được tiếng Việt. Chưa tối ưu hóa được mô\u003C/p>\n\u003Cp>hình hoạt động của máy tìm kiếm để phục vụ riêng các nội dung phù\u003C/p>\n\u003Cp>hợp cho thiết bị di động.\u003C/p>\n\u003Cp>• Hệ thống chuyển đổi hoạt động chưa hiệu quả nhất là các trường hợp\u003C/p>\n\u003Cp>trang web có frame, có nhiều table lồng vào nhau,…\u003C/p>\n\u003Cp>- 115 -\u003C/p>\n\u003Ch3>PHẦN IV.\u003C/h3>\n\u003Ch3>ĐÁNH GIÁ – HƯỚNG PHÁT TRIỂN\u003C/h3>\n\u003Cp>- 116 -\u003C/p>\n\u003Cp>Với những kết quả đạt được và những hạn chế còn tồn tại, đề tài có thể mở\u003C/p>\n\u003Cp>rộng theo các hướng sau:\u003C/p>\n\u003Cp>• Phát triển máy tìm kiếm để có thể hỗ trợ tất cả các bảng mã tiếng\u003C/p>\n\u003Cp>Việt.\u003C/p>\n\u003Cp>• Tối ưu hóa mô hình hoạt động của máy tìm kiếm để phục vụ tốt hơn\u003C/p>\n\u003Cp>cho thiết bị di động, ví dụ: cho phép chọn trọng số của từ khóa trong\u003C/p>\n\u003Cp>các kết quả tìm được, cho phép người dùng đánh giá độ phù hợp của\u003C/p>\n\u003Cp>kết quả để phục vụ cho yêu cầu tìm kiếm sau đó...\u003C/p>\n\u003Cp>• Phát triển bộ chuyển đổi để có thể tiến hành phân tích và dàn trang lại\u003C/p>\n\u003Cp>trang web: sắp xếp các table, loại bỏ các frame, resize hình ảnh,\u003C/p>\n\u003Cp>chuyển đổi định dạng hình ảnh để có thể hiển thị tốt trên các thiết bị\u003C/p>\n\u003Cp>di động, loại bỏ các file mà hầu hết các trình duyệt WAP chưa hỗ trợ:\u003C/p>\n\u003Cp>Flash,…\u003C/p>\n\u003Cp>- 117 -\u003C/p>\n\u003Ch4>TÀI LIỆU THAM KHẢO\u003C/h4>\n\u003Cp>[1] Sergey Brin and Lawrence Page, The anatomy of a large-scale hypertextual web\u003C/p>\n\u003Cp>search engine, Computer Science Department, Stanford University.\u003C/p>\n\u003Cp>[2] Huỳnh Thụy Bảo Trân, Nghiên cứu một số mô hình Và Xây Dựng Thử Nghiệm\u003C/p>\n\u003Cp>Một máy tìm kiếm Tiếng Việt, Luận Án Thạc Sĩ Khoa Học, 2002.\u003C/p>\n\u003Cp>[3] http://www.lib.berkeley.edu/TeachingLib/Guides/Internet/MetaSearch.html\u003C/p>\n\u003Cp>[4] http://www.lookoff.com/tactics/engines_basics.php3#metasearch\u003C/p>\n\u003Cp>[5] http://www.cs.utexas.edu/users/mooney/ir-course/\u003C/p>\n\u003Cp>[6] http://www.searchtools.com\u003C/p>\n\u003Cp>[7] http://www.ovum.com\u003C/p>\n\u003Cp>[8] WAP 2.0 with XHTML over TCP/IP\u003C/p>\n\u003Cp>[9] Professional WAP – FlyHeart.com\u003C/p>\n\u003Cp>[10] Next Generation Mobile Browsing White Paper v1.0\u003C/p>\n\u003Cp>[11] WML to XHTML Migration v2.1\u003C/p>\n\u003Cp>[12] XHTML Guidelines v1.2\u003C/p>\n\u003Cp>[13] http://www.google.com.vn\u003C/p>\n\u003Cp>[14] NMIT4.1 User Guide v1.0\u003C/p>\n\u003Cp>[15] Nokia Mobile Browser Simulator 4.0 User's Guide\u003C/p>\n\u003Cp>[16] Nokia WAP Gateway Simulator 4.0 User's Guide\u003C/p>\n\u003Cp>- 118 -\u003C/p>\n\u003Ch4>PHỤ LỤC A\u003C/h4>\n\u003Ch4>HƯỚNG TRIỂN KHAI HỆ THỐNG\u003C/h4>\n\u003Cp>- 119 -\u003C/p>\n\u003Cp>1. Cơ sở dữ liệu\u003C/p>\n\u003Cp>a) Cài đặt\u003C/p>\n\u003Cp>Cài đặt hệ quản trị cơ sở dữ liệu Oracle 9i\u003C/p>\n\u003Cp>Tạo mới một user với hệ thống phân quyền sau:\u003C/p>\n\u003Cp>Role: CONNECT, RESOURCE\u003C/p>\n\u003Cp>System: UNLIMITED TABLESPACE\u003C/p>\n\u003Cp>b) Đăng ký cơ sở dữ liệu với hệ thống ODBC\u003C/p>\n\u003Cp>Tiến hành theo các bước sau:\u003C/p>\n\u003Cp>Chọn Control Panel>Administrative Tools>Data Source (ODBC)\u003C/p>\n\u003Cp>Chọn Add… để thêm mới một cơ sở dữ liệu. Xuất hiện hộp thoại Create\u003C/p>\n\u003Cp>New Data Source:\u003C/p>\n\u003Cp>- 120 -\u003C/p>\n\u003Cp>Chọn Oracle in OraHome92\u003C/p>\n\u003Cp>Chọn Finish\u003C/p>\n\u003Cp>Xuất hiện hộp thoại Oracle ODBC Driver Configuration\u003C/p>\n\u003Cp>Nhập tên cơ sở dữ liệu (Data Source Name)\u003C/p>\n\u003Cp>- 121 -\u003C/p>\n\u003Cp>Nhập tên của dịch vụ cơ sở dữ liệu (TNS Service Name)\u003C/p>\n\u003Cp>Nhập tên user (User ID)\u003C/p>\n\u003Cp>Đến đây ta đã hoàn thành đăng ký cơ sở dữ liệu với hệ thống ODBC.\u003C/p>\n\u003Cp>Ta có thể kiểm tra kết nối đến dịch vụ bằng cách chọn Test Connection. Khi\u003C/p>\n\u003Cp>đó sẽ xuất hiện hộp thoại Oracle ODBC Driver Connect\u003C/p>\n\u003Cp>Nhập password tương ứng với người dùng và chọn OK. Nếu kết nối thành\u003C/p>\n\u003Cp>công sẽ xuất hiện hộp thoại\u003C/p>\n\u003Cp>Nếu bị lỗi trong khi kết nối sẽ thông báo lỗi. Ví dụ khi nhập sai pasword\u003C/p>\n\u003Cp>Đến đây thì cơ sở dữ liệu đã có thể phục vụ cho nhu cầu lập chỉ mục của hệ\u003C/p>\n\u003Cp>thống máy tìm kiếm.\u003C/p>\n\u003Cp>Các bảng và các proceduce được thực thi tự động khi tiến hành cấu hình máy\u003C/p>\n\u003Cp>tìm kiếm thông qua giao diện web. Nội dung của các script được lưu trong file\u003C/p>\n\u003Cp>SCRIPT.SQL trong thư mục SearchEngine/www/Working\u003C/p>\n\u003Cp>- 122 -\u003C/p>\n\u003Cp>2. Web server\u003C/p>\n\u003Cp>Hệ thống được triển khai trên Web server Apache Tomcat 4.0.6\u003C/p>\n\u003Cp>a) Cài đặt\u003C/p>\n\u003Cp>Gói cài đặt có thể download từ trang web http://jakarta.apache.org/tomcat\u003C/p>\n\u003Cp>Quá trình cài đặt được tiến hành tuần tự qua các bước\u003C/p>\n\u003Cp>Chú ý: Chọn mục NT Service (NT/2k/XP only)\u003C/p>\n\u003Cp>- 123 -\u003C/p>\n\u003Cp>Chọn Install để tiến hành cài đặt.\u003C/p>\n\u003Cp>b) Thiết lập server\u003C/p>\n\u003Cp>Do hệ thống Oracle sử dụng web server Apache và được thiết lập để nhận kết\u003C/p>\n\u003Cp>nối ở cổng 8080 trong khi mặc định web server Apache Tomcat 4.0.6 cũng được\u003C/p>\n\u003Cp>thiết lập để nhận kết nối qua cổng 8080, ta cần phải thiết lập đổi cổng nhận kết nối\u003C/p>\n\u003Cp>của Apache Tomcat 4.0.6 sang cổng khác (ví dụ 8085) để tránh xung đột.\u003C/p>\n\u003Cp>Để thiết lập đổi cổng nhận kết nối của Apache Tomcat 4.0.6 ta tiến hành\u003C/p>\n\u003Cp>chỉnh sửa trong file C:\\Program Files\\Apache Tomcat 4.0\\conf\\server.xml (có thể\u003C/p>\n\u003Cp>truy cập file thông qua đường dẫn Start Menu>All Programs>Apache Tomcat\u003C/p>\n\u003Cp>4.0>Configuration>Edit Server Confiiguration. Ta đổi giá trị 8080 thành 8085 tại\u003C/p>\n\u003Cp>\u003C!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->\u003C/p>\n\u003Cp>\u003CConnector\u003C/p>\n\u003Cp>className=\"org.apache.catalina.connector.http.HttpConnector\"\u003C/p>\n\u003Cp>port=\"8080\" minProcessors=\"5\" maxProcessors=\"75\"\u003C/p>\n\u003Cp>enableLookups=\"true\" redirectPort=\"8443\"\u003C/p>\n\u003Cp>acceptCount=\"10\" debug=\"0\"\u003C/p>\n\u003Cp>connectionTimeout=\"60000\"/>\u003C/p>\n\u003Cp>dòng sau:\u003C/p>\n\u003Cp>Kết quả sau khi thay đổi:\u003C/p>\n\u003Cp>- 124 -\u003C/p>\n\u003Cp>\u003C!-- Define a non-SSL HTTP/1.1 Connector on port 8085 -->\u003C/p>\n\u003Cp>\u003CConnector\u003C/p>\n\u003Cp>className=\"org.apache.catalina.connector.http.HttpConnector\"\u003C/p>\n\u003Cp>port=\"8085\" minProcessors=\"5\" maxProcessors=\"75\"\u003C/p>\n\u003Cp>enableLookups=\"true\" redirectPort=\"8443\"\u003C/p>\n\u003Cp>acceptCount=\"10\" debug=\"0\"\u003C/p>\n\u003Cp>connectionTimeout=\"60000\"/>\u003C/p>\n\u003Cp>Apache Tomcat 4.0.6 đã được tự động thiết lập để có thể quản lý các file có\u003C/p>\n\u003Cp>định dạng của WAP (wml, wml script, wbmp, xhtml,…) Ta có thể thay đổi thiết lập\u003C/p>\n\u003Cp>trong file: Start Menu>All Programs>Apache Tomcat 4.0>Configuration>Edit\u003C/p>\n\u003Cp>Webapp Defaults\u003C/p>\n\u003Cp>Thực thi Apache Tomcat 4.0.6\u003C/p>\n\u003Cp>Chọn Start Menu>All Programs>Apache Tomcat 4.0>Start Tomcat để chạy\u003C/p>\n\u003Cp>Apache Tomcat 4.0.6 (Stop Tomcat để dừng)\u003C/p>\n\u003Cp>Mở trình duyệt web (IE, Mozilla, Firefox,…) truy cập đến địa chỉ\u003C/p>\n\u003Cp>http://localhost:8085. Nếu server được thiết lập chính xác thì sẽ xuất hiện trang\u003C/p>\n\u003Cp>homepage của Tomcat:\u003C/p>\n\u003Cp>- 125 -\u003C/p>\n\u003Cp>Muốn triển khai các ứng dụng web lên Apache Tomcat 4.0.6 thì ta copy toàn\u003C/p>\n\u003Cp>bộ ứng dụng đặt vào thư mục ROOT_DIRECTORY/ Apache Tomcat\u003C/p>\n\u003Cp>4.0.6/webapps. Trong đó ROOT_DIRECTORY là thư mục cài đặt Apache Tomcat\u003C/p>\n\u003Cp>4.0.6. Ví dụ: C:/Program Files\u003C/p>\n\u003Cp>3. Kết hợp nối hệ thống thông qua bộ giả lập trình duyệt wap của\u003C/p>\n\u003Cp>Nokia\u003C/p>\n\u003Cp>Xem phần phụ lục C “Bộ toolkit cuar Nokia”\u003C/p>\n\u003Cp>- 126 -\u003C/p>\n\u003Cp>4. Đưa trang Web lên internet qua đường truyền ADSL (self-hosting)\u003C/p>\n\u003Cp>a) Đặc điểm\u003C/p>\n\u003Cp>Khi ta tiến hành kết nối Internet (ADSL, dial-up,…) thông qua một nhà cung\u003C/p>\n\u003Cp>cấp dịch vụ ta sẽ được cung cấp một địa chỉ IP động (Dynamic IP address - địa chỉ\u003C/p>\n\u003Cp>này có thể thay đổi trong quá trình sử dụng hoặc thay đổi trong những lần kết nối\u003C/p>\n\u003Cp>khác nhau tùy theo nhà cung cấp dịch vụ. Xin đừng nhầm lẫn với địa IP động –\u003C/p>\n\u003Cp>Mobile IP address).\u003C/p>\n\u003Cp>Với kỹ thuật này ta có thể thiết lập để có thể truy cập từ xa vào một máy\u003C/p>\n\u003Cp>thông qua đường truyền Internet. Qua đó ta có thể cung cấp các dịch vụ (Web, FTP,\u003C/p>\n\u003Cp>Telnet,…) mà không cần thuê hosting của một nhà cung cấp nào cả.\u003C/p>\n\u003Cp>Với kỹ thuật kết nối này hệ thống cục bộ có máy cung cấp dịch vụ vẫn được\u003C/p>\n\u003Cp>đảm bảo an ninh tốt.\u003C/p>\n\u003Cp>b) Nguyên tắc\u003C/p>\n\u003Cp>Đối với địa chỉ IP động, ta có thể đăng ký với một nhà cung cấp dịch vụ\u003C/p>\n\u003Cp>DNS động (Dynamic DNS – Tên miền động) để được cung cấp một tên miền và sẽ\u003C/p>\n\u003Cp>tự động cập nhật địa chỉ IP khi có sự thay đổi.\u003C/p>\n\u003Cp>Có thể kể tên một số nhà cung cấp dịch vụ DNS động như: No-IP\u003C/p>\n\u003Cp>(htttp://www.no-ip.com), Dynamic DNS (http://dyndns.org) ...\u003C/p>\n\u003Cp>Cuối cùng cần config modem/router ADSL như sau\u003C/p>\n\u003Cp>Unlock các dịch vụ cần sử dụng (HTTP, FTP, Telnet,…)\u003C/p>\n\u003Cp>Thiết lập bảng NAT để router sẽ forward các kết nối đến máy cục bộ cung\u003C/p>\n\u003Cp>cấp dịch vụ thông qua cổng xác định\u003C/p>\n\u003Cp>Khi đó ta đã có thể kết nối từ xa thông qua tên miền được cung cấp.\u003C/p>\n\u003Cp>- 127 -\u003C/p>\n\u003Cp>c) Mô hình hoạt động\u003C/p>\n\u003Cp>Hình 8.2-1: Mô hình hoạt động quá trình cung cấp IP thông qua đường ADSL \n(selt-hosting)\u003C/p>\n\u003Cp>- 128 -\u003C/p>\n\u003Cp>d) Trình tự kết nối từ bên ngoài\u003C/p>\n\u003Cp>1. Máy kết nối thông qua tên miền (được cung cấp bởi dịch vụ DNS động)\u003C/p>\n\u003Cp>sẽ kết nối vào máy chủ dịch vụ DNS động\u003C/p>\n\u003Cp>2. Máy chủ DNS động sẽ cung cấp IP hiện tại của máy local tương ứng với\u003C/p>\n\u003Cp>tên miền đã đăng ký\u003C/p>\n\u003Cp>3. Máy kết nối sẽ truy cập vào ADSL modem/router thông qua địa chỉ IP\u003C/p>\n\u003Cp>được cung cấp\u003C/p>\n\u003Cp>4. ADSL modem/router sẽ forward yêu cầu vào máy local cung cấp dịch vụ\u003C/p>\n\u003Cp>e) Thiết lập\u003C/p>\n\u003Cp>Hệ thống được triển khai thông qua đường truyền ADSL của FPT, với ADSL\u003C/p>\n\u003Cp>modem/router ZyXEL được hỗ trợ tự động bởi nhà cung cấp dịch vụ DNS động\u003C/p>\n\u003Cp>DynDNS (http://dyndns.org)\u003C/p>\n\u003Cp>Trang web nhà cung cấp dich vụ DynDNS:\u003C/p>\n\u003Cp>- 129 -\u003C/p>\n\u003Cp>Hình 8.2-2: Trang web nhà cung cấp dịch vụ DynDNS\u003C/p>\n\u003Cp>Cấu hình cho ADSL modem/router thông qua giao diện web.\u003C/p>\n\u003Cp>ADSL modem/router có địa chỉ thường là 192.168.1.1 và cũng là default\u003C/p>\n\u003Cp>gateway của hệ thống cục bộ.\u003C/p>\n\u003Cp>Kết nối vào ADSL modem/router – phải cung cấp tên truy cập và mật khẩu.\u003C/p>\n\u003Cp>Giao diện sau khi kết nối thành công.\u003C/p>\n\u003Cp>- 130 -\u003C/p>\n\u003Cp>Hình 8.2-3: Giao diện kết nối thành công vào ADSL modem/router\u003C/p>\n\u003Cp>Chọn liên kết NAT để cấu hình bảng NAT của ADSL modem/router\u003C/p>\n\u003Cp>- 131 -\u003C/p>\n\u003Cp>Hình 8.2-4: Chọn chức năng cấu hình bảng NAT\u003C/p>\n\u003Cp>Chọn tùy chọn “SUA Only” và click vào liên kết “Edit Details”\u003C/p>\n\u003Cp>Xuất hiện bảng NAT của ADSL modem/router\u003C/p>\n\u003Cp>- 132 -\u003C/p>\n\u003Cp>Hình 8.2-5: Bảng NAT\u003C/p>\n\u003Cp>Start Port No. Cổng lắng nghe kết nối từ Internet (80 cho Web/HTTP, 21\u003C/p>\n\u003Cp>cho FTP, …)\u003C/p>\n\u003Cp>End Port No. Cổng lắng nghe kết nối trên máy cục bộ cung cấp dịch vụ\u003C/p>\n\u003Cp>IP Address Địa chỉ IP cục bộ của máy cung cấp dịch vụ\u003C/p>\n\u003Cp>Chọn Save và sau đó chọn Apply để áp dụng bảng NAT mới cho ADSL\u003C/p>\n\u003Cp>modem/router\u003C/p>\n\u003Cp>Đăng ký dịch vụ DNS động tự động với nhà cung cấp dịch vụ DynDNS\u003C/p>\n\u003Cp>- 133 -\u003C/p>\n\u003Cp>Hình 8.2-6: Đăng ký dịch vụ DNS động với nhà cung cấp dịch vụ\u003C/p>\n\u003Cp>Chọn Apply để áp dụng thiết lập cho ADSL modem/router\u003C/p>\n\u003Cp>Tuy nhiên vì lý do an ninh mặc định ADSL modem/router sẽ lock các cổng\u003C/p>\n\u003Cp>để tránh kết nối không cần thiết từ phía bên ngoài. Do đó ta cần unlock dịch vụ cần\u003C/p>\n\u003Cp>thiết để có thể kết nối từ Internet:\u003C/p>\n\u003Cp>- 134 -\u003C/p>\n\u003Cp>Hình 8.2-7: Thực hiện unclock các dịch vụ cần thiết\u003C/p>\n\u003Cp>Đến đây ta đã hoàn thành các bước cấu hình để có thể truy cập từ xa vào hệ\u003C/p>\n\u003Cp>thống cục bộ thông qua đường truyền Internet ADSL.\u003C/p>\n\u003Cp>Đối với các ADSL modem/router khác (không được hỗ trợ bởi DynDNS) ta\u003C/p>\n\u003Cp>có thể đăng ký dịch vụ DNS động với nhà cung câp No-IP (http://no-ip.com) và tải\u003C/p>\n\u003Cp>về phần mềm được cung cấp miễn phí No-ip AutoUpdate. Phần mềm này sẽ tự\u003C/p>\n\u003Cp>động thông báo cho No-IP khi có sự thay đổi IP của hệ thống cục bộ. Các thiết lập\u003C/p>\n\u003Cp>trên bảng NAT của ADSL modem/router cũng tương tự như trên.\u003C/p>\n\u003Cp>Ngoài ra ta có thể kiểm tra IP hiện hành của hệ thống local (nhìn từ phía\u003C/p>\n\u003Cp>Internet) bằng cách truy cập trang web http://showip.com\u003C/p>\n\u003Cp>- 135 -\u003C/p>\n\u003Cp>Hình 8.2-8: Trang showip.com\u003C/p>\n\u003Cp>- 136 -\u003C/p>\n\u003Ch4>PHỤ LỤC B\u003C/h4>\n\u003Ch4>QUẢN TRỊ HỆ THỐNG MOBILE SEARCH ENGINE\u003C/h4>\n\u003Cp>- 137 -\u003C/p>\n\u003Cp>1. Trang chủ\u003C/p>\n\u003Cp>a) Cài đặt thiết lập cơ sở dữ liệu Oracle cho hệ thống\u003C/p>\n\u003Cp>Chọn “Cài đặt CSDL Oracle”\u003C/p>\n\u003Cp>- 138 -\u003C/p>\n\u003Cp>Nhập tên dịch vụ đã đăng kí với ODBC trước đó (Xem phụ lục A.1.b “Đăng\u003C/p>\n\u003Cp>ký cơ sở dữ liệu với ODBC)\u003C/p>\n\u003Cp>Cung cấp tên user và mật khẩu đăng nhập\u003C/p>\n\u003Cp>Lưu ý: Khi cấu hình cơ sở dữ liệu trên một user, nếu hệ thống trước đó đã có\u003C/p>\n\u003Cp>dữ liệu thì tất cả các dữ liệu đó sẽ bị xóa hết.\u003C/p>\n\u003Cp>Khi chọn chấp nhận hệ thống sẽ tự động thực thi file SCRIPT.SQL để tạo\u003C/p>\n\u003Cp>các bảng và các proceduce\u003C/p>\n\u003Cp>Nếu thành công sẽ hiện ra thông báo\u003C/p>\n\u003Cp>- 139 -\u003C/p>\n\u003Cp>Sau đó quay trở về trang chủ để tiến hành nhập địa chỉ URL các trang web cần lập\u003C/p>\n\u003Cp>chỉ mục.\u003C/p>\n\u003Cp>b) Thêm URL và download các trang web\u003C/p>\n\u003Cp>Chọn liên kết “Thêm URL”\u003C/p>\n\u003Cp>Ở ô trạng thái nhập độ sâu của liên kết khi download\u003C/p>\n\u003Cp>Chọn “Download” để tiến hành download\u003C/p>\n\u003Cp>Xuất hiện màn hình yêu cầu xác nhận việc download\u003C/p>\n\u003Cp>- 140 -\u003C/p>\n\u003Cp>Chọn “Trở lại” để quay về màn hình nhập URL\u003C/p>\n\u003Cp>Chọn “Download” để chấp nhận download các trang web từ địa chỉ URL\u003C/p>\n\u003Cp>nhập vào\u003C/p>\n\u003Cp>Khi đó hệ thống sẽ kích hoạt các tiến trình con để download các trang web\u003C/p>\n\u003Cp>Sau khi download hết các trang web, sẽ xuất hiện thông báo thời gian\u003C/p>\n\u003Cp>download, số trang đã download cùng với tổng dung lượng các trang, cuối cùng là\u003C/p>\n\u003Cp>số liên kết bị hỏng.\u003C/p>\n\u003Cp>Trong khi đó hệ thống vẫn tiếp tục lập chỉ mục các trang web được\u003C/p>\n\u003Cp>download về\u003C/p>\n\u003Cp>- 141 -\u003C/p>\n\u003Cp>Sau khi kết thúc quá trình lập chỉ mục ta tắt cửa sổ đi\u003C/p>\n\u003Cp>c) Kiểm tra thông tin tự điển của hệ thống\u003C/p>\n\u003Cp>Chọn liên kết “Trạng thái hệ thống”\u003C/p>\n\u003Cp>- 142 -\u003C/p>\n\u003Cp>Ta có thể xem danh sách các từ trong từ điển\u003C/p>\n\u003Cp>Tìm từ\u003C/p>\n\u003Cp>Thêm từ\u003C/p>\n\u003Cp>- 143 -\u003C/p>\n\u003Cp>Chỉnh sửa từ\u003C/p>\n\u003Cp>- 144 -\u003C/p>\n\u003Ch4>PHỤ LỤC C\u003C/h4>\n\u003Ch4>BỘ TOOLKIT CỦA NOKIA\u003C/h4>\n\u003Cp>- 145 -\u003C/p>\n\u003Cp>1. Nokia Mobile Internet Toolkit v4.1\u003C/p>\n\u003Cp>a) Giới thiệu\u003C/p>\n\u003Cp>Nokia Mobile Internet Tookit [14] (NMIT) bao gồm một tập hợp các trình\u003C/p>\n\u003Cp>soạn thảo dùng để tạo nên nhiều loại nội dung khác nhau trên môi trường Internet di\u003C/p>\n\u003Cp>động. NIMT cho phép hiển thị các nội dung này trên nhiều bộ SDK của điện thoại.\u003C/p>\n\u003Cp>Những bộ SDK của điện thoại được cài đặt riêng lẻ. Khi khởi động, NMIT sẽ\u003C/p>\n\u003Cp>tự động dò tìm, những bộ SDK điện thoại được hỗ trợ sẽ được thêm vào bảng danh\u003C/p>\n\u003Cp>sách trong phần SDK Control Panel của nó. Bảng danh sách này có thể được hiển\u003C/p>\n\u003Cp>thị phần nội dung chỉ cần nhấp chuột vào nút Show trên trình soạn thảo.\u003C/p>\n\u003Cp>Nhiều trình soạn thảo NMIT được dùng để tạo ra những nội dung dựa trên\u003C/p>\n\u003Cp>XML được định nghĩa bởi Document Type Definition (DTDs). Những trình soạn\u003C/p>\n\u003Cp>thảo này thực hiện việc xác nhận nội dung để kiểm tra chúng với DTD, và còn cung\u003C/p>\n\u003Cp>cấp những tính năng cho việc chọn lựa các phần tử một cách dễ dàng và các chức\u003C/p>\n\u003Cp>năng cho việc chèn thêm dựa trên vị trí hiện tại của con trỏ. Thêm vào đó, NMIT\u003C/p>\n\u003Cp>còn cung cấp một trình quản lý DTD mà qua nó bạn có thể nhập thêm vào các DTD\u003C/p>\n\u003Cp>mới dùng cho các trình soạn thảo NMIT.\u003C/p>\n\u003Cp>b) Các chức năng\u003C/p>\n\u003Cp>Các chức năng chính của NMIT bao gồm:\u003C/p>\n\u003Cp>Một tập các trình soạn thảo hỗ trợ cho việc tạo lập và sửa đổi nội dung\u003C/p>\n\u003Cp>Internet trên di động. Những tính năng này có thể được truy xuất bằng cách sử dụng\u003C/p>\n\u003Cp>lệch File>New hoặc File>Open. Bảng sau đây mô tả một cách ngắn gọn về các trình\u003C/p>\n\u003Cp>soạn thảo này.\u003C/p>\n\u003Cp>Browsing Editor\u003C/p>\n\u003Cp>WML 1.3 Deck\u003C/p>\n\u003Cp>Tạo lập một tài liệu WML. Hỗ trợ WML 1.3 DTD, tương thích với đặc tả\u003C/p>\n\u003Cp>WAP tháng 6/2000. Có hỗ trợ các tài liệu WML 1.1 và 1.2.\u003C/p>\n\u003Cp>- 146 -\u003C/p>\n\u003Cp>WML Script\u003C/p>\n\u003Cp>Tạo lập nội dung WMLScript. WMLScript bắt nguồn từ ECMA Script và\u003C/p>\n\u003Cp>được dùng để thêm các luận lý logic vào một WML Deck, ví dụ như các tính toán.\u003C/p>\n\u003Cp>WBMP Image\u003C/p>\n\u003Cp>Tạo lập một hình ảnh dạng Wireless Bitmap (WBMP). Cũng giống như hầu\u003C/p>\n\u003Cp>hết các các trình xử lý ảnh, trình soạn thảo WBMP cho phép tạo lập và chỉnh sửa\u003C/p>\n\u003Cp>các hình ảnh dạng WBMP, cũng như chuyển đổi những hình ảnh sẵn có từ định\u003C/p>\n\u003Cp>dạng GIF và JPEG sang WBMP.\u003C/p>\n\u003Cp>XHTML-MP\u003C/p>\n\u003Cp>Tạo lập một tài liệu XHTM dựa trên XHTML Mobile Profile DTD\u003C/p>\n\u003Cp>XHTML-MP + CHTML\u003C/p>\n\u003Cp>Tạo lập một tài liệu XHTML dựa trên XHTML Mobile Profile DTD với các\u003C/p>\n\u003Cp>phần tử cà thuộc tính cộng thêm từ Compact HTML.\u003C/p>\n\u003Cp>CSS\u003C/p>\n\u003Cp>Tạo lập một bảng mẫu Cascading Style Sheet (CSS). CSS chứa các kiểu mẫu\u003C/p>\n\u003Cp>định dạng sẽ được áp dụng cho các phần tử được chỉ ra trong một tài liệu XHTML.\u003C/p>\n\u003Cp>Select DTD From List\u003C/p>\n\u003Cp>Tạo lập một tài liệu dựa trên một hệ thống DTD đã được chọn lựa, đó chính\u003C/p>\n\u003Cp>là một DTD từ một danh sách kèm theo hay là do bạn tự tạo ra.\u003C/p>\n\u003Cp>Push Content Editors\u003C/p>\n\u003Cp>Service Indication (SI) Editor\u003C/p>\n\u003Cp>Tạo một thông điệp Service Indication Push, thông điệp này được gởi đến\u003C/p>\n\u003Cp>người dùng thông báo rằng nội dung mới đã được sẵn sàng.\u003C/p>\n\u003Cp>Service Loading (SL) Editor\u003C/p>\n\u003Cp>- 147 -\u003C/p>\n\u003Cp>Tạo một thông điệp Service Loading Editor, thông điệp này được gởi đến để\u003C/p>\n\u003Cp>bắt buộc một dịch vụ người dùng đang chạy trên thiết bị khách cần phải tải về nội\u003C/p>\n\u003Cp>dung mới (không thông báo cho người dùng)\u003C/p>\n\u003Cp>Cache Operation (CO) Editor\u003C/p>\n\u003Cp>Tạo một thông điệp Cache Operation Editor, thông điệp này được gởi đi\u003C/p>\n\u003Cp>nhằm làm mất hiệu lực nội dung nằm trong cache của dịch vụ người dùng (vì thế\u003C/p>\n\u003Cp>buộc phải nạp lại nội dung nếu người dùng yêu cầu nội dung đó lần tiếp theo)\u003C/p>\n\u003Cp>Multipart Message Editor\u003C/p>\n\u003Cp>Tạo một thông điệp đa phần, đây là một loại của thông điệp Push chứa nhiều\u003C/p>\n\u003Cp>hơn một phần, mỗi một phần được thực thi riêng lẻ bởi dịch vụ người dùng. Trình\u003C/p>\n\u003Cp>soạn thảo sẽ tập hợp và sắp xếp lại những phần đã có sẵn (các tập tin) vào trong một\u003C/p>\n\u003Cp>thông điệp đa phần .\u003C/p>\n\u003Cp>Messaging Editors\u003C/p>\n\u003Cp>MMS Wizard\u003C/p>\n\u003Cp>Tạo tập tin Thông điệp Đa phương tiện (Multimedia Messaging) chứa một\u003C/p>\n\u003Cp>hay nhiều phần, mỗi phần bao gồm văn bản, hình ảnh, hoặc âm thanh.\u003C/p>\n\u003Cp>MMS Message Editor\u003C/p>\n\u003Cp>Tạo lập hoặc sửa đổi một thông điệp MMS. Các chức năng chính cho phép\u003C/p>\n\u003Cp>bạn thêm, xóa, hoặc sắp xếp lại các phần truyền thông; sửa đổi các tiêu đề MMS và\u003C/p>\n\u003Cp>tiêu đề của các phần riêng; sau đó đẩy thông điệp này cho bộ SDK được lựa chọn.\u003C/p>\n\u003Cp>SMIL Editor\u003C/p>\n\u003Cp>Tạo một tập tin SMIL (Synchronized Multimedia Integration Langue), cho\u003C/p>\n\u003Cp>việc chỉ ra các tùy chọn trình diễn của một thông điệp MMS.\u003C/p>\n\u003Cp>Deployment Editors\u003C/p>\n\u003Cp>DRM Editors\u003C/p>\n\u003Cp>- 148 -\u003C/p>\n\u003Cp>Tạo một thông điệp DRM và các thứ tự của nó\u003C/p>\n\u003Cp>Rights Editor\u003C/p>\n\u003Cp>Soạn thảo các thứ tự trong một trình soạn thảo XML.\u003C/p>\n\u003Cp>Download Descriptor Editor\u003C/p>\n\u003Cp>Tạo nên một Download Descriptor, dùng để mô tả nội dung để người sử\u003C/p>\n\u003Cp>dụng điện thoại có thể quyết định xem liệu nội dung này có thể được tải lên điện\u003C/p>\n\u003Cp>thoại hay không.\u003C/p>\n\u003Cp>SDK Control Panel được dùng đển khi bạn muốn chọn một hay nhiều bộ\u003C/p>\n\u003Cp>SDK điện thoại được cài đặt sẵn để hiển thị nội dung từ một trình soạn thảo hay từ\u003C/p>\n\u003Cp>Internet. Panel là một thẻ nằm trên cửa sổ chính và được hiển thị như bên dưới đây.\u003C/p>\n\u003Cp>- 149 -\u003C/p>\n\u003Cp>2. Nokia WAP Gateway Simulator\u003C/p>\n\u003Cp>Nokia WAP Gateway Simulator [15], sau đây được đề cập đến dưới tên\u003C/p>\n\u003Cp>NWGS, là một WAP Gateway người dùng đơn dựa trên Nokia Activ Server đa\u003C/p>\n\u003Cp>người dùng, không được tích hợp chung với NMIT. Khi được cài đặt trên một máy\u003C/p>\n\u003Cp>tính, NWGS cho phép người dùng trên máy tính đó có thể truy cập vào mạng\u003C/p>\n\u003Cp>Internet trên di động thông qua các chương trình giao tiếp sử dụng giao thức WAP\u003C/p>\n\u003Cp>ví dụ như Nokia Mobile Browser Simulator 4.0 SDK.\u003C/p>\n\u003Cp>NWGS bao gồm một trình giải mã các yêu cầu đến từ các dịch vụ WAP\u003C/p>\n\u003Cp>khách, chẳng hạn như các trình giả lập điện thoại di động (SDKs), để sau đó chúng\u003C/p>\n\u003Cp>có thể được gởi tiếp qua giao thức HTTP đến các server Internet. Nó cũng gồm một\u003C/p>\n\u003Cp>trình mã hóa được dùng để mã hóa các trả lời từ server (HTTP) trước khi gởi chúng\u003C/p>\n\u003Cp>về cho yêu cầu của các client.\u003C/p>\n\u003Cp>Lúc bắt đầu chạy chương trình, NWGS hiển thị cả cửa sổ quản trị và ứng\u003C/p>\n\u003Cp>dụng chủ đang chạy trong cửa sổ Command Prompt, như hình bên dưới đây:\u003C/p>\n\u003Cp>- 150 -\u003C/p>\n\u003Cp>Tuỳ thuộc vào cấu hình mạng của mình, bạn có thể cần phải chỉ ra một\u003C/p>\n\u003Cp>HTTP proxy server. Chẳng hạn như nếu máy tính của bạn nằm bên trong một nhóm\u003C/p>\n\u003Cp>Intranet sử dụng HTTP proxy server như là gateway để ra Internet. Nếu như thế,\u003C/p>\n\u003Cp>chọn trên menu của NWGS tuỳ chọn Setting>Proxy và sau đó nhập vào tên host và\u003C/p>\n\u003Cp>cổng cho proxy trong dialog hiển thị như bên dưới đây:\u003C/p>\n\u003Cp>- 151 -\u003C/p>\n\u003Cp>Nếu bạn cần thêm thông tin về NWGS , tham khảo trong Nokia WAP\u003C/p>\n\u003Cp>Gateway Simulator User’s Guide.\u003C/p>\n\u003Cp>3. Nokia Browser Simulator\u003C/p>\n\u003Cp>Tài liệu này sử dụng Nokia Mobile Browser 4.0 SDK (NMB) [16]\u003C/p>\n\u003Cp>- 152 -\u003C/p>\n\u003Cp>NMB là một công cụ được phát triển nhắm đến các nhà phát triển nội dung\u003C/p>\n\u003Cp>Internet trên di động, họ mong muốn xem trước phần nội dung của họ trông như thế\u003C/p>\n\u003Cp>nào trước khi nó được thử trên một điện thoại cầm tay thật.\u003C/p>\n\u003Cp>Sử dụng NMB, các nhà phát triển nội dung có thể hiển thị bất kỳ nội dung\u003C/p>\n\u003Cp>Iternet trên di động nào được phát triển dùng Nokia Mobile Internet Toolkit 4.0\u003C/p>\n\u003Cp>(NMIT), cũng như nội dung tập tin tại cục bộ và nội dung thường trú trên các server\u003C/p>\n\u003Cp>Internet và truy cập vào thông qua nối kết WAP. Các nối kết WAP có thể được hình\u003C/p>\n\u003Cp>thành thông qua WAP Gateway server hoặc qua trình giả lập WAP Gateway của\u003C/p>\n\u003Cp>Nokia (NWGS).\u003C/p>\n\u003Cp>NMB sử dụng phần mềm Nokia Mobile Browser, phần mềm này được Nokia\u003C/p>\n\u003Cp>phát triển dùng cho việc triển khai trên các điện thoại cầm tay thật. Tuy nhiên,\u003C/p>\n\u003Cp>NMB không được thiết kế tương ứng với chức năng của bất kỳ một thiết bị cầm tay\u003C/p>\n\u003Cp>riêng biệt nào mà nó chỉ mở ra một phạm vi mới cho các nhà phát triển Internet trên\u003C/p>\n\u003Cp>di động theo công nghệ hiện nay.\u003C/p>\n\u003Cp>Nokia Mobile Browser có thể được sử dụng trong một môi trường độc lập để\u003C/p>\n\u003Cp>nạp nội dung cục bộ hay trên Internet di động. Nó có thể quản lý tất cả các dạng nội\u003C/p>\n\u003Cp>dung có thể được tạo ra trong NMIT ngoại trừ thông điệp đa truyền thông MMS.\u003C/p>\n\u003Cp>Hệ thống menu:\u003C/p>\n\u003Cp>- 153 -\u003C/p>\n\u003Ch4>PHỤ LỤC D\u003C/h4>\n\u003Ch4>BỘ WAP CSS\u003C/h4>\n\u003Cp>- 154 -\u003C/p>\n\u003Cp>Sự đổi mới ấn tượng nhất của XHTML MP so với WAP 1.x và các ngôn ngữ\u003C/p>\n\u003Cp>đánh dấu dùng trên di động đó là việc hỗ trợ CSS.\u003C/p>\n\u003Cp>CSS là một dạng báo cáo có tư liệu tốt trong các quyển sách hay trên\u003C/p>\n\u003Cp>Internet. Trong tài liệu này, sự khác nhau giữa WAP CSS và CSS1 đầy đủ được bàn\u003C/p>\n\u003Cp>đến, bên cạnh một vài gợi ý về cách sử dụng một cách hiệu quả trên các thiết bị di\u003C/p>\n\u003Cp>động. WAP CSS là một tập riêng của CSS1.\u003C/p>\n\u003Cp>Khả năng của CSS là cung cấp điều khiển chính xác và dễ dàng về mặt nội\u003C/p>\n\u003Cp>dung có thể trình bày trên bất kỳ thiết bị di động nào. Mọi góc độ xuất hiện của tài\u003C/p>\n\u003Cp>liệu – vị trí, font chữ, các thuộc tính văn bản, đường biên, canh lề, dòng (luồng) – có\u003C/p>\n\u003Cp>thể được định nghĩa bằng cách dùng các mẫu. Nếu cần thay đổi bất kỳ một giá trị\u003C/p>\n\u003Cp>nào thì chỉ cần thực hiện tại một vị trí duy nhất. Thực tế, bằng việc sử dụng các mẫu\u003C/p>\n\u003Cp>chia sẻ bên ngoài, việc thay đổi bất kỳ một cách trình bày nào của toàn bộ tài liệu\u003C/p>\n\u003Cp>trên một trang chỉ cần thực hiện một lần.\u003C/p>\n\u003Cp>Điều khiển cung cấp bởi CSS giúp chương trình dễ dàng được định dạng lại\u003C/p>\n\u003Cp>nội dung cho các thiết bị di động khác. Trong CSS, sự trình bày, kiểu mẫu, và việc\u003C/p>\n\u003Cp>định vị được dễ dàng định dạng lại đối với mỗi trình duyệt. Trong hình X, cùng một\u003C/p>\n\u003Cp>trang XHTML MP được hiển thị trên hai trình duyệt khác nhau, với mỗi trình duyệt\u003C/p>\n\u003Cp>sử dụng riêng bộ mẫu của mình. Cột 1 là nội dung hiển thị trên Nokia Mobile\u003C/p>\n\u003Cp>Browser 4.0, trong khi cột 2 lại là cùng một nội dung nhưng được hiển thị trên\u003C/p>\n\u003Cp>Internet Explorer 5.0.\u003C/p>\n\u003Cp>- 155 -\u003C/p>\n\u003Cp>Nokia Browser 4.0 Microsoft IE 5.0\u003C/p>\n\u003Cp>Hình 8.2-1: Các kiểu định dạng khác nhau trên các trình duyệt khác nhau\u003C/p>\n\u003Cp>Hình C-2 sau đây mô tả việc sử dụng các thuộc tính định dạng CSS để thay\u003C/p>\n\u003Cp>đổi thể hiện của các bullet trong một danh sách được bulleted. Các định nghĩa thuộc\u003C/p>\n\u003Cp>tính CSS được mô tả bên dưới mỗi trình bày. Các mẫu bullet được định nghĩa trong\u003C/p>\n\u003Cp>bản mẫu của CSS, không phải trong tài liệu XHTML MP. Sử dụng CSS, bạn có thể\u003C/p>\n\u003Cp>dùng các bullet trong các kiểu mẫu khác nhau, từ các số kiểu Roman và Latin, đến\u003C/p>\n\u003Cp>các hình vuông và hình tròn.\u003C/p>\n\u003Cp>- 156 -\u003C/p>\n\u003Cp>li {list-style-type:disc}\u003C/p>\n\u003Cp>{list-style-type:square;\u003C/p>\n\u003Cp>li \ncolor:red}\u003C/p>\n\u003Cp>a {text-decoration:underline}\u003C/p>\n\u003Cp>a {text-decoration:underline}\u003C/p>\n\u003Cp>Hình 8.2-2: Thay đổi kiểu bullet sử dụng mẫu\u003C/p>\n\u003Cp>1. Các vấn đề được kiểm soát bởi các dạng mẫu\u003C/p>\n\u003Cp>Sự cách khoảng, thêm mới, và canh lề.\u003C/p>\n\u003Cp>Canh hàng và dàn trang.\u003C/p>\n\u003Cp>Font chữ và các thuộc tính văn bản.\u003C/p>\n\u003Cp>Các đường biên.\u003C/p>\n\u003Cp>Màu trên các thiết bị có khả năng hiển thị màu.\u003C/p>\n\u003Cp>Sự chuyển đổi văn bản và nền trên các thiết bị không có khả năng hiển thị\u003C/p>\n\u003Cp>màu.\u003C/p>\n\u003Cp>Mặt nạ định dạng nhập văn bản sử dụng –wap-input-format.\u003C/p>\n\u003Cp>2. Áp dụng các kiểu định dạng\u003C/p>\n\u003Cp>Mỗi trình duyệt sử dụng một bản mẫu mặc định của mình để chỉ rõ cách các\u003C/p>\n\u003Cp>phần tử XHTML sẽ được hiển thị như thế nào. Vì thế, ngay cả khi bạn không đưa ra\u003C/p>\n\u003Cp>một kiểu mẫu nào, hay chỉ là một vài kiểu, thì phần còn lại của tài liệu cũng được\u003C/p>\n\u003Cp>- 157 -\u003C/p>\n\u003Cp>hiển thị sử dụng các kiểu mẫu được đưa ra trong bảng mẫu mặc định. Các dạng mẫu\u003C/p>\n\u003Cp>được định nghĩa trong bản mẫu mặc định có ưu tiên thấp nhất trong thứ tự thác\u003C/p>\n\u003Cp>nước, điều này cho thấy rằng nếu bạn định nghĩa một dạng mẫu nào đó của riêng\u003C/p>\n\u003Cp>a. Các bảng định dạng bên ngoài\u003C/p>\n\u003Cp>bạn thì nó sẽ được thực hiện trước các dạng mẫu mặc định.\u003C/p>\n\u003Cp>Bên trong phần tử head của một phần tài liệu bạn có thể sử dụng một hay\u003C/p>\n\u003Cp>nhiều phần tử link để chỉ đến một hay nhiều URL, những địa chỉ này xác định các\u003C/p>\n\u003Cp>bản mẫu bên ngoài được dùng để định dạng cho tài liệu hiện hành. Ví dụ như, dòng\u003C/p>\n\u003Cp>lệnh sau đây mô tả cách sử dụng bảng mẫu mydoc.css, nó được đặt trong cùng\u003C/p>\n\u003Cp>\u003Clink rel=\"stylesheet\" href=\"mydoc.css\" type=\"text/css\"/>\u003C/p>\n\u003Cp>đường dẫn với tài liệu hiện hành.\u003C/p>\n\u003Cp>b. Phần tử style trong đầu đề tài liệu\u003C/p>\n\u003Cp>Phần tử \u003Cstyle> có thể sử dụng bên trong phần tử \u003Chead> của tài liệu nhằm\u003C/p>\n\u003Cp>để xác định một dạng mẫu áp dụng cho toàn bộ tài liệu. Trong ví dụ tiếp sau đây\u003C/p>\n\u003Cp>phần tử style cho biết là màu xanh được dùng làm màu chữ cho tất cả các đoạn văn\u003C/p>\n\u003Cp>\u003Cstyle> p {color: blue} \u003C/style>\u003C/p>\n\u003Cp>bản (được đánh dấu bởi các phần tử \u003Cp>).\u003C/p>\n\u003Cp>c. Phần tử style trong thân tài liệu\u003C/p>\n\u003Cp>Phần tử \u003Cstyle> có thể được dùng bất cứ ở đâu trong giới hạn của hai phần tử\u003C/p>\n\u003Cp>\u003Cbody> và \u003C/body> của một tài liệu. Các định nghĩa mẫu theo cách này sẽ được\u003C/p>\n\u003Cp>thực hiện mà không quan tâm đến các định nghĩa được đưa ra trước đó (bên trong\u003C/p>\n\u003Cp>một bảng mẫu ngoài hay do một phần tử \u003Cstyle> được chỉ ra trong \u003Chead> của tài\u003C/p>\n\u003Cp>liệu) trong cùng phần tử. Đó là do một dạng mẫu trực tiếp được thực hiện sau cùng\u003C/p>\n\u003Cp>trong thứ tự thác nước.\u003C/p>\n\u003Cp>d. Luật thác nước cho các phần tử mẩu\u003C/p>\n\u003Cp>Vị trí bên trong tài liệu mà các phần tử kiểu mẫu được chỉ ra (hoặc là phần tử\u003C/p>\n\u003Cp>\u003Cstyle> hoặc là \u003Clink> cần được chú ý: Các phần tử kiểu mẫu được đưa ra trước\u003C/p>\n\u003Cp>- 158 -\u003C/p>\n\u003Cp>tiên sẽ bị đè lên bởi chính các phần tử mẫu được định nghĩa sau đó trong thứ tự của\u003C/p>\n\u003Cp>tài liệu. Bất cứ một thiết lập thuộc tính mẫu nào áp dụng cho một phần tử XHTML\u003C/p>\n\u003Cp>riêng biệt sẽ có quyền cao hơn tất cả các thiết lập trước cho thuộc tính đó trên phần\u003C/p>\n\u003Cp>tử đó.\u003C/p>\n\u003Cp>Ví dụ giả sử rằng một tài liệu XHTML MP chứa một nối kết đến một bảng\u003C/p>\n\u003Cp>\u003Clink rel=\"stylesheet\" href=\"your-style-sheet-url.css\"\u003C/p>\n\u003Cp>type=\"text/css\"/>\u003C/p>\n\u003Cp>mẫu ngoài như sau:\u003C/p>\n\u003Cp>p {font-family: arial; color: black}\u003C/p>\n\u003Cp>và giả định rằng bảng mẫu được tham chiếu đến chứa định nghĩa sau:\u003C/p>\n\u003Cp>Bây giờ, nếu như một phần tử \u003Cstyle> như sau được đưa ra trong tài liệu trên\u003C/p>\n\u003Cp>\u003Cstyle> p {color: blue} \u003C/style>\u003C/p>\n\u003Cp>một dòng tiếp sau dòng có chức phần tử \u003Clink>:\u003C/p>\n\u003Cp>khi đó các phần tử \u003Cp> trong tài liệu sẽ sử dụng font chữ Arial, nhưng màu chữ sẽ\u003C/p>\n\u003Cp>là màu xanh.\u003C/p>\n\u003Cp>\u003Cstyle> p {color: blue} \u003C/style>\u003C/p>\n\u003Cp>\u003Clink rel=\"stylesheet\" href=\" style-sheet-url.css\" \ntype=\"text/css\"/>\u003C/p>\n\u003Cp>Tuy nhiên, nều như thứ tự bị đảo lại:\u003C/p>\n\u003Cp>Khi đó màu của chữ sẽ là màu đen.\u003C/p>\n\u003Cp>e. Sử dụng các thuộc tính của XHTML\u003C/p>\n\u003Ch4>style\u003C/h4>\n\u003Cp>\u003C/p>\n\u003Cp>Thuộc tính style cho phép đặt kiểu mẫu cho một phần tử đơn lẻ tại một điểm\u003C/p>\n\u003Cp>trong tài liệu tại nơi phần tử được đưa ra. Tham chiếu đến như là một kiểu mẫu bên\u003C/p>\n\u003Cp>trong (“inline style”), đặc trưng này là một phần mở rộng trong XHTML MP. Nó\u003C/p>\n\u003Cp>cho phép áp dụng các kiểu mẫu cho các phần tử riêng lẽ, do đó được ưu tiên hơn bất\u003C/p>\n\u003Cp>- 159 -\u003C/p>\n\u003Cp>kỳ kiểu mẫu nào khác được định nghĩa trong các phần tử \u003Cstyle> trước đó hay các\u003C/p>\n\u003Cp>\u003Cp style=\"color:red”>red\u003C/p>\u003C/p>\n\u003Cp>bảng mẫu ngoài:\u003C/p>\n\u003Cp>Một hạn chế của việc chỉ ra các kiểu mẫu bên trong là nó làm cho việc tìm\u003C/p>\n\u003Cp>kiếm và thay đổi tất cả sự cố của mẫu khó khăn. Một hạn chế khác là việc sử dụng\u003C/p>\n\u003Cp>chúng có thể làm tăng kích thước của tài liệu nếu như được sử dụng nhiều lần để\u003C/p>\n\u003Cp>thay đổi các kiểu mẫu của cùng một phần tử tại những nơi khác nhau bên trong tài\u003C/p>\n\u003Cp>liệu.\u003C/p>\n\u003Cp>Sẽ tốt hơn nếu định nghĩa một lớp chứa các kiểu mẫu mà ta muốn áp dụng\u003C/p>\n\u003Cp>.class1 {padding-bottom:4px}\u003C/p>\n\u003Cp>cho nhiều phần tử, chẳng hạn như sau:\u003C/p>\n\u003Cp>Lúc này ta có thể áp dụng kiểu mẫu định dạng một cách dễ dàng chỉ cần định\u003C/p>\n\u003Cp>nghĩa định dạng tại một vị trí (trong bảng mẫu). Ví dụ, để áp dụng kiểu mẫu này\u003C/p>\n\u003Cp>cho một phân đoạn riêng biệt nào đó, bạn có thể sử dụng thuộc tính class bên trong\u003C/p>\n\u003Cp>phần tử đoạn và chỉ ra giá trị của thuộc tính này chẳng hạn là “class1” như được mô\u003C/p>\n\u003Cp>\u003Cp class=\"class1\">This paragraph will have\u003C/p>\n\u003Cp>bottom padding. \u003C/p>\u003C/p>\n\u003Cp>tả bên dưới:\u003C/p>\n\u003Ch4>id\u003C/h4>\n\u003Cp>\u003C/p>\n\u003Cp>XHTML cùng với WAP CSS có thể cho phép bạn giữ các định nghĩa mẫu\u003C/p>\n\u003Cp>của mình tại cùng một điểm (trong một bảng mẫu hay trong một đoạn mẫu bên\u003C/p>\n\u003Cp>trong phần tử \u003Chead>), ngay cả khi bạn muốn áp dụng một mẫu cho một phần tử\u003C/p>\n\u003Cp>đơn nhưng không ảnh hưởng đến các phần tử khác cùng một lọai.\u003C/p>\n\u003Cp>Ví dụ như bạn có thể định nghĩa một mẫu cho một phần tử \u003Ch1> riêng lẻ\u003C/p>\n\u003Cp>trong một đoạn mẫu bên trong phần tử \u003Chead> như sau:\u003C/p>\n\u003Cp>- 160 -\u003C/p>\n\u003Cp>\u003Chead>\u003C/p>\n\u003Cp>\u003Cstyle>\u003C/p>\n\u003Cp>#myid {border-width: 1; border: solid; text-align:\u003C/p>\n\u003Cp>center}\u003C/p>\n\u003Cp>\u003Cstyle> \n\u003C/head>\u003C/p>\n\u003Cp>\u003Ch1 id=”myid”> This heading has a solid order.\u003C/h1>\u003C/p>\n\u003Cp>và sau đó áp dụng mẫu này cho một phần tử \u003Ch1> riêng như sau:\u003C/p>\n\u003Ch4>div và span\u003C/h4>\n\u003Cp>\u003C/p>\n\u003Cp>Ngoài việc áp dụng các kiểu mẫu cho một nội dung được đưa ra bằng một\u003C/p>\n\u003Cp>hay nhiều phần tử như đã được bàn đến ở trên, bạn cũng có thể sử dụng các mẫu,\u003C/p>\n\u003Cp>được định nghĩa trong bảng mẫu hay bên trong phần tử \u003Chead>, cho một chuỗi các\u003C/p>\n\u003Cp>phần tử sử dụng phần tử div hay một chuỗi các các ký tự bên trong sử dụng phần tử\u003C/p>\n\u003Cp>\u003Cstyle type=”text/css”>\u003C/p>\n\u003Cp>div.test-case {text-align: center; color: blue}\u003C/p>\n\u003Cp>span.test-id {color: red}\u003C/p>\n\u003Cp>\u003C/style>\u003C/p>\n\u003Cp>span. Ví dụ một bảng mẫu chức các giá trị sau:\u003C/p>\n\u003Cp>Bên trong phần thân tài liệu, bạn có thể áp dụng kiểu mẫu được đưa ra bởi\u003C/p>\n\u003Cp>phần tử div cho một chuỗi các đoạn văn và kiểu mẫu được đưa ra bởi phần tử span\u003C/p>\n\u003Cp>\u003Cdiv class=”test-case”>\u003C/p>\n\u003Cp>\u003Cp>This paragraph is blue.\u003C/p>\u003C/p>\n\u003Cp>\u003Cp>Here are \u003Cspan class=”test-id”>Test51 and\u003C/p>\n\u003Cp>Test52\u003C/span> specs.\u003C/p>\u003C/p>\n\u003Cp>\u003C/div>\u003C/p>\n\u003Cp>cho một chuỗi các ký tự như sau:\u003C/p>\n\u003Cp>- 161 -\u003C/p>\n\u003Cp>Trong đoạn code ở trên, phần nội dung của cả hai đoạn văn được canh giữa\u003C/p>\n\u003Cp>và sử dụng font chữ màu xanh, ngoại trừ chuỗi ký tự “Test51 and Test52”, được sử\u003C/p>\n\u003Cp>dụng font màu đỏ.\u003C/p>\n\u003Cp>3. Những điều cần tránh\u003C/p>\n\u003Cp>Tránh ẩn đường bao nội dung XHTML. Hay nói cách khác, không sử dụng\u003C/p>\n\u003Cp>giá trị nowrap của white-space property. Lớp bao được nhấn mạnh sử dụng bởi vì\u003C/p>\n\u003Cp>nó cho phép nhiều nội dung được nhìn thấy ngay mà không cần phải dùng đến\u003C/p>\n\u003Cp>thanh cuộn. Lớp bao được kích hoạt tự động trong Nokia Mobile Browser v3.0.\u003C/p>\n\u003Cp>Tránh việc xóa các đường gạch dưới từ các phần tử \u003Ca>. Hay nói cách khác,\u003C/p>\n\u003Cp>không sử dụng mẫu text–decoration:none trong các liên kết. Người sử dụng sẽ\u003C/p>\n\u003Cp>không thể phân biệt được liệu một liên kết không được gạch dưới có phải là một\u003C/p>\n\u003Cp>liên kết không hay đơn giản chỉ là một đoạn văn bản bình thường. Hơn nữa, một nối\u003C/p>\n\u003Cp>kết được gạch dưới đã khá quen thuộc với người dùng và việc bỏ đi phần gạch dưới\u003C/p>\n\u003Cp>sẽ làm cho tiến định vị của dịch vụ trở nên mơ hồ và chậm lại mà thôi.\u003C/p>\n\u003Cp>Và ngược lại, tránh sử dụng text-decoration:underline property\u003C/p>\n\u003Cp>trong dạng văn bản bình thường. Việc gạch dưới phần văn bản sẽ làm cho nhiều\u003C/p>\n\u003Cp>người sử dụng hiểu nhầm vì nó trông giống như một là liên kết. Thay vào đó, có thể\u003C/p>\n\u003Cp>làm nổi bật văn bản bằng cách khác, ví dụ như làm cho nó đậm lên chẳng hạn. Nói\u003C/p>\n\u003Cp>chung là các dạng văn bản gây phiền phức cần được tránh nhằm giúp tài liệu dễ đọc\u003C/p>\n\u003Cp>và tập trung hơn vào nội dung của tài liệu.\u003C/p>\n\u003Cp>Tránh làm nổi bật văn bản quá nhiều thông qua việc sử dụng font-style và\u003C/p>\n\u003Cp>font-variant, đặc biệt là trên cùng một trang XHTML. Quá nhiều và quá khác nhau\u003C/p>\n\u003Cp>sẽ làm cho nội dung tài liệu mất đi sự tập trung. Cố gắng áp dụng phần nhấn mạnh\u003C/p>\n\u003Cp>trên chỉ một vài từ trong mỗi trang XHTML.\u003C/p>\n\u003Cp>Tránh sử dụng quá nhiều loại font chữ (font-family) và kích thước (font-\u003C/p>\n\u003Cp>weight, font-size) khác nhau trong cùng một trang XHTML. Cố gắng giới hạn việc\u003C/p>\n\u003Cp>sử dụng các kích thước và các loại font chữ trong mỗi trang XHTML là từ một đến\u003C/p>\n\u003Cp>hai mà thôi. Đồng thời cũng tránh định nghĩa từ mà chỉ sử dụng các ký tự in hoa vì\u003C/p>\n\u003Cp>- 162 -\u003C/p>\n\u003Cp>nó thường được hiểu như là những tiếng reo hò, và chúng lại khó đọc hơn là các ký\u003C/p>\n\u003Cp>tự thường.\u003C/p>\n\u003Cp>Không nên xóa các đường biên trên các bảng được dùng để mô tả thông tin\u003C/p>\n\u003Cp>theo cách ghi thành bảng.\u003C/p>\n\u003Cp>Ở những nơi có thể, định nghĩa các kiểu mẫu sử dụng các luật thác nước thay\u003C/p>\n\u003Cp>cho việc dùng các thuộc tính class hay id bên trong các phần tử. Ví dụ như trong\u003C/p>\n\u003Cp>p (color:red}\u003C/p>\n\u003Cp>bảng mẫu WAP CSS của bạn sử dụng các thuộc tính như:\u003C/p>\n\u003Cp>.red {color:red}\u003C/p>\n\u003Cp>hơn là dùng thuộc tính class như sau:\u003C/p>\n\u003Cp>Nhưng loại trừ khi cần phải đưa ra chuỗi class=“red” bên trong mỗi phần tử\u003C/p>\n\u003Cp>\u003Cp> trong một tài liệu.\u003C/p>\n\u003Cp>- 163 -\u003C/p>\n\u003Ch4>PHỤ LỤC E\u003C/h4>\n\u003Ch4>CÁC NGUYÊN TẮC THIẾT KẾ\u003C/h4>\n\u003Cp>- 164 -\u003C/p>\n\u003Cp>1. Trước khi thiết kế một wapsite\u003C/p>\n\u003Cp>Khi thiết kế một dịch vụ nhắm vào cả thiết bị di động và máy tính để bàn thì\u003C/p>\n\u003Cp>phải bắt đầu bằng bảng thiết kế cho giao diện người dùng trên thiết bị di động. Việc\u003C/p>\n\u003Cp>mở rộng một dịch vụ hướng di động cho môi trường máy tính để bàn thường sẽ dễ\u003C/p>\n\u003Cp>dàng hơn là làm theo cách ngược lại.\u003C/p>\n\u003Cp>Khi bắt đầu bằng một Website dành cho máy tính để bàn, người ta khuyến\u003C/p>\n\u003Cp>cáo rằng nên chia dịch vụ thành những phần nhỏ. Ta chỉ chọn những phần là trung\u003C/p>\n\u003Cp>tâm của hệ thống dịch vụ để dành cho phiên bản trên môi trường di động. Cần phải\u003C/p>\n\u003Cp>chú trọng vào các phần trung tâm này khi thiết kế dịch vụ trên di động.\u003C/p>\n\u003Cp>Cần phải nghiên cứu đặc tính vật lý của các trình duyệt di động khác nhau\u003C/p>\n\u003Cp>trên thị trường để có thể làm một bản thiết kế hiệu quả sử dụng XHTML và CSS.\u003C/p>\n\u003Cp>Cần phải nắm rõ kích thước tối đa của trang nội dung, bảng định dạng (style sheet)\u003C/p>\n\u003Cp>và các hình ảnh đồ họa; lượng không gian màn hình cho phép để hiển thị nội dung;\u003C/p>\n\u003Cp>và lượng không gian màn hình dành cho các đối tượng khác như: văn bản soft-key,\u003C/p>\n\u003Cp>các biểu tượng, các tiêu đề v.v..\u003C/p>\n\u003Cp>Ví dụ như các điện thoại di động của Nokia có một đường tiêu đề chứa các\u003C/p>\n\u003Cp>biểu tượng và có thể chứa tiêu đề của trang XHTML. Nó cũng có một vùng nội\u003C/p>\n\u003Cp>dung nơi dùng để hiển thị nội dung của trang XHTML và một vùng chứa một hay\u003C/p>\n\u003Cp>nhiều phím mềm (soft key) tùy thuộc vào từng model điện thoại khác nhau\u003C/p>\n\u003Cp>2. Các nguyên tắc chung cho một thiết kế tốt\u003C/p>\n\u003Cp>Việc đưa ra XHTML MP và CSS tạo nên một số lượng đa dạng các giao diện\u003C/p>\n\u003Cp>người dùng mới. XHTML có nhiều phần tử/thẻ hơn WML, và cách hiển thị các\u003C/p>\n\u003Cp>phần tử có thể được hiệu chỉnh theo nhiều cách với CSS. XHTML MP cung cấp\u003C/p>\n\u003Cp>nhiều khả năng hơn cho các nhà cung cấp dịch vụ giúp cho dịch vụ của họ hấp dẫn,\u003C/p>\n\u003Cp>lôi cuốn hơn đồng thời thêm vào đó là sự phức tạp do đó tạo nên những thách thức\u003C/p>\n\u003Cp>về tính tiện lợi.\u003C/p>\n\u003Cp>- 165 -\u003C/p>\n\u003Cp>3. Cần chú ý đến mô hình liên kết\u003C/p>\n\u003Cp>Ta cần cung cấp một giao diện người dùng dễ dàng sử dụng được xây dựng\u003C/p>\n\u003Cp>cùng với một mô hình định vị nhất quán và dễ dàng nắm bắt. Điều này quan trọng\u003C/p>\n\u003Cp>hơn là việc cố gắng sử dụng tất cả các khả năng hiển thị lôi cuốn của XHTML.\u003C/p>\n\u003Cp>Nhu cầu và sự kỳ vọng của những người dùng di động khác rất nhiều so với\u003C/p>\n\u003Cp>người dùng trên máy tính để bàn. Những người dùng di động thường mong muốn\u003C/p>\n\u003Cp>truy cập một cách dễ dàng và nhanh chóng đến những thông tin họ cần. Do đó, các\u003C/p>\n\u003Cp>nội dung trên di động cần phải ngắn gọn, chính xác và nhanh chóng.\u003C/p>\n\u003Cp>Tránh việc tạo nên các nội dung thừa, không cần thiết hoặc các trang splash\u003C/p>\n\u003Cp>(splash screen) rối rắm; tuy nhiên, ta có thể hiển thị một logo nhỏ hoặc những phần\u003C/p>\n\u003Cp>nhấn mạnh thương hiệu tạo nên sự gần gũi với khách hàng. Trong nhiều trường hợp\u003C/p>\n\u003Cp>nên hiển thị nội dung chính yếu ngay khi người dùng có yêu cầu xem nó.\u003C/p>\n\u003Cp>Việc nhập dữ liệu cũng là một việc làm gây khó khăn và mất thời gian trên\u003C/p>\n\u003Cp>phần lớn các thiết bị di động (các thiết bị không được cung cấp bàn phím chuẩn\u003C/p>\n\u003Cp>QWERTY), do đó cần xây dựng wapsite với yêu cầu nhập nội dung tối thiểu, nhất\u003C/p>\n\u003Cp>là nội dung văn bản. Để làm được điều đó ta có thể cân nhắc khả năng giao tiếp với\u003C/p>\n\u003Cp>người dùng để chọn hình thức nhập khác như danh sách chọn (listbox, combo box),\u003C/p>\n\u003Cp>các nút chọn (check box, radio button) thay vì sử dụng ô nhập văn bản thuần túy.\u003C/p>\n\u003Cp>input-format và đặt input mask, ví dụ như *N để nhập số. Điều này giúp cho\u003C/p>\n\u003Cp>Khi thực sự cần phải nhập thông tin, ta có thể sử dụng thuộc tính –wap-\u003C/p>\n\u003Cp>người dùng tránh được thao tác chuyển đổi chế độ nhập.\u003C/p>\n\u003Cp>Thuộc tính –wap-input-format của CSS xác định một input mask cho dữ\u003C/p>\n\u003Cp>liệu mà người dùng nhập vào, do đó hạn chế việc chuyển đổi chế độ nhập giữa text\u003C/p>\n\u003Cp>và số. Tuy nhiên trên những phiên bản trình duyệt XHTML không phải của Nokia\u003C/p>\n\u003Cp>trước đây chưa hỗ trợ thuộc tính này mà chỉ hỗ trợ thuộc tính cũ format=””, do đó\u003C/p>\n\u003Cp>cần phải đặt cả hai thuộc tính là –wap-input-format và format với cùng một\u003C/p>\n\u003Cp>chuỗi định dạng (ví dụ *N cho dữ liệu số). Xem thêm bảng đặc tả WAP June 2000\u003C/p>\n\u003Cp>- 166 -\u003C/p>\n\u003Cp>[WML] hoặc WAP Overview [WAPOver] để rõ hơn chi tiết cú pháp của WAP\u003C/p>\n\u003Cp>input mask.\u003C/p>\n\u003Cp>Nhiều người dùng di động phải trả theo thời gian truy cập do đó nếu họ\u003C/p>\n\u003Cp>không lấy được thông tin họ cần trong một thời gian ngắn thì họ sẽ ngưng dùng dịch\u003C/p>\n\u003Cp>vụ.\u003C/p>\n\u003Cp>4. Thiết kế hệ thống phân cấp trong liên kết\u003C/p>\n\u003Cp>Mô hình định vị là cách mà một người dùng duyệt qua các trang XHTML\u003C/p>\n\u003Cp>của một dịch vụ, tương tác thông qua các liên kết, các trình đơn và dữ liệu nhập. Để\u003C/p>\n\u003Cp>xây dụng một mô hình định vị cho wapsite, cần phải bảo đảm các yêu cầu sau:\u003C/p>\n\u003Cp>(cid:131) Mô hình định vị phải thống nhất trên toàn thể hệ thống\u003C/p>\n\u003Cp>(cid:131) Đối với các dịch vụ XHTML, tránh thêm vào các liên kết dẫn về trang\u003C/p>\n\u003Cp>vừa mới truy cập bởi vì bộ trình duyệt sẽ xử lý việc này một cách tự động\u003C/p>\n\u003Cp>thông qua một phím back được tích hợp sẵn.\u003C/p>\n\u003Cp>(cid:131) Tránh xây dựng một hệ thống quá sâu. Người dùng sẽ gặp khó khăn trong\u003C/p>\n\u003Cp>việc duy trì một cái nhìn tổng thể của một dịch vụ chứa 4 hoặc 5 lớp.\u003C/p>\n\u003Cp>(cid:131) Đưa vào một hướng liên kết trở về trang khởi đầu hoặc các nhánh chính\u003C/p>\n\u003Cp>của hệ thống để người dùng dễ dàng quay trở lại điểm bắt đầu. Hệ thống\u003C/p>\n\u003Cp>định vị càng sâu thì càng cần phải có một liên kết trở về trang khởi đầu.\u003C/p>\n\u003Cp>5. Nguyên tắc thiết kế cho màn hình nhỏ\u003C/p>\n\u003Cp>Các dự báo cho rằng số lượng thiết bị di động sẽ nhanh chóng vượt qua số\u003C/p>\n\u003Cp>lượng máy tính để bàn trên toàn thế giới, tạo nên một cơ hội kinh doanh khổng lồ\u003C/p>\n\u003Cp>cho các ứng dụng thân thiện người dùng được thiết kế cho những thiết bị có màn\u003C/p>\n\u003Cp>hình nhỏ này. Một điều chắc chắn rằng sẽ có nhiều thách thức cho việc hiển thị trên\u003C/p>\n\u003Cp>thiết bị nhỏ nhưng khó có thể tạo nên các ứng dụng lôi cuốn trên các thiết bị di động\u003C/p>\n\u003Cp>như trên máy tính để bàn. Ta nên tuân theo các yêu cầu sau khi thiết kế các nội\u003C/p>\n\u003Cp>dung dành để hiển thị trên các thiết bị có kích thước màn hinh nhỏ:\u003C/p>\n\u003Cp>- 167 -\u003C/p>\n\u003Cp>(cid:131) Cần đảm bảo là có thông tin được hiển thị khi người dùng truy cập vào\u003C/p>\n\u003Cp>trang wap\u003C/p>\n\u003Cp>(cid:131) Sử dụng mục \u003Ctitle> trong phần \u003Chead> để cung cấp một tiêu đề ngắn\u003C/p>\n\u003Cp>cho mỗi trang wap. Thông thường tiêu đề không nên dài quá 14 ký tự trừ\u003C/p>\n\u003Cp>khi ta có ý định hiển thị trang wap trên một thiết bị di động xác định.\u003C/p>\n\u003Cp>(cid:131) Sử dụng địng dạng thống nhất cho tất cả các trang XHTML trong một\u003C/p>\n\u003Cp>dịch vụ. Tính thống nhất đó sẽ giúp nâng cao khả năng nắm bắt, đặc biệt\u003C/p>\n\u003Cp>là những người dùng sử dụng dịch vụ thường xuyên.\u003C/p>\n\u003Cp>(cid:131) Hạn chế việc cuộn trang theo chiều ngang. Thêm vào đó người dùng có\u003C/p>\n\u003Cp>thể trở nên mất định hướng về vị trí của họ trên toàn thể trang. Nếu có thể\u003C/p>\n\u003Cp>thì nên thiết kế nội dung không rộng hơn hoặc dài hơn màn hình hiển thị\u003C/p>\n\u003Cp>của thiết bị.\u003C/p>\n\u003Cp>(cid:131) Sử dụng thuộc tính canh lề (left, right, center) cho các thành phần để\u003C/p>\n\u003Cp>tăng tính rõ ràng, nhưng tránh sử dụng nhiều hơn hai hoặc ba kiểu trên\u003C/p>\n\u003Cp>cùng một trang đơn bởi vì khi đó sẽ làm cản trở khả năng nắm bắt cấu\u003C/p>\n\u003Cp>trúc tổ chức của trang.\u003C/p>\n\u003Cp>(cid:131) Sử dụng khoảng trắng đặc biệt là dọc theo các hình ảnh cao, hẹp. Ta có\u003C/p>\n\u003Cp>\u003Cimg>. Ví dụ: \u003Cimg align=\"left\" src=\"sky.gif\" alt=\"Sky\u003C/p>\n\u003Cp>Picture\"/>. Thêm vào đó trong file CSS ta có thể làm như thế (thậm\u003C/p>\n\u003Cp>thể làm như thế bằng cách sử dụng thuộc tính align trong phần tử\u003C/p>\n\u003Cp>\u003Cimg>. Khi đó các hình ảnh với thuộc tính này cho phép hiển thị văn bản\u003C/p>\n\u003Cp>chí tốt hơn nữa) một trong các cách đó là đặt thuộc tính float cho phần tử\u003C/p>\n\u003Cp>dọc theo nó do đó sẽ sử dụng hết phần hiển thị của thiết bị.\u003C/p>\n\u003Cp>(cid:131) Tránh lạm dụng các thuộc tính làm nổi bật văn bản như in đậm (bold), in\u003C/p>\n\u003Cp>nghiêng (italic) và gạch dưới (underline) vì khi đó chúng sẽ làm giảm sự\u003C/p>\n\u003Cp>rõ ràng của trang wap.\u003C/p>\n\u003Cp>- 168 -\u003C/p>\n\u003Cp>(cid:131) Tránh sử dụng các từ dài, phức tạp trong khi có thể dùng các từ ngắn gọn,\u003C/p>\n\u003Cp>và súc tích hơn.\u003C/p>\n\u003Cp>(cid:131) Tránh sử dụng quá nhiều màu khác nhau trên cùng một trang. Mặc dù\u003C/p>\n\u003Cp>màu sắc làm cho dịch vụ trở nên lôi cuốn hơn nhưng quá nhiều màu có\u003C/p>\n\u003Cp>thể gây phản tác dụng. Cố gắng sử dụng màu sắc thống nhất, ví dụ có thể\u003C/p>\n\u003Cp>sử dụng cùng một màu cho một phần tử XHTML trên toàn bộ hệ thống.\u003C/p>\n\u003Cp>(cid:131) Tránh đề cập đến tên màu sắc, ví dụ như: “nhấn vào liên kết màu đỏ\u003C/p>\n\u003Cp>để…” bởi vì trên những thiết bị di động không có màn hình màu thì các\u003C/p>\n\u003Cp>nội dung có màu sẽ trở thành trắng đen.\u003C/p>\n\u003Cp>6. Đảm bảo các tài liệu phải có kích thước nhỏ\u003C/p>\n\u003Cp>Bởi vì bộ nhớ của các thiết bị di động có giới hạn nên phải giữ cho tài liệu có\u003C/p>\n\u003Cp>kích thước càng nhỏ càng tốt. Tuy nhiên, do XHTML MP không hỗ trợ chế độ\u003C/p>\n\u003Cp>nhiều card trong một tài liệu như WML nên việc chia nhỏ nội dung thành nhiều\u003C/p>\n\u003Cp>trang riêng biệt sẽ làm cho việc load các trang chậm hơn. Để giải quyết vấn đề này\u003C/p>\n\u003Cp>ta nên tập hợp tất cả các nội dung tóm tắt lên một trang và sử dụng các liên kết để\u003C/p>\n\u003Cp>giúp di chuyển đến các phần tương ứng.\u003C/p>\n\u003Cp>Một số tiếp cận hữu ích để làm cho kích thước của trang nhỏ:\u003C/p>\n\u003Cp>(cid:131) Không đưa vào trang các lời chú thích dài. Mặc dù đây là một thói quen\u003C/p>\n\u003Cp>tốt trong lập trình nhưng nó không phù hợp cho các tài liệu dành riêng\u003C/p>\n\u003Cp>cho các thiết bị di động.\u003C/p>\n\u003Cp>(cid:131) Sử dụng kí tự tab thay vì khoảng trắng để lùi đầu dòng, hoặc thậm chí\u003C/p>\n\u003Cp>không lùi đầu dòng nếu có thể.\u003C/p>\n\u003Cp>(cid:131) Sử dụng tên ngắn cho tên các file, tên các lớp CSS và các ID trong CSS.\u003C/p>\n\u003Cp>(cid:131) Định nghĩa các kiểu định dạng bằng qui tắc cascading thày vì các thuộc\u003C/p>\n\u003Cp>tính lớp và ID trong các phần tử. Ví dụ, trong bảng định dạng WAP CSS\u003C/p>\n\u003Cp>sử dụng thuộc tính p(color:red) thay vì sử dụng thuộc tính lớp như\u003C/p>\n\u003Cp>- 169 -\u003C/p>\n\u003Cp>class=”red” trong mỗi phần tử \u003Cp> trong tài liệu.\u003C/p>\n\u003Cp>sau .red {color:red}. Điều này sẽ hạn chế việc phải xác định chuỗi\u003C/p>\n\u003Cp>7. Tạo các ứng dụng trên điện thoại di động\u003C/p>\n\u003Cp>Khi quyết định thông tin nào được đưa vào các ứng dụng khác nhau trên một\u003C/p>\n\u003Cp>thiết bị di động cần cân nhắc từng tình huống mà thiết bị sẽ được sử dụng. Nội dụng\u003C/p>\n\u003Cp>của dịch vụ phải thỏa mãn được nhu cầu của nhóm người dùng đích và phải được\u003C/p>\n\u003Cp>tối ưu hóa cho những tác vụ thông thường. Bởi vì tính di động của thiết bị người\u003C/p>\n\u003Cp>dùng có thể sử dụng nó, chủ yếu khi không có máy tính để bàn để truy cập Internet,\u003C/p>\n\u003Cp>để lấy thông tin một cách nhanh chóng. Ví dụ như truy cập nhanh để lấy lịch\u003C/p>\n\u003Cp>chuyến bay, mẫu tin ngắn và thông tin thời tiết. Hiếm khi những người dùng đó sử\u003C/p>\n\u003Cp>dụng điện thoại di động của họ để lướt web một thời gian dài.\u003C/p>\n\u003Cp>8. Đảm bảo các tác vụ tiến hành trôi chảy và sử dụng hợp lý các hình \nảnh\u003C/p>\n\u003Cp>Các trang wap đầy màu sắc sẽ trong hấp dẫn hơn nhưng sẽ kém phần hấp dẫn\u003C/p>\n\u003Cp>nếu các hình ảnh làm cho dịch vụ bị chậm lại. Theo các nghiên cứu trong việc sử\u003C/p>\n\u003Cp>dụng, người dùng ít nhiệt tình hơn đối với các dịch vụ mà hình ảnh minh họa làm\u003C/p>\n\u003Cp>chậm trễ các tác vụ của họ. Đặc biệt, những hình ảnh lớn không được đánh giá cao\u003C/p>\n\u003Cp>khi người dùng đang được liên kết đến trang cần tìm. Những hình ảnh có chứa đựng\u003C/p>\n\u003Cp>thông tin sẽ được đánh giá cao nhưng trong nhiều trường hợp người dùng sẽ không\u003C/p>\n\u003Cp>cho hiển thị hình ảnh để tiết kiệm thời gian và tiền bạc cũng như sẽ chuyển đến\u003C/p>\n\u003Cp>trang kế tiếp mà không chờ đến khi hình ảnh được tải về đầy đủ. Điều đó rất quan\u003C/p>\n\u003Cp>trọng khi cho phép người dùng chuyển đến các trang khác thậm chí trước khi tất cả\u003C/p>\n\u003Cp>hình ảnh được tải về.\u003C/p>\n\u003Cp>Các bảng (table) lớn cũng gây ra vấn đề tương tự, đó là người dùng có thể sẽ\u003C/p>\n\u003Cp>bị mắc kẹt tại một trang cho đến khi nó được tải về hết hoặc không thể tìm được\u003C/p>\n\u003Cp>cách để thực hiện tiếp trước khi trang wap được tải về đầy đủ. Do màn hình hiển thị\u003C/p>\n\u003Cp>của các điện thoại di động có kích thước khác nhau nên cần phải đảm bảo các bảng\u003C/p>\n\u003Cp>- 170 -\u003C/p>\n\u003Cp>dữ liệu có thể đọc được thậm chí trên những màn hình hiển thị nhỏ nhất; thường thì\u003C/p>\n\u003Cp>chúng sẽ bị ép lại cho vừa với màn hình.\u003C/p>\n\u003Cp>9. Đảm bảo cấu trúc wapsite dễ dùng đối với người mới sử dụng\u003C/p>\n\u003Cp>Đối với các dịch vụ trên di động thường thì một cấu trúc không quá sâu sẽ dễ\u003C/p>\n\u003Cp>nắm bắt hơn cho người dùng. Các liên kết và các trang wap nên cung cấp các tên có\u003C/p>\n\u003Cp>tính mô tả giúp cho người dùng tìm được thông tin mà họ cần.\u003C/p>\n\u003Cp>Thật khó để có thể đưa ra số lượng liên kết hợp lý trên một trang danh sách\u003C/p>\n\u003Cp>liên kết. Nếu các liên kết rõ ràng với nhau và dễ dàng để duyệt qua (mỗi liên kết\u003C/p>\n\u003Cp>trên một dòng, theo thứ tự chữ cái hoặc theo thứ tự logic khi đó người dùng không\u003C/p>\n\u003Cp>phải đọc hết tất cả các liên kết), khi cung cấp khoảng 30 liên kết trên một trang đơn\u003C/p>\n\u003Cp>sẽ tốt hơn là 5 liên kết trên 6 trang khác nhau. Nếu có khoảng vài chục liên kết thì\u003C/p>\n\u003Cp>nên cung cấp tùy chọn để sắp xếp các liên kết trước khi hiển thị chúng lên. Một liên\u003C/p>\n\u003Cp>kết nằm vừa trên một dòng giúp cho việc chọn lựa dễ dàng hơn và trang wap trông\u003C/p>\n\u003Cp>sẽ tốt hơn.\u003C/p>\n\u003Cp>Không có phần tử \u003Cdo> trong WAP 2.0, thay vào đó chúng được thay thế\u003C/p>\n\u003Cp>bằng các phím truy cập. Tuy nhiên hầu hết người dùng dường như không quan tâm\u003C/p>\n\u003Cp>tới các phím truy cập và cũng không thể tìm thấy chúng. Để giúp người dùng hiểu\u003C/p>\n\u003Cp>được khái niệm đó, cần đảm bảo rằng các phím truy cập hiển thị trên màn hình và\u003C/p>\n\u003Cp>dưới dạng giống như các phím điện thoại.\u003C/p>\n\u003Cp>Nếu không thể thực hiện, thì nên cung cấp một chức năng tìm kiếm. Những\u003C/p>\n\u003Cp>người dùng có kinh nghiệm sẽ đánh giá cao nó.\u003C/p>\n\u003Cp>10. Cung cấp vừa đủ thông tin trên một trang\u003C/p>\n\u003Cp>Những trang tương tác nên ngắn gọn. Ta nên bắt đầu một wapsite bằng một\u003C/p>\n\u003Cp>trang giới thiệu ngắn, trang này chỉ hiển thị lời chào và logo của dịch vụ. Điều này\u003C/p>\n\u003Cp>sẽ tốt hơn khi người dùng đi đến trực tiếp trang wap dịch vụ.\u003C/p>\n\u003Cp>Đối với XHTML, nội dung được tải xuống dưới dạng các trang, không phải\u003C/p>\n\u003Cp>là các thẻ như trong WML. Có nghĩa là việc cung cấp đầy đủ thông tin trên một\u003C/p>\n\u003Cp>- 171 -\u003C/p>\n\u003Cp>trang đơn sẽ quan trọng hơn cho các tác vụ của người dùng. Việc đi tới và lui giữa\u003C/p>\n\u003Cp>các trang có thể mất nhiều thời gian hơn trong XHTML bởi vì các trang được tải về\u003C/p>\n\u003Cp>một cách riêng biệt. Đối với trường hợp các trang không thể lưu (cache) tại thiết bị -\u003C/p>\n\u003Cp>ví dụ như các nội dung phải trả tiền hoặc có chứa các thông tin cá nhân, thì việc đó\u003C/p>\n\u003Cp>càng quan trọng hơn.\u003C/p>\n\u003Cp>Phần hiển thị trên cùng của trang là phần quan trọng nhất. Tất cả các liên kết\u003C/p>\n\u003Cp>thường dùng, phần tìm kiếm, phần đăng nhập và phần thông tin chủ yếu sẽ được đặt\u003C/p>\n\u003Cp>ở đó. Người dùng có thể di chuyển đến các trang khác mà không phải chờ phần còn\u003C/p>\n\u003Cp>lại của trang được tải về đầy đủ cũng như không phải cuộn trang.\u003C/p>\n\u003Cp>Tránh sử dụng phần trên cùng của trang cho bảng quảng cáo hoặc những\u003C/p>\n\u003Cp>hình ảnh mang tính minh họa. Tốt hơn là nên đặt quảng cáo ở bên trái hoặc bên phải\u003C/p>\n\u003Cp>trang.\u003C/p>\n\u003Cp>Việc cuộn trang lên xuống rất khó khăn nên các trang tương tác có chứa các\u003C/p>\n\u003Cp>form dữ liệu không nên quá dài Người dùng sẽ không biết được họ đã điền đầy đủ\u003C/p>\n\u003Cp>các thông tin hay chưa trên một form quá dài. Người dùng có thể mất khả năng điều\u003C/p>\n\u003Cp>khiển nếu form nhập dài hơn hai trang màn hình.\u003C/p>\n\u003Cp>Tại trang đích mà người dùng đang hướng đến phải chứa đầy đủ các thông\u003C/p>\n\u003Cp>tin mà họ cần. Ví dụ như, nếu trang đích chứa một câu chuyện hoặc một một hướng\u003C/p>\n\u003Cp>dẫn thì toàn bộ nội dung nên được chứa trên cùng một trang.\u003C/p>\n\u003Cp>Thực tế là thông tin được tải về dưới dạng các trang riêng biệt là thay đổi lớn\u003C/p>\n\u003Cp>nhất ảnh hưởng đến sự định hướng và cấu trúc giữa WML và XHTML.\u003C/p>\n\u003Cp>11. Phản ánh được hành động của người dùng\u003C/p>\n\u003Cp>Nên cung cấp sự phản ánh cho các hành động của người dùng cũng như các\u003C/p>\n\u003Cp>tình huống lỗi. Ví dụ, sau khi người dùng click vào một liên kết thì trang mới hiển\u003C/p>\n\u003Cp>thị phải có tiêu đề mang thông tin giống như liên kết đó. Việc tối thiểu các bước\u003C/p>\n\u003Cp>trong định hướng cũng tạo nên cảm giác không an toàn cho người dùng, ví dụ có\u003C/p>\n\u003Cp>thể cần đến các trang xác nhận (conformation page) cho các hành động của người\u003C/p>\n\u003Cp>- 172 -\u003C/p>\n\u003Cp>dùng, mặc dù điều đó cần thêm một hành động click nữa. Nếu không có các trang\u003C/p>\n\u003Cp>xác nhận người dùng có thể cảm thấy cần phải kiểm tra xem hành động có tác dụng\u003C/p>\n\u003Cp>không, điều này làm tăng số lượng tương tác của họ. Người dùng nên được thấy\u003C/p>\n\u003Cp>rằng họ đang điều khiển hệ thống.\u003C/p>\n\u003Cp>Nếu có vấn đề xảy ra người dùng phải được hướng dẫn bước phả làm kết\u003C/p>\n\u003Cp>tiếp. Có thể tránh được các lỗi nhập liệu nếu người dùng được cung cấp cácđịnh\u003C/p>\n\u003Cp>dạng dữ liệu mẫu.\u003C/p>\n\u003Cp>12. Hạn chế số lượng và kích thước của màn hình\u003C/p>\n\u003Cp>Số lượng và kích thước các hình ảnh trong XHTML cần phải được cân nhắc\u003C/p>\n\u003Cp>cẩn thận. Mỗi hình ảnh trên một trang tạo nên một luồng truyền tải riêng, điều đó sẽ\u003C/p>\n\u003Cp>làm chậm lại thời gian hiển thị của toàn bộ trang. Do đó số lượng các luồng tải hình\u003C/p>\n\u003Cp>ảnh phải được hạn chế tối đa. Đồng thời mỗi khi một hình ảnh được tải đến thiết bị\u003C/p>\n\u003Cp>di động thì toàn bộ trang sẽ được sắp xếp lại điều này mất nhiều thời gian mà tài\u003C/p>\n\u003Cp>nguyên xử lý của thiết bị. Do đó, một trang nội dung với chỉ một vài hình ảnh có thể\u003C/p>\n\u003Cp>sẽ được tải về nhanh hơn một trang với nhiều hình ảnh nhỏ. Nếu có thể nên sử dụng\u003C/p>\n\u003Cp>cùng các hình ảnh cho nhiều trang khác nhau trong cùng một dịch vụ khi đó một\u003C/p>\n\u003Cp>hình ảnh sẽ được tải về chỉ một lần và lưu vào bộ lưu trữ (cache). Ví dụ, nếu các\u003C/p>\n\u003Cp>hình ảnh được dùng cho các nút (bullet) thì chúng nên được dùng trên toàn bộ hệ\u003C/p>\n\u003Cp>thống.\u003C/p>\n\u003Cp>Kết nối theo giao thức TCP/IP có thể làm cho tốc độ tải các trang sẽ khác\u003C/p>\n\u003Cp>nhau mặc dù lượng dữ liệu thì như nhau. Ví dụ, một trang có chứa 4 hình ảnh với\u003C/p>\n\u003Cp>dung lượng 2KB mỗi hình sẽ nhanh hơn là tải về một trang chứa 8 ảnh với dung\u003C/p>\n\u003Cp>lượng 1KB mỗi ảnh.\u003C/p>\n\u003Cp>Nếu có sử dụng WAP gateway thì nó nên được đặt gần với trạm GSSN\u003C/p>\n\u003Cp>(Gateway GPRS Support Node). Việc mất dữ liệu sẽ làm tăng độ trễ do cơ chế\u003C/p>\n\u003Cp>truyền lại dữ liệu bị mất của giao thức HTTP. Độ trễ giữa WAP gateway và máy\u003C/p>\n\u003Cp>chủ chứa nội dung cần được hạn chế tối đa.\u003C/p>\n\u003Cp>- 173 -\u003C/p>\n\u003Cp>13. Thiết lập các thuộc tính chiều cao và chiều rộng màn hình\u003C/p>\n\u003Cp>Các nhà phát triển nội dung nên chỉ rõ chiều cao và rộng của các hình ảnh\u003C/p>\n\u003Cp>trong các thẻ đánh dấu để trình duyệt có thể dành ra phần không gian trống cho nó.\u003C/p>\n\u003Cp>Nếu tham số chiều rộng và chiều cao được dùng trong các thể \u003Cimg> thì trình duyệt\u003C/p>\n\u003Cp>XHTML có thể dành riêng khoảng trống cho các hình ảnh trước khi chúng được tải\u003C/p>\n\u003Cp>về đầy đủ. Khi đó trang wap có thể được hiển thị trước khi tải hình ảnh về và nó sẽ\u003C/p>\n\u003Cp>được hiển thị khi đã tải về đầy đủ. Điều này sẽ không làm thay đổi thời gian tải và\u003C/p>\n\u003Cp>thời gian xử lý của 1 trang XHTML nhưng về căn bản nó giúp người dùng không\u003C/p>\n\u003Cp>phải chờ cho đến khi tải xong hình ảnh mới có thể đọc được nội dung của trang\u003C/p>\n\u003Cp>wap.\u003C/p>\n\u003Cp>\u003Cimg src=\"pics/header_main_page_001.gif\" width=\"175\"\u003C/p>\n\u003Cp>height=\"41\" />\u003C/p>\n\u003Cp>Ví dụ:\u003C/p>\n\u003Cp>14. Sử dụng bảng một cách cẩn thận\u003C/p>\n\u003Cp>Trình duyệt hỗ trợ việc sử dụng các bảng đơn và các bảng lồng vào nhau\u003C/p>\n\u003Cp>trong các trang XHTML. Các nhà phát triển nên cẩn thận khi xác định chiều rộng\u003C/p>\n\u003Cp>của ô dữ liệu đặc biệt đối với các bảng lồng vào nhau.\u003C/p>\n\u003Cp>Khi sử dụng các bảng lồng nhau, ta nên tránh chỉ định chiều rộng của bảng\u003C/p>\n\u003Cp>cấp cha theo phần trăm khi chiều rộng của các bảng con được định kích thước rõ\u003C/p>\n\u003Cp>ràng. Bởi vì các thiết bị có kích cỡ màn hình hiển thị khác nhau nên tỷ lệ phần trăm\u003C/p>\n\u003Cp>không đảm bảo sẽ hiển thị cùng một số lượng pixel trên những thiết bị khác nhau.\u003C/p>\n\u003Cp>Do đó các nhà phát triển khuyến cáo nên sử dụng kích thước chính xác (theo pixel)\u003C/p>\n\u003Cp>cho chiều dài của cả bảng cấp cha và các bảng con lồng bên trong để đảm bảo nội\u003C/p>\n\u003Cp>dung sẽ được hiển thị chính xác. Cần phải cẩn thận để đảm bảo tổng chiều rộng của\u003C/p>\n\u003Cp>bảng bằng với tổng chiều rộng của các cột riêng biệt cộng với các đường viền và\u003C/p>\n\u003Cp>khoảng cách giữa các ô. Nói chung khi sử dụng các bảng với nhiều cấp lồng nhau\u003C/p>\n\u003Cp>sẽ làm tăng tính phức tạp cho trang wap và cần phải có nhiều thời gian xử lý để có\u003C/p>\n\u003Cp>- 174 -\u003C/p>\n\u003Cp>thể hiển thị nội dung lên màn hình. Để đảm bảo thời gian hiển thị ở mức chấp nhận\u003C/p>\n\u003Cp>được ta nên tránh sử dụng các bảng lồng nhau nhiều cấp, phức tạp.\u003C/p>\n\u003Cp>Đồng thời các đường bao của bảng không nên quá dày bởi vì khi đó ta sẽ mất\u003C/p>\n\u003Cp>nhiều pixel để hiển thị đường bao làm cho phần hiển thị nội dung trở nên quá nhỏ.\u003C/p>\n\u003Cp>15. Cần cân nhắc các tuỳ chọn\u003C/p>\n\u003Cp>Ta có thể chỉ định kiểu định dạng theo nhiều cách khác nhau: trong một bảng\u003C/p>\n\u003Cp>định dạng riêng biệt, trong một phần tử định dạng trong phần \u003Chead> của tài liệu\u003C/p>\n\u003Cp>hoặc bằng cách sử dụng thuộc tính định dạng trong một phần tử xác định. Mặc dù\u003C/p>\n\u003Cp>theo nguyên tắc việc sử dụng các bảng định dạng riêng bên ngoài để tách biệt phần\u003C/p>\n\u003Cp>định dạng khỏi các thẻ đánh dấu là một cách làm tốt, nhưng cũng có những bất lợi\u003C/p>\n\u003Cp>cần phải cân nhắc.\u003C/p>\n\u003Cp>Việc hiển thị một trang XHTML mà phần định dạng được chứa trong phần\u003C/p>\n\u003Cp>code của XHTML sẽ nhanh hơn nhưng việc sử dụng các bảng định dạng riêng bên\u003C/p>\n\u003Cp>ngoài cung cấp một cách thức tiện lợi để có thể thay đổi định dạng trên toàn thể\u003C/p>\n\u003Cp>dịch vụ. Một bảng định dạng cần phải được sử dụng cho toàn bộ hệ thống để tránh\u003C/p>\n\u003Cp>việc tải về thiết bị di động nhiều bảng định dạng. Bảng định dạng sẽ được tải về một\u003C/p>\n\u003Cp>lần duy nhất và được lưu trong bộ nhớ lưu trữ (cache).\u003C/p>\n\u003Cp>16. Loại bỏ các khoảng trắng và các ghi chú trong phần code\u003C/p>\n\u003Cp>Cần phải đảm bảo rằng không có khoảng trắng thừa trong phần code. Mặc dù\u003C/p>\n\u003Cp>khoảng trắng không được hiển thị lên màn hình nhưng nó vẫn được trình duyệt xử\u003C/p>\n\u003Cp>lý.\u003C/p>\n\u003Cp>Số lượng ghi chú trong phần code XHTML nên được hạn chế tối đa để phần\u003C/p>\n\u003Cp>code được ngắn gọn.\u003C/p>\n\u003Cp>17. Sử dụng các chỉ dẫn trong phần tiêu đề HTTP trong việc lưu trang\u003C/p>\n\u003Cp>Bộ trình duyệt đặt các trang XHTML trong bộ nhớ lưu trữ; tuy nhiên, có thể\u003C/p>\n\u003Cp>các trang sẽ không được lưu trữ mặc định. Tiêu đề yêu cầu lưu trữ rõ ràng nên được\u003C/p>\n\u003Cp>gửi cùng với tài liệu để đảm bảo các trang được lưu trữ tại máy truy cập nếu có thể.\u003C/p>\n\u003Cp>- 175 -\u003C/p>\n\u003Cp>Thêm vào đó một qui định về thời gian hết hạn của các trang nội dung nên được\u003C/p>\n\u003Cp>thiết lập để đảm bảo các nội dung được lưu trữ trong một khoảng thời gian hợp lý.\u003C/p>\n\u003Cp>Việc đặt các chỉ dẫn lưu trữ trong các thẻ meta (ví dụ dùng HTTP-EQUIV)\u003C/p>\n\u003Cp>sẽ không được hỗ trợ, nhưng việc lưu trữ có thể được điều khiển bằng các tiêu đề\u003C/p>\n\u003Cp>của giao thức HTTP. Chỉ dẫn “Cache-control:no-cache” có thể được thiết lập bởi\u003C/p>\n\u003Cp>máy chủ quản lý các trang nội dung để cho biết các trang không thể được lưu trữ tại\u003C/p>\n\u003Cp>máy truy cập.\u003C/p>\n\u003Cp>Việc lưu trữ được thực hiện với thuật toán “least recently used”, nghĩa là các\u003C/p>\n\u003Cp>mục được sử dụng ít nhất sẽ bị xóa trước. Ta nên sưu dụng cùng các hình và file\u003C/p>\n\u003Cp>CSS trong tất cả các trang XHTML để đảm bảo rằng nó luôn được lưu trữ và không\u003C/p>\n\u003Cp>phải tải về mỗi lần sử dụng chúng.\u003C/p>\n\u003Cp>18. Sử dụng mã Unicode cho các nội dung XHTML\u003C/p>\n\u003Cp>Trình duyệt XHTML hỗ trợ các bảng mã ASCII và Unicode 2.0. Do đó các\u003C/p>\n\u003Cp>nội dung XHTML thuộc nhóm các ngôn ngữ khác Latin nên sử dụng bảng mã\u003C/p>\n\u003Cp>Unicode để đảm bảo tính tương tác. Đối với các ngôn ngữ thuộc bộ mẫu tự Latin,\u003C/p>\n\u003Cp>có thể sử dụng bảng mã ASCII. Một vài gateway và proxy có thể chuyển đổi các bộ\u003C/p>\n\u003Cp>ký tự địa phương sang Unicode nhưng không phải tất cả đều có thể. Do đó cách duy\u003C/p>\n\u003Cp>nhất để đảm bảo các thiết bị truy cập nhận được các nội dung bằng mã Unicode ta\u003C/p>\n\u003Cp>nên dùng bảng Unicode cho các nội dung đó. Có thể tham khảo thêm các thông tin\u003C/p>\n\u003Cp>chi tiết về Unicode và các ngôn ngữ không thuộc hệ Latin ở các tài liệu:\u003C/p>\n\u003Cp>CJKV Information Processing, Lunde, Ken. 1st edition. O’Reilly &\u003C/p>\n\u003Cp>Associates (December 1998)\u003C/p>\n\u003Cp>Unicode: A Primer, Graham, Tony. John Wiley & Sons (March 2000)\u003C/p>\n\u003Cp>19. Sử dụng chính xác các kiểu MIME và mã XHTML\u003C/p>\n\u003Cp>Kiểu MIME được đề cập cho các nội dung XHTML MP, được đặc tả bởi\u003C/p>\n\u003Cp>OMA, là “application/vnd.wap.xhtml+xml”. Ta nên sử dụng kiểu này để cung cấp\u003C/p>\n\u003Cp>các tài liệu XHTML MP đến người dùng cuối. Thêm vào đó cũng có thể dùng kiểu\u003C/p>\n\u003Cp>- 176 -\u003C/p>\n\u003Cp>“application/xhtml+xml”. Trong một số trình duyệt thuộc Series 60, cần phải dùng\u003C/p>\n\u003Cp>kiểu “application/vnd.wap.xhtml+xml” để đảm bảo các nội dung XHTML được\u003C/p>\n\u003Cp>hiển thị đúng.\u003C/p>\n\u003Cp>Ta được khuyến cáo nên sử dụng phần đuôi/mở rộng của file là *.xhtml cho\u003C/p>\n\u003Cp>tất cả các nội dung XHTML MP. Mã XHTML nên được kiểm tra hợp lệ để tránh\u003C/p>\n\u003Cp>các vấn đề về khả năng giao tiếp và để tăng hiệu suất của dịch vụ. Các nội dung\u003C/p>\n\u003Cp>XHTML có thể được kiểm tra hợp lệ bằng bộ kiểm tra của W3C tại địa chỉ\u003C/p>\n\u003Cp>http://validator.w3.org. Và khi tạo các nội dung XHTML động thì phần mã được\u003C/p>\n\u003Cp>phát sinh nên phải căn cứ vào tài liệu DTD XHTML MP 1.0.\u003C/p>\n\u003Cp>20. Các tiêu đề chỉ dẫn và các nhãn phần tử\u003C/p>\n\u003Cp>Tiêu đề của trang mô tả nội dung của trang đang được hiển thị. Việc sử dụng\u003C/p>\n\u003Cp>các tiêu đề được khuyến cáo trong WML và bắt buộc đối với các nội dung XHTML.\u003C/p>\n\u003Cp>Các tiêu đề giúp người dùng các thể định hướng trong ứng dụng bởi vì chúng nhắc\u003C/p>\n\u003Cp>người dùng đang ở vị trí nào trong ứng dụng. Việc bắt đầu tiêu đề với tên của dịch\u003C/p>\n\u003Cp>vụ là một ý tưởng tốt và giữ cho tiêu đề ngắn gọn. Đối tượng được chọn nên xác\u003C/p>\n\u003Cp>định tiêu đề của trang tiếp theo. Ví dụ, tiêu đề “Bookmarks” cho người dùng biết\u003C/p>\n\u003Cp>nội dung đang hiển thị là một danh sách các bookmark trong ứng dụng và đối tượng\u003C/p>\n\u003Cp>được chọn trước đó là Bookmarks.\u003C/p>\n\u003Cp>Nên sử dụng các dạng font cân đối cho tiêu đề và nếu tiêu đề quá dài nó sẽ tự\u003C/p>\n\u003Cp>động bị cắt đi. Các tiêu đề bị cắt bớt được dùng thay vì dùng các từ viết tắt để tránh\u003C/p>\n\u003Cp>làm cho người dùng bối rối.\u003C/p>\n\u003Cp>Mặc dù được khuyến cáo nên sử dụng các từ ngắn cho phần nhãn của các đối\u003C/p>\n\u003Cp>tượng nhưng các nhóm từ viết tắt không thông dụng trong cộng đồng người dùng\u003C/p>\n\u003Cp>nên hạn chế sử dụng. Các nhãn cùng loại nên được dùng cho các đối tượng có cùng\u003C/p>\n\u003Cp>chức năng đặc biệt là các nhãn có chức năng như: Delete, Remove, Erase, Clear và\u003C/p>\n\u003Cp>Destroy.\u003C/p>\n\u003Cp>- 177 -\u003C/p>\n\u003Cp>21. Thực hiện kiểm tra khả năng sử dụng của hệ thống\u003C/p>\n\u003Cp>Ta nên thực hiện các thử nghiệm kiểm tra khả năng sử dụng của các ứng\u003C/p>\n\u003Cp>dụng mới. Các thử nghiệm đó nên được thực hiện càng sớm càng tốt trong quá trình\u003C/p>\n\u003Cp>phát triển. Bất cứ các thay đổi cần thiết nào đạt được từ các thử nghiệm sau đó có\u003C/p>\n\u003Cp>thể được đưa vào bảng kế hoạch thời gian phát triển. Những người thử nghiệm là\u003C/p>\n\u003Cp>những đại diện cho người dùng trong tương lai. Ít nhất các thử nghiệm nên được\u003C/p>\n\u003Cp>thực hiện ở qui mô nhỏ nếu không đủ khả năng thực hiện thử nghiệm đầy đủ.\u003C/p>\n\u003Cp>- 178 -\u003C/p>\n\u003Ch4>PHỤ LỤC F\u003C/h4>\n\u003Ch4>DANH SÁCH CÁC THUẬT NGỮ\u003C/h4>\n\u003Cp>- 179 -\u003C/p>\n\u003Cp>ACL - Access Control Lists\u003C/p>\n\u003Cp>ADSL - Asymmetric Digital Subscriber Line\u003C/p>\n\u003Cp>CDMA - Code Division Multiple Access\u003C/p>\n\u003Cp>CHTML - Ngôn ngữ đánh dấu dùng cho iMode\u003C/p>\n\u003Cp>CSS - Cascading Style Sheets\u003C/p>\n\u003Cp>DNS - Domain Name Server\u003C/p>\n\u003Cp>DTD - Document Type Definition\u003C/p>\n\u003Cp>FTP - File Transfer Protocol\u003C/p>\n\u003Cp>GSSN - Gateway GPRS Support Node\u003C/p>\n\u003Cp>HDML - Handheld Device Markup Language\u003C/p>\n\u003Cp>HTML - Hyper Text Markup Language\u003C/p>\n\u003Cp>HTTP - Hypertext Transfer Protocol\u003C/p>\n\u003Cp>iMode - Dịch vụ internet di động của NTTDoCoMo nhằm mục đích tạo ra các trang\u003C/p>\n\u003Cp>web sử dụng một dạng ngôn ngữ thuộc họ HTML (cHTML) hiển thị trên các trình\u003C/p>\n\u003Cp>duyệt Web di động\u003C/p>\n\u003Cp>IP - Internet Protocol\u003C/p>\n\u003Cp>ISP - Internet Service Provider\u003C/p>\n\u003Cp>LDAP - Lightweight Directory Access Protocol\u003C/p>\n\u003Cp>MAC - Media Access Control\u003C/p>\n\u003Cp>MIME - Multipurpose Internet Mail Extension\u003C/p>\n\u003Cp>NAT - Network Address Translation\u003C/p>\n\u003Cp>PDA - Personal Digital Assistant\u003C/p>\n\u003Cp>PPP - Point-to-Point Protocol\u003C/p>\n\u003Cp>RAS - Remote Access Server\u003C/p>\n\u003Cp>SGML - Standard Generalize Markup Language\u003C/p>\n\u003Cp>SMS - ShortMessage\u003C/p>\n\u003Cp>SSL - Secure Sockets Layer\u003C/p>\n\u003Cp>TCP - Transmission Control Protocol\u003C/p>\n\u003Cp>TCP/IP - Transmission Control Protocol/Internet Protocol\u003C/p>\n\u003Cp>- 180 -\u003C/p>\n\u003Cp>TLS - Transport Layer Security\u003C/p>\n\u003Cp>UDP - User Datagram Protocol\u003C/p>\n\u003Cp>URL - Uniform Resource Locator\u003C/p>\n\u003Cp>W3C - World Wide Web Consortium\u003C/p>\n\u003Cp>WAE - Wireless Application Environment\u003C/p>\n\u003Cp>WBMP - Wireless Bitmap\u003C/p>\n\u003Cp>WAP - Wireless Application Protocol\u003C/p>\n\u003Cp>WDP - Wireless Datagram Protocol\u003C/p>\n\u003Cp>WML - Wireless Markup Language\u003C/p>\n\u003Cp>WML Script - Wireless Markup Language Script\u003C/p>\n\u003Cp>WPS - Wireless Protocol Stack\u003C/p>\n\u003Cp>WSP - Wireless Session Protocol\u003C/p>\n\u003Cp>WTA - Wireless Telephony Application\u003C/p>\n\u003Cp>wTCP/IP - Wireless Profile TCP/IP\u003C/p>\n\u003Cp>WTLS - Wireless Transport Security Layer\u003C/p>\n\u003Cp>WTP - Wireless Transaction Protocol\u003C/p>\n\u003Cp>XHTML - Extensible Hyper Text Markup Language\u003C/p>\n\u003Cp>XHTML MP - Extensible Hyper Text Markup Language Mobile Profile\u003C/p>\n\u003Cp>XML - Extensible Markup Language\u003C/p>\n\u003Cp>XSLT - Extensible Stylesheet Language Transformation\u003C/p>\n\u003Cp>- 181 -\u003C/p>\n \u003C/div>\n ",{"code":5,"data":844,"documentRelated":970},[845,858,872,885,898,911,922,935,947,958],{"document_id":846,"document_title":847,"document_desc":848,"document_picturename":849,"document_filetype":810,"document_numpage":850,"document_uploaddate":851,"member_username":852,"document_numdownload":14,"document_favorite_today":15,"isSaved":817,"document_numview":853,"url":854,"document_link":24,"thumbnail":855,"document_isfree":15,"document_kind":15,"document_title_seo":856,"document_status":857},2930987,"Báo cáo thực tập: Công ty Trách nhiệm hữu hạn Sản xuất Thương mại Dịch vụ Quốc Trưởng","Báo cáo thực tập tại Công ty Quốc Trưởng: giới thiệu công ty, quy trình sản xuất cơ khí nội thất, kinh nghiệm thực tế tại các tổ sản xuất, đánh giá và đề xuất.","30391764296608.jpg",89,"28/11/2025","hoangle27223@gmail.com",500,"https://tailieu.vn/doc/bao-cao-thuc-tap-cong-ty-trach-nhiem-huu-han-san-xuat-thuong-mai-dich-vu-quoc-truong-2930987.html","https://cdn.tailieu.vn/images/document/thumbnail/2025/20251128/hoangle27223@gmail.com/135x160/30391764296608.jpg","Báo cáo thực tập Công ty Quốc Trưởng: Sản xuất, Thương mại và Dịch vụ",{"code":14,"label":816},{"document_id":859,"document_title":860,"document_desc":861,"document_picturename":862,"document_filetype":863,"document_numpage":372,"document_uploaddate":864,"member_username":865,"document_numdownload":36,"document_favorite_today":15,"isSaved":817,"document_numview":866,"url":867,"document_link":868,"thumbnail":869,"document_isfree":15,"document_kind":15,"document_title_seo":870,"document_status":871},2924914,"Báo cáo thực hành: Trục các đăng và cầu chủ động","Báo cáo thực hành Trục các đăng và cầu chủ động phân tích cấu tạo, nguyên lý, hư hỏng, sửa chữa và tháo lắp trục các đăng ô tô. Gồm phân loại, kiểm tra, và quy trình thực hiện.","35731759720960.jpg","docx","05/10/2025","minhquan2909",558,"https://tailieu.vn/doc/bao-cao-thuc-hanh-truc-cac-dang-cau-chu-dong-2924914.html","bao-cao-thuc-hanh-truc-cac-dang-cau-chu-dong-2924914.html","https://cdn.tailieu.vn/images/document/thumbnail/2025/20251005/minhquan2909/135x160/35731759720960.jpg","Báo cáo thực hành trục các đăng và cầu chủ động: Phân tích chi tiết",{"code":14,"label":816},{"document_id":873,"document_title":874,"document_desc":875,"document_picturename":876,"document_filetype":863,"document_numpage":666,"document_uploaddate":877,"member_username":878,"document_numdownload":9,"document_favorite_today":15,"isSaved":817,"document_numview":879,"url":880,"document_link":881,"thumbnail":882,"document_isfree":15,"document_kind":15,"document_title_seo":883,"document_status":884},2924408,"Báo cáo thực tập: Tại Công ty Cổ phần Cao su Đà Nẵng","Báo cáo thực tập tại Công ty Cổ phần Cao su Đà Nẵng (DRC): lịch sử, tầm nhìn, sản phẩm (lốp PCR, Radial, Bias), sơ đồ tổ chức, quy trình sản xuất săm lốp.","35831759114973.jpg","28/09/2025","dungnguyen30722@gmail.com",1787,"https://tailieu.vn/doc/bao-cao-thuc-tap-cong-ty-co-phan-cao-su-da-nang-2924408.html","bao-cao-thuc-tap-cong-ty-co-phan-cao-su-da-nang-2924408.html","https://cdn.tailieu.vn/images/document/thumbnail/2025/20250928/dungnguyen30722@gmail.com/135x160/35831759114973.jpg","Báo cáo thực tập tại Công ty Cổ phần Cao su Đà Nẵng chi tiết nhất",{"code":14,"label":816},{"document_id":886,"document_title":887,"document_desc":888,"document_picturename":889,"document_filetype":810,"document_numpage":714,"document_uploaddate":890,"member_username":891,"document_numdownload":14,"document_favorite_today":15,"isSaved":817,"document_numview":892,"url":893,"document_link":894,"thumbnail":895,"document_isfree":15,"document_kind":15,"document_title_seo":896,"document_status":897},2923634,"Báo cáo thực tập tốt nghiệp: Công ty TNHH Cơ điện Samwa Tek","Báo cáo thực tập tại Công ty TNHH Cơ Điện Samwa Tek, chuyên sản xuất phụ trợ cho công ty Hàn-Nhật. Giới thiệu công ty, quy trình 5S, và kinh nghiệm thực tế.","96461758161119.jpg","17/09/2025","trantiendat_ct2",1233,"https://tailieu.vn/doc/bao-cao-thuc-tap-tot-nghiep-cong-ty-co-dien-samwa-tek-2923634.html","bao-cao-thuc-tap-tot-nghiep-cong-ty-co-dien-samwa-tek-2923634.html","https://cdn.tailieu.vn/images/document/thumbnail/2025/20250917/trantiendat_ct2/135x160/96461758161119.jpg","Báo cáo thực tập tốt nghiệp Công ty TNHH Cơ điện Samwa Tek: [Mô tả chi tiết hơn về nội dung báo cáo nếu có thể]",{"code":14,"label":816},{"document_id":899,"document_title":900,"document_desc":901,"document_picturename":902,"document_filetype":810,"document_numpage":508,"document_uploaddate":903,"member_username":904,"document_numdownload":14,"document_favorite_today":36,"isSaved":817,"document_numview":905,"url":906,"document_link":907,"thumbnail":908,"document_isfree":15,"document_kind":15,"document_title_seo":909,"document_status":910},2920345,"Báo cáo thực tập: Tại Garage Car Plus","Báo cáo thực tập tại Garage Car Plus của sinh viên Vương Nhật Vĩnh, bao gồm nhật ký thực tập, công việc thực hiện và kiến thức về khung gầm, động cơ ô tô.","25661754896300.jpg","10/08/2025","nguyenanhquoc2809@gmail.com",548,"https://tailieu.vn/doc/bao-cao-thuc-tap-tai-garage-car-plus-2920345.html","bao-cao-thuc-tap-tai-garage-car-plus-2920345.html","https://cdn.tailieu.vn/images/document/thumbnail/2025/20250810/nguyenanhquoc2809@gmail.com/135x160/25661754896300.jpg","Báo cáo thực tập tại Garage Car Plus [chuẩn nhất]",{"code":14,"label":816},{"document_id":912,"document_title":913,"document_desc":914,"document_picturename":915,"document_filetype":810,"document_numpage":573,"document_uploaddate":903,"member_username":904,"document_numdownload":14,"document_favorite_today":15,"isSaved":817,"document_numview":916,"url":917,"document_link":918,"thumbnail":919,"document_isfree":15,"document_kind":15,"document_title_seo":920,"document_status":921},2920344,"Báo cáo thực tập: Tại Công ty TNHH Toyota Bến Thành","Báo cáo thực tập này được thực hiện tại Công ty TNHH Toyota Bến Thành, một doanh nghiệp hoạt động trong lĩnh vực kinh doanh và dịch vụ ô tô. Trong quá trình thực tập, sinh viên được làm quen với các hoạt động thực tế của công ty, bao gồm quy trình bảo dưỡng, sửa chữa và chăm sóc khách hàng. Báo cáo tổng hợp những kiến thức, kỹ năng thu nhận được cũng như đánh giá về môi trường làm việc và kinh nghiệm thực tiễn tại công ty.","90501754896301.jpg",672,"https://tailieu.vn/doc/bao-cao-thuc-tap-cong-ty-toyota-ben-thanh-2920344.html","bao-cao-thuc-tap-cong-ty-toyota-ben-thanh-2920344.html","https://cdn.tailieu.vn/images/document/thumbnail/2025/20250810/nguyenanhquoc2809@gmail.com/135x160/90501754896301.jpg","Báo cáo thực tập Toyota Bến Thành: Mẫu chuẩn, chi tiết nhất",{"code":14,"label":816},{"document_id":923,"document_title":924,"document_desc":925,"document_picturename":926,"document_filetype":863,"document_numpage":109,"document_uploaddate":927,"member_username":928,"document_numdownload":9,"document_favorite_today":15,"isSaved":817,"document_numview":929,"url":930,"document_link":931,"thumbnail":932,"document_isfree":15,"document_kind":15,"document_title_seo":933,"document_status":934},2920197,"Bài tập lớn: Tính toán sức kéo xe con","Bài tập lớn môn Lý thuyết ô tô: Tính toán sức kéo xe con, tập trung xây dựng đặc tính động cơ, tính tỷ số truyền, cân bằng công suất và lực kéo.","23411754624150.jpg","08/08/2025","kimphuong1001",449,"https://tailieu.vn/doc/bai-tap-lon-tinh-toan-suc-keo-xe-con-2920197.html","bai-tap-lon-tinh-toan-suc-keo-xe-con-2920197.html","https://cdn.tailieu.vn/images/document/thumbnail/2025/20250808/kimphuong1001/135x160/23411754624150.jpg","Bài tập lớn tính toán sức kéo xe con: Hướng dẫn chi tiết",{"code":14,"label":816},{"document_id":936,"document_title":937,"document_desc":938,"document_picturename":939,"document_filetype":863,"document_numpage":272,"document_uploaddate":940,"member_username":941,"document_numdownload":42,"document_favorite_today":15,"isSaved":817,"document_numview":929,"url":942,"document_link":943,"thumbnail":944,"document_isfree":15,"document_kind":15,"document_title_seo":945,"document_status":946},2916227,"Đồ án tốt nghiệp: Hướng dẫn trình bày thuyết minh đồ án tốt nghiệp","Đồ án về hệ thống âm thanh và hình ảnh trên Toyota Land Cruiser 2008: tổng quan, cấu tạo, nguyên lý, khai thác kỹ thuật và nâng cấp hệ thống.","52781752722145.jpg","17/07/2025","vijiraiya","https://tailieu.vn/doc/do-an-tot-nghiep-huong-dan-trinh-bay-thuyet-minh-2916227.html","do-an-tot-nghiep-huong-dan-trinh-bay-thuyet-minh-2916227.html","https://cdn.tailieu.vn/images/document/thumbnail/2025/20250717/vijiraiya/135x160/52781752722145.jpg","Hướng dẫn trình bày thuyết minh đồ án tốt nghiệp: Mẫu đồ án tốt nghiệp chuẩn",{"code":14,"label":816},{"document_id":948,"document_title":949,"document_desc":950,"document_picturename":951,"document_filetype":863,"document_numpage":267,"document_uploaddate":940,"member_username":941,"document_numdownload":53,"document_favorite_today":15,"isSaved":817,"document_numview":952,"url":953,"document_link":954,"thumbnail":955,"document_isfree":15,"document_kind":15,"document_title_seo":956,"document_status":957},2916225,"Đồ án tốt nghiệp: Tính toán, kiểm tra hệ thống điều hòa không khí cho tòa nhà Depot Tham Lương","Đồ án nghiên cứu tính toán, kiểm tra hệ thống điều hòa không khí cho tòa nhà Depot Tham Lương, sử dụng Revit 2019 để thiết kế và thống kê khối lượng.","40421752722146.jpg",1355,"https://tailieu.vn/doc/do-an-tot-nghiep-tinh-toan-kiem-tra-he-thong-dieu-hoa-khong-khi-toa-nha-depot-tham-luong-2916225.html","do-an-tot-nghiep-tinh-toan-kiem-tra-he-thong-dieu-hoa-khong-khi-toa-nha-depot-tham-luong-2916225.html","https://cdn.tailieu.vn/images/document/thumbnail/2025/20250717/vijiraiya/135x160/40421752722146.jpg","Đồ án tốt nghiệp: Tính toán, kiểm tra hệ thống điều hòa không khí cho tòa nhà Depot Tham Lương [chuẩn nhất]",{"code":14,"label":816},{"document_id":959,"document_title":960,"document_desc":961,"document_picturename":962,"document_filetype":810,"document_numpage":221,"document_uploaddate":963,"member_username":941,"document_numdownload":30,"document_favorite_today":15,"isSaved":817,"document_numview":964,"url":965,"document_link":966,"thumbnail":967,"document_isfree":15,"document_kind":15,"document_title_seo":968,"document_status":969},2915739,"Báo cáo thực tập: Quy trình bảo dưỡng - sửa chữa hệ thống phanh Toyota Vios","Báo cáo thực tập quy trình bảo dưỡng, sửa chữa hệ thống phanh dầu xe Toyota Vios tại Hưng Thịnh Auto, bao gồm giới thiệu công ty, nội dung thực tập và đánh giá thực trạng.","13871752569371.jpg","15/07/2025",476,"https://tailieu.vn/doc/bao-cao-thuc-tap-quy-trinh-bao-duong-sua-chua-he-thong-phanh-toyota-vios-2915739.html","bao-cao-thuc-tap-quy-trinh-bao-duong-sua-chua-he-thong-phanh-toyota-vios-2915739.html","https://cdn.tailieu.vn/images/document/thumbnail/2025/20250715/vijiraiya/135x160/13871752569371.jpg","Quy trình bảo dưỡng, sửa chữa hệ thống phanh Toyota Vios: Báo cáo thực tập",{"code":14,"label":816},{"data":971,"links":1131,"meta":1135},[972,985,997,1008,1019,1030,1040,1049,1060,1070,1081,1091,1102,1111,1122],{"document_id":973,"document_title":974,"document_desc":975,"document_picturename":976,"document_filetype":810,"document_numpage":977,"document_uploaddate":978,"member_username":979,"document_numdownload":14,"document_favorite_today":24,"isSaved":817,"document_numview":980,"url":981,"document_link":24,"thumbnail":982,"document_isfree":15,"document_kind":15,"document_title_seo":983,"document_status":984},2943127,"Đồ án tốt nghiệp: Xây dựng phần mềm hệ thống điều khiển cho xe đua địa hình mini","Đồ án nghiên cứu về xây dựng phần mềm hệ thống điều khiển xe đua địa hình mini, giúp tối ưu vận hành & nâng cao chất lượng đào tạo ĐH Nha Trang.","44551768967906.jpg",133,"21/01/2026","bachduong_011",75,"https://tailieu.vn/doc/do-an-tot-nghiep-xay-dung-phan-mem-he-thong-dieu-khien-cho-xe-dua-dia-hinh-mini-2943127.html","https://cdn.tailieu.vn/images/document/thumbnail/2026/20260121/bachduong_011/135x160/44551768967906.jpg","Phần mềm điều khiển xe đua địa hình mini: Đồ án tốt nghiệp xây dựng hệ thống",{"code":14,"label":816},{"document_id":986,"document_title":987,"document_desc":988,"document_picturename":989,"document_filetype":863,"document_numpage":990,"document_uploaddate":991,"member_username":992,"document_numdownload":9,"document_favorite_today":24,"isSaved":817,"document_numview":478,"url":993,"document_link":24,"thumbnail":994,"document_isfree":15,"document_kind":15,"document_title_seo":995,"document_status":996},2942062,"Bài tiểu luận: Tính toán thiết kế cầu trục 8 tấn","Bài tiểu luận có nội dung giới thiệu chung về máy nâng chuyển, tính toán, thiết kế cầu trục 8 tấn, nghiên cứu máy nâng chuyển, an toàn vận hành, tải trọng, kết cấu thép, cơ cấu nâng.","65911768546688.jpg",130,"31/12/2025","gaupanda090","https://tailieu.vn/doc/bai-tieu-luan-tinh-toan-thiet-ke-cau-truc-8-tan-2942062.html","https://cdn.tailieu.vn/images/document/thumbnail/2025/20251231/gaupanda090/135x160/65911768546688.jpg","Tính toán thiết kế cầu trục 8 tấn: Bài tiểu luận chi tiết",{"code":14,"label":816},{"document_id":998,"document_title":999,"document_desc":1000,"document_picturename":1001,"document_filetype":863,"document_numpage":75,"document_uploaddate":1002,"member_username":1003,"document_numdownload":14,"document_favorite_today":24,"isSaved":817,"document_numview":256,"url":1004,"document_link":24,"thumbnail":1005,"document_isfree":15,"document_kind":15,"document_title_seo":1006,"document_status":1007},2940934,"Báo cáo thực tập: Thực hành lắp mạch đa hài xung vuông","Báo cáo thực hành lắp mạch đa hài xung vuông, ứng dụng trong kỹ thuật số. Mạch gồm transistor, điện trở, tụ điện, LED, nguyên lý hoạt động qua nạp xả tụ.","29311768205795.jpg","12/06/2025","minhquan0690","https://tailieu.vn/doc/bao-cao-thuc-tap-thuc-hanh-lap-mach-da-hai-xung-vuong-2940934.html","https://cdn.tailieu.vn/images/document/thumbnail/2025/20250612/minhquan0690/135x160/29311768205795.jpg","Báo cáo thực tập thực hành lắp mạch đa hài xung vuông chi tiết",{"code":14,"label":816},{"document_id":1009,"document_title":1010,"document_desc":1011,"document_picturename":1012,"document_filetype":810,"document_numpage":772,"document_uploaddate":1013,"member_username":1014,"document_numdownload":9,"document_favorite_today":24,"isSaved":817,"document_numview":428,"url":1015,"document_link":24,"thumbnail":1016,"document_isfree":15,"document_kind":15,"document_title_seo":1017,"document_status":1018},2940266,"Khoá luận tốt nghiệp: Nghiên cứu đặc tính khí động học trên xe VinFast VF5 bằng ứng dụng mô phỏng CFD","Khoá luận nghiên cứu đặc tính khí động học xe VinFast VF5 bằng CFD, xây dựng mô hình 3D, mô phỏng dòng khí, đánh giá hệ số cản và đề xuất cải tiến.","34541767953878.jpg","16/12/2025","sanhobien01","https://tailieu.vn/doc/khoa-luan-tot-nghiep-nghien-cuu-dac-tinh-khi-dong-hoc-tren-xe-vinfast-vf5-bang-ung-dung-mo-phong-cfd-2940266.html","https://cdn.tailieu.vn/images/document/thumbnail/2025/20251216/sanhobien01/135x160/34541767953878.jpg","Nghiên cứu đặc tính khí động học xe VinFast VF5: Khóa luận tốt nghiệp ứng dụng mô phỏng CFD",{"code":14,"label":816},{"document_id":1020,"document_title":1021,"document_desc":1022,"document_picturename":1023,"document_filetype":810,"document_numpage":387,"document_uploaddate":991,"member_username":1024,"document_numdownload":15,"document_favorite_today":24,"isSaved":817,"document_numview":1025,"url":1026,"document_link":24,"thumbnail":1027,"document_isfree":15,"document_kind":15,"document_title_seo":1028,"document_status":1029},2939410,"Khoá luật tốt nghiệp: Thiết kế cải tiến họng nạp cho động cơ Diesel VIKYNO RV165-2 với mục tiêu nâng cao tỷ số xoáy bằng phương pháp mô phỏng","Khoá luận nghiên cứu việc cải tiến họng nạp động cơ Diesel VIKYNO RV165-2, tăng tỷ số xoáy bằng mô phỏng ANSYS, phương án cổ nối 2 hiệu quả,tiết kiệm nhiên liệu.","58221767776710.jpg","tomhum321",126,"https://tailieu.vn/doc/khoa-luat-tot-nghiep-thiet-ke-cai-tien-hong-nap-cho-dong-co-diesel-vikyno-rv165-2-voi-muc-tieu-nang-cao-ty-so-xoay-bang-phuong-phap-mo-phong-2939410.html","https://cdn.tailieu.vn/images/document/thumbnail/2025/20251231/tomhum321/135x160/58221767776710.jpg","Thiết Kế Cải Tiến Họng Nạp Động Cơ Diesel VIKYNO RV165-2: Khóa Luật Tốt Nghiệp Nâng Cao Tỷ Số Xoáy Bằng Mô Phỏng",{"code":14,"label":816},{"document_id":1031,"document_title":1032,"document_desc":1033,"document_picturename":1034,"document_filetype":810,"document_numpage":588,"document_uploaddate":991,"member_username":1024,"document_numdownload":15,"document_favorite_today":24,"isSaved":817,"document_numview":1035,"url":1036,"document_link":24,"thumbnail":1037,"document_isfree":15,"document_kind":15,"document_title_seo":1038,"document_status":1039},2939404,"Luận văn tốt nghiệp: Thiết kế hệ thống điều hòa không khí cho tòa nhà UOA Tower","Luận văn trình bày thiết kế hệ thống điều hòa không khí cho tòa nhà UOA Tower, bao gồm tính toán phụ tải lạnh, lựa chọn phương án, thiết kế đường ống.","38641767775359.jpg",135,"https://tailieu.vn/doc/luan-van-tot-nghiep-thiet-ke-he-thong-dieu-hoa-khong-khi-cho-toa-nha-uoa-tower-2939404.html","https://cdn.tailieu.vn/images/document/thumbnail/2025/20251231/tomhum321/135x160/38641767775359.jpg","Thiết kế hệ thống điều hòa không khí cho tòa nhà UOA Tower: Luận văn tốt nghiệp",{"code":14,"label":816},{"document_id":1041,"document_title":1042,"document_desc":1043,"document_picturename":1044,"document_filetype":810,"document_numpage":402,"document_uploaddate":991,"member_username":1024,"document_numdownload":15,"document_favorite_today":24,"isSaved":817,"document_numview":307,"url":1045,"document_link":24,"thumbnail":1046,"document_isfree":15,"document_kind":15,"document_title_seo":1047,"document_status":1048},2939403,"Khoá luận tốt nghiệp: Khảo sát đặc tính công suất động cơ Vikyno RV125 cải tiến ứng dụng chế độ nhiên liệu kép LPG-DIESEL","Khóa luận nghiên cứu cải tiến động cơ Diesel Vikyno RV125 dùng nhiên liệu kép LPG-Diesel, khảo sát đặc tính công suất, giảm thải ô nhiễm.","73021767775360.jpg","https://tailieu.vn/doc/khoa-luan-tot-nghiep-khao-sat-dac-tinh-cong-suat-dong-co-vikyno-rv125-cai-tien-ung-dung-che-do-nhien-lieu-kep-lpg-diesel-2939403.html","https://cdn.tailieu.vn/images/document/thumbnail/2025/20251231/tomhum321/135x160/73021767775360.jpg","Khảo sát đặc tính công suất động cơ Vikyno RV125 cải tiến ứng dụng chế độ nhiên liệu kép LPG-DIESEL: Khoá luận tốt nghiệp",{"code":14,"label":816},{"document_id":1050,"document_title":1051,"document_desc":1052,"document_picturename":1053,"document_filetype":863,"document_numpage":100,"document_uploaddate":1054,"member_username":1055,"document_numdownload":14,"document_favorite_today":24,"isSaved":817,"document_numview":443,"url":1056,"document_link":24,"thumbnail":1057,"document_isfree":15,"document_kind":15,"document_title_seo":1058,"document_status":1059},2937408,"Bài tiểu luận: Nghiên cứu về IC 555, IC 7490, IC 7447 và thiết kế LED 7 đoạn đếm số","Bài tiểu luận môn Điện tử số được thực hiện với mục tiêu nghiên cứu IC 555, 7490, 7447, thiết kế LED 7 đoạn đếm số, tìm hiểu lý thuyết kỹ thuật số, hàm logic, Flip Flop, giải mã BCD.","5691766982129.jpg","27/12/2025","tienhieusinhlien@gmail.com","https://tailieu.vn/doc/bai-tieu-luan-nghien-cuu-ve-ic-555-ic-7490-ic-7447-va-thiet-ke-led-7-doan-dem-so-2937408.html","https://cdn.tailieu.vn/images/document/thumbnail/2025/20251227/tienhieusinhlien@gmail.com/135x160/5691766982129.jpg","Nghiên cứu IC 555, IC 7490, IC 7447 và thiết kế LED 7 đoạn đếm số: Bài tiểu luận chi tiết",{"code":14,"label":816},{"document_id":1061,"document_title":1062,"document_desc":1063,"document_picturename":1064,"document_filetype":863,"document_numpage":1065,"document_uploaddate":1054,"member_username":1055,"document_numdownload":15,"document_favorite_today":24,"isSaved":817,"document_numview":558,"url":1066,"document_link":24,"thumbnail":1067,"document_isfree":15,"document_kind":15,"document_title_seo":1068,"document_status":1069},2937406,"Bài tiểu luận: Bãi đỗ xe thông minh RFID","Đề tài được thực hiện nhằm đạt được các mục tiêu cụ thể, bao trùm từ thiếtkế phần cứng, phát triển phần mềm đến đánh giá tổng thể hệ thống, tự động hóa, tăng tính chính xác, an toàn, giảm can thiệp người.","2041766982130.jpg",30,"https://tailieu.vn/doc/bai-tieu-luan-bai-do-xe-thong-minh-rfid-2937406.html","https://cdn.tailieu.vn/images/document/thumbnail/2025/20251227/tienhieusinhlien@gmail.com/135x160/2041766982130.jpg","Bãi đỗ xe thông minh RFID: Bài tiểu luận chi tiết",{"code":14,"label":816},{"document_id":1071,"document_title":1072,"document_desc":1073,"document_picturename":1074,"document_filetype":863,"document_numpage":109,"document_uploaddate":1075,"member_username":1076,"document_numdownload":30,"document_favorite_today":24,"isSaved":817,"document_numview":488,"url":1077,"document_link":24,"thumbnail":1078,"document_isfree":15,"document_kind":15,"document_title_seo":1079,"document_status":1080},2935659,"Báo cáo thực tập: Tại Công ty Cổ phần Long Thọ","Báo cáo thực tập là tài liệu tổng hợp quá trình thực tập của sinh viên tại Công ty Cổ phần Long Thọ, tìm hiểu về lịch sử, công nghệ sản xuất xi măng, sơ đồ dây chuyền trạm nghiền, thiết bị (máy nghiền bi).","92101766378446.jpg","19/12/2025","minhphuc04032003@gmail.com","https://tailieu.vn/doc/bao-cao-thuc-tap-tai-cong-ty-co-phan-long-tho-2935659.html","https://cdn.tailieu.vn/images/document/thumbnail/2025/20251219/minhphuc04032003@gmail.com/135x160/92101766378446.jpg","Báo cáo thực tập tại Công ty Cổ phần Long Thọ",{"code":14,"label":816},{"document_id":1082,"document_title":1083,"document_desc":1084,"document_picturename":1085,"document_filetype":863,"document_numpage":734,"document_uploaddate":1075,"member_username":1076,"document_numdownload":14,"document_favorite_today":24,"isSaved":817,"document_numview":1086,"url":1087,"document_link":24,"thumbnail":1088,"document_isfree":15,"document_kind":15,"document_title_seo":1089,"document_status":1090},2935658,"Đồ án tốt nghiệp: Tính toán thiết kế máy nghiền bi công suất 2 triệu tấn/năm trong dây chuyền sản xuất xi măng","Đồ án tập trung phân tích yêu cầu công nghệ và các thông số làm việc của máy nghiền bi, thực hiện tính toán lựa chọn kết cấu, kích thước, công suất và các bộ phận chính, nhằm đáp ứng năng suất thiết kế và yêu cầu vận hành trong dây chuyền sản xuất xi măng thực tế.","57051766378447.jpg",141,"https://tailieu.vn/doc/do-an-tot-nghiep-tinh-toan-thiet-ke-may-nghien-bi-cong-suat-2-trieu-tannam-trong-day-chuyen-san-xuat-xi-mang-2935658.html","https://cdn.tailieu.vn/images/document/thumbnail/2025/20251219/minhphuc04032003@gmail.com/135x160/57051766378447.jpg","Tính toán thiết kế máy nghiền bi công suất 2 triệu tấn/năm trong dây chuyền sản xuất xi măng: Đồ án tốt nghiệp",{"code":14,"label":816},{"document_id":1092,"document_title":1093,"document_desc":1094,"document_picturename":1095,"document_filetype":810,"document_numpage":312,"document_uploaddate":1096,"member_username":1097,"document_numdownload":14,"document_favorite_today":24,"isSaved":817,"document_numview":533,"url":1098,"document_link":24,"thumbnail":1099,"document_isfree":15,"document_kind":15,"document_title_seo":1100,"document_status":1101},2933741,"Đồ án tốt nghiệp: Tính toán, thiết kế hệ thống bảo vệ sa thải phụ tải cho hệ thống điện","Đồ án tốt nghiệp về tính toán, thiết kế hệ thống bảo vệ sa thải phụ tải (UFLS) cho hệ thống điện, sử dụng phương pháp MILP và mô phỏng trên PSS/E, MATLAB.","88391765620137.jpg","13/12/2025","tangtuy03","https://tailieu.vn/doc/do-an-tot-nghiep-tinh-toan-thiet-ke-he-thong-bao-ve-sa-thai-phu-tai-cho-he-thong-dien-2933741.html","https://cdn.tailieu.vn/images/document/thumbnail/2025/20251213/tangtuy03/135x160/88391765620137.jpg","Tính toán, thiết kế hệ thống bảo vệ sa thải phụ tải cho hệ thống điện: Đồ án tốt nghiệp",{"code":14,"label":816},{"document_id":1103,"document_title":1104,"document_desc":1105,"document_picturename":1106,"document_filetype":810,"document_numpage":739,"document_uploaddate":1096,"member_username":1097,"document_numdownload":14,"document_favorite_today":24,"isSaved":817,"document_numview":443,"url":1107,"document_link":24,"thumbnail":1108,"document_isfree":15,"document_kind":15,"document_title_seo":1109,"document_status":1110},2933739,"Báo cáo thực tập tốt nghiệp: Tìm hiểu hệ thống tự động hóa Nhà máy Nhiệt điện Hải Phòng","Báo cáo thực tập về nhà máy nhiệt điện Hải Phòng: tổng quan về hệ thống, tua bin, máy phát và hệ thống điều khiển Ovation. Đề xuất cải tiến hiệu quả.","57281765620139.jpg","https://tailieu.vn/doc/bao-cao-thuc-tap-tot-nghiep-tim-hieu-he-thong-tu-dong-hoa-nha-may-nhiet-dien-hai-phong-2933739.html","https://cdn.tailieu.vn/images/document/thumbnail/2025/20251213/tangtuy03/135x160/57281765620139.jpg","Báo cáo thực tập tốt nghiệp: Tìm hiểu hệ thống tự động hóa Nhà máy Nhiệt điện Hải Phòng chi tiết",{"code":14,"label":816},{"document_id":1112,"document_title":1113,"document_desc":1114,"document_picturename":1115,"document_filetype":863,"document_numpage":443,"document_uploaddate":1116,"member_username":1117,"document_numdownload":14,"document_favorite_today":24,"isSaved":817,"document_numview":272,"url":1118,"document_link":24,"thumbnail":1119,"document_isfree":15,"document_kind":15,"document_title_seo":1120,"document_status":1121},2933544,"Đồ án môn học: Thiết kế cung cấp điện cho tòa nhà B2 Đại học Vinh","Đồ án tốt nghiệp cung cấp điện cho tòa nhà B2 Đại học Vinh, bao gồm tính toán phụ tải, chọn dây dẫn, thiết bị bảo vệ, hệ thống chiếu sáng, chống sét và nối đất.","65851765594609.jpg","12/12/2025","phanduchung10072004@gmail.com","https://tailieu.vn/doc/do-an-mon-hoc-thiet-ke-cung-cap-dien-cho-toa-nha-b2-dai-hoc-vinh-2933544.html","https://cdn.tailieu.vn/images/document/thumbnail/2025/20251212/phanduchung10072004@gmail.com/135x160/65851765594609.jpg","Thiết kế cung cấp điện cho tòa nhà B2 Đại học Vinh: Đồ án môn học [chuẩn nhất]",{"code":14,"label":816},{"document_id":1123,"document_title":1124,"document_desc":1125,"document_picturename":1126,"document_filetype":810,"document_numpage":990,"document_uploaddate":1116,"member_username":941,"document_numdownload":15,"document_favorite_today":24,"isSaved":817,"document_numview":352,"url":1127,"document_link":24,"thumbnail":1128,"document_isfree":15,"document_kind":15,"document_title_seo":1129,"document_status":1130},2933538,"Tiểu luận môn học Kỹ thuật nâng chuyển: Tính toán thiết kế cầu trục 8 tấn","Tiểu luận trình bày quá trình tính toán, thiết kế cầu trục 8 tấn, gồm giới thiệu, phân tích kỹ thuật, lựa chọn thiết kế tối ưu, tính toán cơ cấu nâng và di chuyển.","34091765598886.jpg","https://tailieu.vn/doc/tieu-luan-mon-hoc-ky-thuat-nang-chuyen-tinh-toan-thiet-ke-cau-truc-8-tan-2933538.html","https://cdn.tailieu.vn/images/document/thumbnail/2025/20251212/vijiraiya/135x160/34091765598886.jpg","Tính toán thiết kế cầu trục 8 tấn: Tiểu luận môn học Kỹ thuật nâng chuyển",{"code":14,"label":816},{"first":1132,"last":1133,"prev":24,"next":1134},"https://api-fe.tailieu.vn/api/document-related/bao-cao-de-tai-tim-hieu-wap-cong-cu-tim-kiem-thiet-bi-di-dong-203404.html?page=1","https://api-fe.tailieu.vn/api/document-related/bao-cao-de-tai-tim-hieu-wap-cong-cu-tim-kiem-thiet-bi-di-dong-203404.html?page=17","https://api-fe.tailieu.vn/api/document-related/bao-cao-de-tai-tim-hieu-wap-cong-cu-tim-kiem-thiet-bi-di-dong-203404.html?page=2",{"current_page":14,"from":14,"last_page":100,"path":1136,"per_page":95,"to":95,"total":1137},"https://api-fe.tailieu.vn/api/document-related/bao-cao-de-tai-tim-hieu-wap-cong-cu-tim-kiem-thiet-bi-di-dong-203404.html",255,["Reactive",1139],{"$suser-agent-info":1140},{"userAgent":1141,"isBot":817},"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)",["Set"],["ShallowReactive",1144],{"$fB6NIDCyeUTzT9CUXoyl4DEA4ugOrQ-JxwND0W1_3A68":24,"document-bao-cao-de-tai-tim-hieu-wap-cong-cu-tim-kiem-thiet-bi-di-dong-203404-1-0":24,"$JsVg4S-xmP":24,"documentRelated":24},"/doc/bao-cao-de-tai-tim-hieu-wap-cong-cu-tim-kiem-thiet-bi-di-dong-203404.html",{"auth":1147,"search":1152},{"user":1148,"token":1150},["EmptyRef",1149],"null",["EmptyRef",1151],"_",{"results":1153,"keyword":1156,"loading":1158,"meta":1160},["Ref",1154],["Reactive",1155],[],["EmptyRef",1157],"\"\"",["EmptyRef",1159],"false",["EmptyRef",1149]]</script> <script>window.__NUXT__={};window.__NUXT__.config={public:{apiBase:"https://api-fe.tailieu.vn/api",publicUrl:"https://tailieu.vn",publicUrlTN:"https://tracnghiem.net",firebaseApiKey:"AIzaSyD_24pAos0x5aNu6xZLV-A2yWaF9IdKlpI",firebaseAuthDomain:"tailieuvn-262f6.firebaseapp.com",firebaseProjectId:"tailieuvn-262f6",firebaseAppId:"1:689804318200:web:e8d6c4458805eb82b5f20d",recaptchaSiteKey:"6LcREDssAAAAAE4eUEHL6JsDGJdU2W6TPa55s5nG",device:{defaultUserAgent:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.39 Safari/537.36",enabled:true,refreshOnResize:false},gtag:{enabled:true,initMode:"auto",id:"G-8P6PC2RPKC",initCommands:[],config:{anonymize_ip:true},tags:[],loadingStrategy:"defer",url:"https://www.googletagmanager.com/gtag/js",debug:false}},app:{baseURL:"/",buildId:"b03628de-ff6b-43c4-b547-a88b8b629fb9",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>