Tập bài giảng Lập trình mạng

pdf 209 trang Gia Huy 17/05/2022 2700
Bạn đang xem 20 trang mẫu của tài liệu "Tập bài giảng Lập trình mạng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdftap_bai_giang_lap_trinh_mang.pdf

Nội dung text: Tập bài giảng Lập trình mạng

  1. MỤC LỤC CHƢƠNG 1. MỞ ĐẦU 1 1.1. Lịch sử phát triển của Internet 1 1.2. Tổ chức của Internet 2 1.3. Quản lý Internet 4 1.4. Một số dịch vụ cơ bản trên Internet 4 1.4.1. Giao thức SMTP, POP3 4 1.4.2. Giao thức truyền file - FTP (File Transfer Protocol) 8 1.4.3. Dịch vụ mạng thông tin toàn cầu WWW (World Wide Web) 10 1.4.4. Giao thức HTTP (HyperText Transfer Protocol) 10 1.4.5. Giao thức Chat 11 1.4.6. URL (Uniform Resource Locator) 11 1.4.7. Web Browser. 12 1.4.8. Web Server 16 1.5. Khai thác dịch vụ Internet 16 Câu hỏi và Bài tập 19 Chƣơng 2: NGÔN NGỮ HTML 20 2.1. Giới thiệu chung về HTML 20 2.1.1. Lịch sử của HTML 20 2.1.2. Khái niệm về HTML 22 2.1.3. Các đặc điểm chính của HTML 23 2.2. Cấu trúc trang HTML 24 2.3. Thẻ và cấu trúc thẻ 26 2.4. Thẻ 27 2.5. Thẻ 27 2.6. Sử dụng ký tự đặc biệt trong tài liệu HTML 28 2.7. Sử dụng các siêu liên kết 28 2.7.1. Giới thiệu siêu liên kết và URL 28 2.7.2. Sử dụng siêu liên kết 30 2.7.3. Điều hƣớng quanh Web site 35 2.8. Các thẻ mức đoạn 36 2.8.1. Thẻ P 36 2.8.2. Các thẻ định dạng đề mục 37 2.8.3. Thẻ xuống dòng BR 38 2.8.4. Thẻ ADDRESS 38 2.8.5. Thẻ BLOCKQUOTE 39 2.8.6. Thẻ PRE 39 2.9. Thẻ khối SPAN, DIV 40 2.10. Các thẻ định dạng ký tự thƣờng dùng 40 1
  2. 2.11. Danh sách 41 2.11.1. Danh sách không thứ tự 41 2.11.2. Danh sách có thứ tự 42 2.11.3. Danh sách định nghĩa 44 2.12. Sử dụng font 45 2.13. Sử dụng màu sắc 45 2.14. Sử dụng hình ảnh trong tài liệu HTML 46 2.14.1. Chèn hình ảnh vào tài liệu HTML 46 2.14.2. Chèn ảnh động vào vào tài liệu HTML 47 2.14.3. Chèn âm thanh vào tài liệu HTML 47 2.14.4. Chèn Video vào tài liệu HTML 48 2.14.5. Chèn các Java Applets 49 2.15. Cách tạo bảng 49 2.15.1. Thẻ dùng để tạo bảng 50 2.15.2. Chèn hàng và cột 51 2.15.3. Xóa hàng và cột 52 2.15.4. Trộn ô 52 2.15.5. Định dạng cho ô 54 2.16. Lớp (Layer) 54 2.16.1. Khái niệm lớp 54 2.16.2. Sử dụng các lớp 55 2.17. Giới thiệu biểu mẫu 56 2.17.1. Sử dụng biểu mẫu 57 2.17.2. Phần tử FORM 57 2.17.3. Các phần tử nhập của HTML 57 2.17.4. Tạo biểu mẫu 59 2.18. Khung (Frame) 61 2.19. Phần tử IFRAME 63 2.20. Định dạng bằng CSS 64 2.20.1. Khái niệm CSS 64 2.20.2. Các loại style, mức độ ƣu tiên style và các sử dụng 65 2.20.3. Các khai báo sử dụng CSS 67 2.20.4. Định dạng bằng CSS 73 2.21. Công cụ trong thiết kế Web 74 2.21.1. Tổng quan về các loại công cụ 74 2.21.2. Công cụ soạn thảo 75 2.21.3. Công cụ tạo và xử lý ảnh tĩnh 77 2.21.4. Công cụ Flash, tạo và xử lý ảnh động 77 2.21.5. Công cụ Download, Upload trang Web 78 2
  3. Câu hỏi và Bài tập 80 Chƣơng 3: LẬP TRÌNH SCRIPT 83 3.1. Javascript 83 3.1.1. Giới thiệu Javascript 83 3.1.2. Nhúng Javascript trong trang web 83 3.1.3. Cách đặt biểu thức cho các thuộc tính của thẻ HTML 85 3.1.4. Dùng Javascript cho trình xử lí sự kiện 86 3.1.5. Các kiểu dữ liệu 86 3.1.6. Các toán tử 88 3.1.7. Các biểu thức 90 3.1.8. Khai báo biến, mảng 91 3.1.9. Cách lệnh điều kiện 92 3.1.10. Các lệnh lặp 93 3.1.11. Hàm (function) 95 3.1.12. Các đối tƣợng trong Javascript 97 3.2. Vbscript 109 3.2.1. Giới thiệu Vbscript 109 3.2.2. Nhúng VBscript trong trang web 109 3.2.3. Cách đặt biểu thức cho các thuộc tính của thẻ HTML 110 3.2.4. Dùng VBscript cho trình xử lí sự kiện 110 3.2.5. Các kiểu dữ liệu 111 3.2.6. Các toán tử 112 3.2.7. Các biểu thức 113 3.2.8. Khai báo biến, mảng 113 3.2.9. Cách lệnh điều kiện 116 3.2.10. Các lệnh lặp 118 3.2.11. Hàm (function) và thủ tục Procedure 120 Câu hỏi và Bài tập 126 Chƣơng 4: LẬP TRÌNH ASP 128 4.1. IIS (Internet Information Server) 128 4.1.1. Giới thiệu IIS 128 4.1.2. Cài đặt IIS. 129 4.1.3. Thực hiện file ASP trên IIS 131 4.2. ASP (Active Server Page) 132 4.2.1. Giới thiệu về ASP. 132 4.2.2. Hoạt động của ASP 133 4.2.3. Cú pháp của ASP 134 4.2.4. Khai báo các ngôn ngữ Script trong ASP 134 4.2.5. Khai báo biến trong ASP 135 3
  4. 4.2.6. Phạm vi hoạt động của biến 136 4.2.7. Các biến phiên và biến ứng dụng 137 4.2.8. Khai báo thủ tục, hàm và cách gọi 137 4.2.9. Liên kết nhiều tệp trong một tệp 139 4.3. Các đối tƣợng cơ bản của ASP 141 4.3.1. Đối tƣợng Request 141 4.3.2. Đối tƣợng Response 147 4.3.3. Đối tƣợng Cookies 155 4.3.4. Đối tƣợng Session 156 4.3.5. Đối tƣợng Application 164 4.3.6. Đối tƣợng Server 165 4.3.7. Đối tƣợng ASPError 170 4.4. Tập tin Global.asa 173 4.5. Đối tƣợng Dictionary 175 4.5.1. Tạo các đối tƣợng Dictionary 175 4.5.2. Các thuộc tính của đối tƣợng Dictionary 175 4.5.3. Các phƣơng thức của đối tƣợng Dictionary 177 4.6. Đối tƣợng FileSystemObject 181 4.6.1. Tạo các đối tƣợng FileSystemObject 181 4.6.2. Các thuộc tính của đối tƣợng FileSystemObject 181 4.6.3. Các phƣơng thức của đối tƣợng FileSystemObject 181 4.7. Đối tƣợng AdRotator 188 4.7.1. Tạo các đối tƣợng AdRotator 188 4.7.2. Các thuộc tính của đối tƣợng AdRotator 189 4.7.3. Các phƣơng thức của đối tƣợng AdRotator 190 4.8. Kết nối cơ sở dữ liệu 190 4.8.1. Kết nối với cơ sở dữ liệu 191 4.8.2. Các đối tƣợng của ADO 192 4.8.3. Tập hợp các Errors 198 4.8.4. Stored Procedure và truyền tham số 199 Câu hỏi và Bài tập 203 4
  5. CHƢƠNG 1. MỞ ĐẦU 1.1. Lịch sử phát triển của Internet Tiền thân của mạng Internet ngày nay là mạng ARPANET. Vào năm 1960 khi một cơ quan của Bộ Quốc phòng Mỹ, cơ quan quản lý dự án nghiên cứu phát triển (ARPA) đề nghị liên kết 4 địa điểm đầu tiên vào tháng 7 năm 1968. Bốn địa điểm đầu tiên đó là Viện Nghiên cứu Stanford, Trƣờng Đại học tổng hợp California ở Los Angeles, đại học Santa Barbara và trƣờng Đại học tổng hợp Utah. Đó là mạng liên khu vực (Wide area Network) hay mạng Wan đầu tiên đƣợc xây dựng (mặc dù nó nhỏ hơn nhiều so với các mạng WAN ngày nay). Bốn địa điểm trên đƣợc nối thành mạng vào năm 1969 đã đánh dấu sự ra đời của Internet ngày nay, mạng đƣợc biết đến dƣới cái tên ARPANET đã hình thành. Nếu xét về thời gian thì thuật ngữ Internet xuất hiện lần đầu vào khoảng năm 1974. Lúc đó mạng vẫn đƣợc gọi là ARPANET. Năm 1983, giao thức TCP/IP chính thức đƣợc coi nhƣ một chuẩn đối với ngành quân sự Mỹ, và tất cả các máy tính nối với ARPANET phải sử dụng chuẩn mới này. Năm 1984, ARPANET đã đƣợc chia ra thành hai phần : Phần thứ nhất vẫn đƣợc gọi là ARPANET- dành cho việc nghiên cứu và phát triển; phần thứ hai đƣợc gọi là MILNET- là mạng dùng cho các mục đích quân sự. Giao thức TCP/IP ngày càng thể hiện rõ các điểm mạnh của mình, quan trọng nhất là khả năng liên kết các mạng khác với lại nhau một cách dễ dàng. Chính điều này cùng với các chính sách mở cửa đã cho phép các mạng dùng cho nghiên cứu và thƣơng mại kết nối đƣợc với ARPANET, thúc đẩy việc tạo ra một siêu mạng (SuperNetwork). Nhƣng năm 1980 ARPANET đƣợc đánh giá là mạng trụ cột của mạng Internet. Mốc lịch sử quan trọng của Internet đƣợc chọn vào giữa thập kỷ 1980, khi tổ chức khoa học quốc gia Mỹ NSF thành lập mạng liên kết các trung tâm máy tính lớn với nhau gọi là NSFNET. Nhiều doanh nghiệp đã chuyển từ ARPANET sang NSFNET và do đó sau gần 20 năm hoạt động, ARPANET không còn hiệu quả nữa và đã ngừng hoạt động vảo khoảng năm 1990. Sự hình thành mạng backbone của NSFNET và những mạng vùng khác đã tạo ra một môi trƣờng thuận lợi cho sự phát triển của Internet. Tới năm 1995, NSFNET thu lại thành một mạng nghiên cứu còn Internet thì vẫn tiếp tục phát triển. Với khả năng kết nối mở nhƣ thế, Internet đã trở thành một mạng lớn nhất trên thế giới, mạng của các mạng. Ngày nay chúng ta thấy Internet xuất hiện trong mọi lĩnh vực : thƣơng mại, chínhh trị, quân sự, nghiên cứu, giáo dục, văn hoá, xã hội , và cũng từ đó các dịch vụ trên Internet không ngừng phát triển tạo ra cho nhân loại một kỷ nguyên mới : Kỷ nguyên thƣơng mại điện tử trên Internet. Theo các chuyên gia về tin học,Internet đƣợc xem nhƣ là một mạng của các mạng (Network of network).Các mạng đƣợc nối vào Internet là mạng cục bộ (LAN—Local Area 1
  6. Network , kết nối máy tính trong phạm vi hẹp, thƣờng đƣợc sử dụng trong nội bộ một cơ quan hay tổ chức), mạng địa phƣơng (MAN—Metropolitan Area Network, kết nối máy tính trong phạm vi một thành phố), mạng miền rộng (WAN—Wide AreaNetwork, kết nối trong phạm vi một quốc gia hay nhiều quốc gia trong châu lục). Trên Internet thông tin đƣợc cung cấp qua dịch vụ World Wide Web (mạng toàn cầu) viết tắt là www hay Web; Web gồm có nhiều trang, gọi là các trang web (web site), mỗi trang chứa thông tin về một chủ đề riêng biệt nào đó. Internet chứa một khối lƣợng thông tin khổng lồ cho phép các máy nối mạng có thể truy nhập và khai thác các cơ sở dữ liệu thuộc nhiều lĩnh vực. Ngoài ra một thuật ngữ khác là Intranet cũng hay đƣợc sử dụng với nghĩa là một mạng máy tính đƣợc thiết lập trong phạm vi của một cơ quan nhằm chia sẻ thông tin qua việc sử dụng Internet.Intranet có thể bị ngăn cách với Internet bằng một bức tƣờng lửa (firewall); Firewall là một máy chủ đứng chắn giữa Intranet và thế giới bên ngoài, theo dõi thông tin ra vào, ngăn cản sự phá rối, đánh cắp tài liệu mật hay tìm đến những website bị cấm trên Internet. 1.2. Tổ chức của Internet Internet là một liên mạng, tức là mạng của các mạng con. Vậy đầu tiên là vấn đề kết nối hai mạng con. Để kết nối hai mạng con với nhau, có hai vấn đề cần giải quyết. Về mặt vật lý, hai mạng con chỉ có thể kết nối với nhau khi có một máy tính có thể kết nối với cả hai mạng này. Việc kết nối đơn thuần về vậy lý chƣa thể làm cho hai mạng con có thể trao đổi thông tin với nhau. Vậy vấn đề thứ hai là máy kết nối đƣợc về mặt vật lý với hai mạng con phải hiểu đƣợc cả hai giao thức truyền tin đƣợc sử dụng trên hai mạng con này và các gói thông tin của hai mạng con sẽ đƣợc gửi qua nhau thông qua đó. Máy tính này đƣợc gọi là internet gateway hay router Khi kết nối đã trở nên phức tạp hơn, các máy gateway cần phải biết về sơ đồ kiến trúc của các mạng kết nối. Ví dụ trong hình sau đây cho thấy nhiều mạng đƣợc kết nối bằng 2 router. Nhƣ vậy, router R1 phải chuyển tất cả các gói thông tin đến một máy nằm ở mạng Net 2 hoặc Net 3. Với kích thƣớc lớn nhƣ mạng Internet, việc các routers làm sao có thể quyết định về việc chuyển các gói thông tin cho các máy trong các mạng sẽ trở nên phức tạp hơn. 2
  7. Để các routers có thể thực hiện đƣợc công việc chuyển một số lớn các gói thông tin thuộc các mạng khác nhau ngƣời ta đề ra quy tắc là: Các routers chuyển các gói thông tin dựa trên địa chỉ mạng của nơi đến, chứ không phải dựa trên địa chỉ của máy máy nhận . Nhƣ vậy, dựa trên địa chỉ mạng nên tổng số thông tin mà router phải lƣu giữ về sơ đồ kiến trúc mạng sẽ tuân theo số mạng trên Internet chứ không phải là số máy trên Internet. Trên Internet, tất cả các mạng đều có quyền bình đẳng cho dù chúng có tổ chức hay số lƣợng máy là rất chênh lệch nhau. Giao thức TCP/IP của Internet hoạt động tuân theo quan điểm sau: Tất các các mạng con trong Internet nhƣ là Ethernet, một mạng diện rộng nhƣ NSFNET back bone hay một liên kết điểm - điểm giữa hai máy duy nhất đều đƣợc coi nhƣ là một mạng. Điều này xuất phát từ quan điểm đầu tiên khi thiết kế giao thức TCP/IP là để có thể liên kết giữa các mạng có kiến trúc hoàn toàn khác nhau, khái niệm "mạng" đối với TCP/IP bị ẩn đi phần kiến trúc vật lý của mạng. Đây chính là điểm giúp cho TCP/IP tỏ ra rất mạnh. Nhƣ vậy, ngƣời dùng trong Internet hình dung Internet làm một mạng thống nhất và bất kỳ hai máy nào trên Internet đều đƣợc nối với nhau thông qua một mạng duy nhất. Hình vẽ sau mô tả kiến trúc tổng thể của Internet. 3
  8. 1.3. Quản lý Internet Thực chất Internet không thuộc quyền quản lý của bất kỳ ai. Nó không có giám đốc, không có ban quản trị. Chúng ta có thể tham gia hoặc không tham gia vào Internet, đó là quyền của mỗi thành viên. Mỗi mạng thành phần sẽ có một giám đốc hay chủ tịch, một cơ quan chính phủ hoặc một hãng điều hành, nhƣng không có một tổ chức nào chịu trách nhiệm về toàn bộ Internet. Hiệp hội Internet (Internet Socity - ISOC) là một hiệp hội tự nguyện có mục đích phát triển khả năng trao đổi thông tin dựa vào công nghệ Internet. Hiệp hội bầu ra Internet Architecture Board IAB (Uỷ ban kiến trúc mạng). Ban này có trách nhiệm đƣa ra các hƣớng dẫn về kỹ thuật cũng nhƣ phƣơng hƣớng để phát triển Internet. IAB họp định kỳ để bàn về các vấn đề nhƣ các chuẩn, cách phân chia tài nguyên, địa chỉ Mọi ngƣời trên Internet thể hiện nguyện vọng của mình thông qua uỷ ban kỹ thuật Internet (Internet Engineering Task Force ƣ IETF). IETF cũng là một tổ chức tự nguyện, có mục đích thảo luận về các vấn đề kỹ thuật và sự hoạt động của Internet. Nếu một vấn đề đƣợc coi trọng, IETF lập một nhóm kỹ thuật để nghiên cứu vấn đề này gọi là Nhóm đặc trách nghiên cứu phát triển Internet (Internet Researching Task Force) viết tắt là IRTF. Trung tâm thông tin mạng ( Network Information Center - NIC ) gồm có nhiều trung tâm khu vực nhƣ APNIC - khu vực Châu Á - Thái Bình Dƣơng. NIC chịu trách nhiệm phân tên và địa chỉ cho các mạng máy tính nối vào Internet. 1.4. Một số dịch vụ cơ bản trên Internet 1.4.1. Giao thức SMTP, POP3 Chuẩn Internet cho E-mail là Simple Mail Transport Protocol (SMTP). SMTP là nghi thƣ́ c cấp ƣ́ ng duṇ g (application-level) dùng để điều khiển các dịch vụ thông điệp thông qua các mạng TCP/IP. SMTP đƣơc̣ nói rõ trong RFC 321 và 822. SMTP sƣ̉ duṇ g cổng TCP 25. Bên caṇ h SMTP, hai nghi thƣ́ c khác dùng để phân phát mail đến client là POP3 và IMAP4. MIME (Multipurpose Internet Mail Extensions) bổ sung thêm cho SMTP để cho phép gắn kèm các thông đi ệp đa phƣơng tiện (không phải là văn bản ) bên trong thông điêp̣ SMTP chuẩn . MIME sƣ̉ duṇ g ma ̃ hóa Base 64 để chuyển các file phức tạp sang ASCII . MIME đƣơc̣ mô tả trong các RFC 2045-2049. Các lệnh SMTP thƣờng sử dụng: Lênh Ý nghĩa HELO Sƣ̉ duṇ g để điṇ h danh máy gƣ̉ i với máy nhâṇ . Lêṇ h này phải kèm với tên máy tính của máy gƣ̉ i . Trong nghi thƣ́ c mở rôṇ g (ESMTP), lêṇ h EHLO thay cho lêṇ h này. MAIL - Khởi taọ môṭ phiên gƣ̉ i mail . Đối số bao gồm trƣờng 4
  9. ―FROM‖ và địa chỉ email của ngƣời gửi. RCPT Điṇ h danh ngƣời nhâṇ thông điêp̣ . Đi kèm với ―TO‖ và điạ chỉ email ngƣời nhâṇ . DATA Thông báo bắt đầu gƣ̉ i dƣ̃ liêụ thƣc̣ sƣ ̣ của mail (phần thân của message). Dƣ̃ liêụ kết thúc bằng môṭ dòng trống và môṭ dấu chấm (.). RSET Hủy (reset) phiên gƣ̉ i mail hiêṇ hành VRFY Sƣ̉ duṇ g để xác nhâṇ môṭ ngƣời nhâṇ mail NOOP Viết tắt của ―no operation‖, lêṇ h này không làm gì cả QUIT Đóng kết nối SEND Báo cho host nhận biết là message phải đƣơc̣ gƣ̉ i đến môṭ terminal khác HELP Yêu cầu thông tin trơ ̣ giúp tƣ̀ host nhâṇ Ví dụ về truyền thông của SMTP: Sau khi kết nối giữa ngƣời gửi (trình khách) và ngƣời nhận (trình chủ) đã đƣợc thiết lập, những việc làm sau đây là những việc hoàn toàn hợp lệ, đối với một phiên giao dịch dùng giao thức SMTP. Trong cuộc hội thoại dƣới đây, những gì trình khách gửi đƣợc đánh dấu bằng chữ C: đứng trƣớc, còn những gì trình chủ gửi đƣợc đánh dấu bằng S:. Các hệ thống máy tính đều có thể thiết lập một kết nối, bằng cách dùng những dòng lệnh của phần mềm telnet, trên một máy khách. Chẳng hạn: telnet www.example.com 25 khởi động một kết nối SMTP từ máy gửi thông điệp đến máy chủ www.example.com. S: 220 www.example.com ESMTP Postfix C: HELO mydomain.com S: 250 Hello mydomain.com C: MAIL FROM: S: 250 Ok C: RCPT TO: S: 250 Ok C: DATA S: 354 End data with . C: Subject: test message C: From: sender@mydomain.com C: To: friend@example.com C: Hello, C: This is a test. 5
  10. C: Goodbye. S: 250 Ok: queued as 12345 C: QUIT S: 221 Bye Các mã trạng thái SMTP Khi môṭ sending host gƣ̉ i môṭ lêṇ h SMTP đến receiving host , host nhâṇ trả về môṭ mã trạng thái cho máy gửi biết là điều gì đã xảy ra . Danh sách bên dƣới là code đƣơc̣ nhóm theo số đầu tiên (5xx là lỗi, 4xx lỗi taṃ thời, 1xx-3xx thành công): Mã Ý nghĩa 211 Trả lời trợ giúp, trạng thái hệ thống 214 Help message 220 Dịch vụ sẳn sàng (Service ready) 221 Đóng kết nối 250 Hành động yêu cầu đƣợc chấp nhận 251 Ngƣời sƣ̉ duṇ g không ở maṇ g cuc̣ bô,̣ chuyển đến 354 Bắt đầu nhâp̣ mail 421 Dịch vụ không sẵn sàng 450 Hành động không chấp nhận, mailbox bâṇ 451 Hành động bị hủy, lỗi cuc̣ bô ̣ 452 Hành động không chấp nhận, thiếu không gian lƣu trƣ̃ 500 Không hiểu lệnh hoặc lỗi cú pháp 501 Lỗi cú pháp ở tham số 502 Lêṇ h không đƣơc̣ hỗ trơ ̣ 503 Sai thƣ́ tƣ ̣ các lêṇ h 504 Tham số của lêṇ h không đƣơc̣ hỗ trơ ̣ 550 Hành động không chấp nhận, mailbox không có . 551 Không phải là ngƣời sƣ̉ dụng cục bộ 552 Hủy lêṇ h do vƣơṭ quá không gian lƣu trƣ̃ 553 Hành động không chấp nhận, tên mailbox không cho phép 554 Phiên dao dic̣ h bi ̣lỗi Post Office Protocol (POP) POP cho phép các mail client (UA – User Agent) ở máy cục bộ kết nối vào pop server (MTA – Message Transfer Agent) và lấy mail về máy tính cục bộ nơi mà ngƣời sử dụng có 6
  11. thể đoc̣ và trả lời các message . POP đƣơc̣ điṇ h nghiã đầu tiên vào năm 1984, đƣơc̣ nâng cấp trong POP2 vào năm 1988. Chuẩn hiêṇ hành là POP3. POP3 UA kết nối với TCP /IP đến server (cổng chuẩn 110). UA nhâp̣ vào môṭ tên đăng nhâp̣ (username) và mật mã (password). Sau khi đăng nhâp̣ , UA sƣ̉ duṇ g các lêṇ h POP3 để lấy và xóa mail. POP3 là nghi thức chỉ để nhâṇ mail. POP3 UA sƣ̉ duṇ g SMTP để gƣ̉ i mail đến server. POP3 đƣơc̣ mô tả trong RFC 1939. Bảng sau đây mô tả các lệnh của POP3 Lệnh Ý nghĩa USER Chỉ rõ username PASS Chỉ rõ password STAT Yêu cầu traṇ g thái của mailbox (số lƣơṇ g message , kích thƣớc của các message) LIST Liêṭ kê các message RETR Lấy môṭ message cu ̣thể DELE Xóa một message cụ thể NOOP Không làm gì cả RSET Hủy hành động của các lệnh DELE (rollback) QUIT Chấp nhâṇ các thay đổi và cắt kết nối Internet Mail Access Protocol (IMAP) POP3 là một nghi thức đơn giản . IMAP4 là môṭ chuẩn mail khác có h ỗ trơ ̣ nhiều tính năng hơn. IMAP4 đƣơc̣ mô tả trong RFC 2060. IMAP4 sƣ̉ duṇ g cổng TCP 143. Các lệnh IMAP4 Lệnh Ý nghĩa CAPABILITY Yêu cầu môṭ danh sách các chƣ́ c năng có hỗ trơ ̣ AUTHENTICATE Chỉ rõ cơ chế đăng nhập LOGIN Cung cấp username và password SELECT Chỉ rõ mailbox EXAMINE Chỉ định mailbox ở chế độ chỉ đọc CREATE Tạo một mailbox DELETE Xóa một mailbox RENAME Đổi tên một mailbox SUBSCRIBE Thêm môṭ mailbox vào danh sách cho phép UNSUBSCRIBE Loại mailbox ra khỏi danh sách cho phép 7
  12. LIST Liêṭ kê các mailbox LSUB Liêṭ kê các mailbox cho phép STATUS Yêu cầu traṇ g thái của mailbox APPEND Thêm môṭ message vào mailbox CHECK Yêu cầu môṭ mailbox checkpoint CLOSE Chấp nhâṇ các thao tác xóa và đóng mailbox EXPUNGE Chấp nhâṇ các thao tác xóa SEARCH Tìm trong mailbox các message thỏa điều kiện cụ thể FETCH Lấy môṭ phần của môṭ message cu ̣thể STORE Thay đổi dƣ̃ liêụ của message cu ̣thể COPY Chép message sang một mailbox khác NOOP Không làm gì cả LOGOUT Đóng kết nối Các lệnh RFC thực sự không phải là các lệnh ngôn ngữ lập trình , nó là các chuỗi dùng để gửi đến Server qua Socket đƣợc tạo với cổng tƣơng ứng .Ví dụ , nếu muốn gƣ̉ i mail, tạo một socket TCP cổng 25 với Server (ví dụ, Post Office) sau đó lần lƣơṭ gƣ̉ i các lêṇ h RFC (kết thúc lêṇ h là ký tƣ ̣ ENTER) và nhận các trả lời từ server để gửi mail. Cách nhanh nhất để thử các lệnh RFC là dùng chƣơng trình Telnet. Ví dụ để gửi một mail, làm nhƣ sau: Ở Command Prompt gõ lêṇ h: Telnet mail.myserver.com 25 Sau đó gõ các lêṇ h nhƣ trong ví du ̣đa ̃ nêu phần trƣớc. Nếu viết môṭ Windows Application thì có thể dùng MAPI control của Windows , nếu viết (asp) Webmail có thể dùng CDO , các control này giúp cho ngƣời lập trình không cần biết RFC nhƣng vâñ có thể viế t đƣơc̣ các ƣ́ ng duṇ g mail bằng cách sƣ̉ duṇ g các phƣơng thƣ́ c và các thuôc̣ tính của chúng . Nhƣng các control trên đều dùng các lêṇ h RFC để làm viêc̣ gƣ̉ i và nhâṇ mail thƣc̣ sƣ.̣ Viêc̣ viết môṭ ƣ́ ng duṇ g bằng cách sƣ̉ duṇ g trƣc̣ tiếp RFC đòi hỏi ngƣời lâp̣ trình phải code nhiều (hầu nhƣ là moị thƣ́ ), phải tìm hiểu nhiều chuẩn khác (MIME), các kiểu mã hóa (Base64, unicode , ), nếu viết Webmail phải tìm hiểu thêm upload file (để attach), cách tổ chƣ́ c trên Webserver để quản lý mail đoc̣ rồi và chƣa đoc̣ , hoăc̣ taọ thêm các thƣ muc̣ . 1.4.2. Giao thức truyền file - FTP (File Transfer Protocol) Dịch vụ FTP dùng để truyền tải các file dữ liệu giữa các host trên Internet. Công cụ để thực hiện dịch vụ truyền file là chƣơng trình ftp, nó sử dụng một giao thức của Internet là giao thức FTP (File Transfer Protocol). Nhƣ tên của giao thức đã nói, công việc của giao 8
  13. thức này là thực hiện chuyển các file từ một máy tính này sang một máy tính khác. Giao thức này cho phép truyền file không phụ thuộc vào vấn đề vị trí địa lý hay môi trƣờng hệ điều hành của hai máy. Điều duy nhất cần thiết là cả hai máy đều có phần mềm hiểu đƣợc giao thức FTP. ftp là một phần mềm nhƣ vậy trên hệ điều hành Unix. Muốn sử dụng dịch vụ này trƣớc hết chúng ta phải có một đăng ký ngƣời dùng ở máy remote và phải có một password tƣơng ứng. Việc này sẽ giảm số ngƣời đƣợc phép truy cập và cập nhập các file trên hệ thống ở xa. Một số máy chủ trên Internet cho phép chúng ta login với một account là anonymous, và password là địa chỉ e-mail của chúng ta, nhƣng tất nhiên, khi đó chúng ta chỉ có một số quyền hạn chế với hệ thông file ở máy remote. Để phiên làm việc FTP thực hiện đƣợc, ta cũng cần 2 phần mềm. Một là ứng dụng FTP client chạy trên máy của ngƣời dùng, cho phép ta gửi các lệnh tới FTP host. Hai là FTP server chạy trên máy chủ ở xa, dùng để xử lý các lệnh FTP của ngƣời dùng và tƣơng tác với hệ thống file trên host mà nó đang chạy. FTP cho phép chúng ta tìm kiếm thông tin trên server bằng các lệnh thông dụng nhƣ ls hay dir. Khi ngƣời dùng đánh các lệnh này, ftp sẽ chuyển lên cho server, tại server sẽ thực hiện lệnh này và gửi về thông tin danh sách các file tìm đƣợc. Ngƣời sử dụng sau khi nhận đƣợc các thông tin này sẽ gửi yêu cầu về một file nào đó bằng lệnh: get source_file_name destination_file_name. Còn khi muốn truyền một file lên máy ở xa, ngƣời sử dụng dùng lệnh: put source_file_name destination_file_name. Để một lúc có thể tải về hoặc truyền lên máy ở xa nhiều file, ngƣời ta có thể dùng các lệnh mget và mput và sử dụng các ký tự wild cast nhƣ trong môi trƣờng DOS. Ví dụ sau sẽ tải các file có tên là *.dat: mget *.dat Sau đây là một ví dụ về một giao dịch truyền file: # ftp ftp.vnd.net kết nối với máy chủ Connected to ftp.vnd.net 220 FTP Server ready. name: anonymous gõ user name để login 331 send your e-mail as password Password: password không hiển thị 230 User guest logged in. Access restricted is apply ftp>dir lệnh hiển thị danh sách các file sendmail-7.5 tcp-wrapper innd w project.dat ftp>get project.dat tải file về local ftp>quit thoát ra khỏi dịch vụ 221 Goodbye. 9
  14. Để sử dụng dịch vụ FTP, ngƣời sử dụng có thể chạy phần mềm FTP client ví dụ nhƣ: WS_FTP hay CUTFTP đây là các chƣơng trình có giao diện đồ họa khá thân thiện với ngƣời sử dụng. Chúng ta có thể download các phần mềm này từ Internet để cài lên máy tính của chúng ta. 1.4.3. Dịch vụ mạng thông tin toàn cầu WWW (World Wide Web) Đây là dịch vụ mới và mạnh nhất trên Internet. WWW đƣợc xây dựng dựa trên một kỹ thuật có tên gọi là hypertext (siêu văn bản). Hypertext là kỹ thuật trình bày thông tin trên một trang trong đó có một số từ có thể "nở" ra thành một trang thông tin mới có nội dung đầy đủ hơn. Trên cùng một trang thông tin có thể có nhiều kiểu dữ liệu khác nhau nhƣ TEXT, ảnh hay âm thanh. Để xây dựng các trang dữ liệu với các kiểu dữ liệu khác nhau nhƣ vậy, WWW sử dụng một ngôn ngữ có tên là HTML (HyperText Markup Language). Ngôn ngữ HTML đƣợc xây dựng trên cơ sở ngôn ngữ SGML (Standard General Markup Language). HTML cho phép định dạng các trang thông tin, cho phép thông tin đƣợc kết nối với nhau. Trên các trang thông tin có một số từ có thể "nở" ra, mỗi từ này thực chất đều có một liên kết với các thông tin khác. Để thực hiện việc liên kết các tài nguyên này, WWW sử dụng phƣơng pháp có tên là URL (Universal Resource Locator). Với URL, WWW cũng có thể truy nhập tới các tài nguyên thông tin từ các dịch vụ khác nhau nhƣ FTP, Gopher, Wais trên các server khác nhau. Ngƣời dùng sử dụng một phần mềm Web Browser để xem thông tin trên các máy chủ WWW. Tại server phải có một phần mềm Web server. Phần mềm này thực hiện nhận các yêu cầu từ Web Browser gửi lên và thực hiện yêu cầu đó. Với sự bùng nổ dịch vụ WWW, dịch vụ này càng ngày càng đƣợc mở rộng và đƣa thêm nhiều kỹ thuật tiên tiến nhằm tăng khả năng biểu đạt thông tin cho ngƣời sử dụng. Một số công nghệ mới đƣợc hình thành nhƣ Active X, Java cho phép tạo các trang Web động thực sự mở ra một hƣớng phát triển rất lớn cho dịch vụ này. 1.4.4. Giao thức HTTP (HyperText Transfer Protocol) HTTP là chữ viết tắt từ HyperText Transfer Protocol (giao thức truyền tải siêu văn bản). Nó là giao thức cơ bản mà World Wide Web sử dụng. HTTP xác định cách các thông điệp (các file văn bản, hình ảnh đồ hoạ, âm thanh, video, và các file multimedia khác) đƣợc định dạng và truyền tải ra sao, và những hành động nào mà các Web server (máy chủ Web) và các trình duyệt Web (browser) phải làm để đáp ứng các lệnh rất đa dạng. Chẳng hạn, khi chúng ta gõ một địa chỉ Web URL vào trình duyệt Web, một lệnh HTTP sẽ đƣợc gửi tới Web server để ra lệnh và hƣớng dẫn nó tìm đúng trang Web đƣợc yêu cầu và kéo về mở trên trình duyệt Web. Nói nôm na hơn, HTTP là giao thức truyền tải các file từ một Web 10
  15. server vào một trình duyệt Web để ngƣời dùng có thể xem một trang Web đang hiện diện trên Internet.HTTP là một giao thức ứng dụng của bộ giao thức TCP/IP (các giao thức nền tảng cho Internet). Có một tiêu chuẩn chính khác cũng điều khiển cách thức World Wide Web làm việc là HTML (HyperText Markup Language, ngôn ngữ đánh dấu siêu văn bản), có chức năng quản lý cách thức mà các trang Web đƣợc định dạng và hiển thị. Ngƣời ta gọi HTTP là một giao thức ―phi trạng thái‖ (stateless) bởi vì mỗi lệnh đều đƣợc thực thi một cách độc lập, lệnh sau không biết bất cứ điều gì về các lệnh đã đến trƣớc mình. Đây chính là một hạn chế, khiếm khuyết của HTTP. Nó là nguyên nhân chính của tình trạng rất khó thực thi các trang Web có khả năng phản ứng thông minh đối với lệnh mà ngƣời dùng nạp vào. Và sự hạn chế này đang đƣợc các nhà phát triển khắc phục trong các công nghệ mới nhƣ ActiveX, Java, JavaScript và cookies. Phiên bản mới nhất của HTTP là 1.1. So với phiên bản nguyên thủy (HTTP 1.0), phiên bản mới này truyền tải các trang Web nhanh hơn và giảm tình trạng tắc nghẽn giao thông Web. 1.4.5. Giao thức Chat Internet Relay Chat (IRC - Nói chuyện qua Internet) là phƣơng tiện "thời gian thực", nghĩa là những từ chúng ta gõ vào sẽ xuất hiện gần nhƣ tức thời trên màn hình của ngƣời nhận và trả lời của họ của xuất hiện trên màn hình của chúng ta nhƣ vậy. Thay vì phải chờ vài phút hay vài ngày đối với thông điệp, chúng ta có thể trao đổi tức thời với tốc độ gõ chữ của chúng ta. IRC có thể mang tính cá nhân nhƣ e-mail, ngƣời lạ không khám phá đƣợc nội dung trao đổi của chúng ta, hoặc chúng ta có thể tạo "kênh mở" cho những ai chúng ta muốn cùng tham gia. Cũng không hiếm các kênh IRC có từ 10 ngƣời trở lên tham gia hội hoại. Ngoài việc trao đổi lời, ngƣời dùng IRC còn có thể gửi file cho nhau nhƣ hình ảnh, chƣơng trình, tài liệu hay những thứ khác. Cũng nhƣ các dịch vụ khác của Internet, hạm vi hội thoại trên các kênh IRC là rất rộng, có thể bao gồm cả những chủ đề không phù hợp với trẻ em, vì vậy cần có biện pháp giám sát những trẻ em muốn sử dụng dịch vụ này 1.4.6. URL (Uniform Resource Locator) URL Là chữ viết tắt của "Uniform Resource Locator", dùng để chỉ tài nguyên trên Internet. Sức mạnh của web là khả năng tạo ra những liên kết siêu văn bản đến các thông tin liên quan. Những thông tin này có thì là những trang web khác, những hình ảnh, âm thanh Những liên kết này thƣờng đƣợc biểu diễn bằng những chữ màu xanh có gạch dƣới đƣợc gọi là anchor. Các URL có thể đƣợc truy xuất thông qua một trình duyệt (Browser) nhƣ IE hay Netscape. 11
  16. URL đƣợc dùng để xác định địa chỉ của một tài liệu (hoặc dữ liệu khác) trên World Wide Web. Một địa chỉ đầy đủ sẽ nhƣ sau: và tuân theo cú pháp sau: Scheme://host.domain:port/path/filename Scheme: Là một trong các giao thức Internet, gồm http, ftp, gopher, news (USENET news), nntp (Network News Transfer Protocol), Telnet và WAIS (Wide Area Information Servers), và những giao thức khác. Ðịa chỉ dƣới đây dùng giao thức http: Domain: xác định tên miền của trang web trên Internet ví dụ nhƣ goccongnghe.net Host: xác định tên miền của host. Nếu đƣợc bỏ qua, thì mặc định của host cho http là www. Port: xác định port number tại host. Số cổng thƣờng đƣợc bỏ qua. Số cổng mặc định của http là 80. Path: xác định đƣờng dẫn trên server. Nếu đƣờng dẫn đƣợc bỏ qua, thì tài liệu phải đƣợc định vị tại thƣ mục gốc của trang web. Filename: xác định tên của tài liệu. Tên mặc định của một tài liệu có thể là default.asp hoặc index.html hoặc một cái gì đó phụ thuộc vào những cài đặt của server. 1.4.7. Web Browser. Một web browser là một phần mềm ứng dụng để truy xuất, trình diễn và chuyển các nguồn thông tin (information resource) trên mạng hệ thống mạng toàn cầu (World Wide Web). Một nguồn thông tin đƣợc nhận dạng bởi một Uniform Resource Identifier (URI) và có thể là một trang web, phim - video, hình ảnh (images) hoặc các mẫu thông tin khác. Hinh 1.1. Trình duyệt web để xem thông tin một website 12
  17. Mặc dù các trình duyệt với mục đích là để truy cập vào hệ thống mạng toàn cầu, các trình duyệt còn đƣợc sử dụng để truy cập các thông tin đƣợc cung cấp bởi các web servers (máy chủ web) trong hệ thống mạng riêng hoặc các tài liệu (files) đến các hệ thống file (file system). Hoặc cũng đƣợc dùng để tiết kiệm tài nguyên thông tin cho các hệ thống lƣu trữ file. Lịch sử về web browser Lịch sử của các trình duyệt Web bắt đầu vào cuối thập niên 1980, khi một loạt các công nghệ đặt nền móng cho các trình duyệt Web đầu tiên, WorldWideWeb, do Tim Berners-Lee vào năm 1991. Sự phát triển này dựa trên các công nghệ phần mềm và phần cứng hiện có, ngoài ra cũng mở ra nhiều công nghệ mới bắt đầu tƣ đây. Ted Nelson và Douglas Engelbart phát triển khái niệm siêu văn bản trƣớc khi Berners-Lee và CERN khá lâu. Web browser đã trở thành cốt lõi của World Wide Web. Berners-Lee thừa nhận sự đóng góp của Engelbart. Việc giới thiệu trình duyệt Mosaic NCSA Web vào năm 1993 - một trong những trình duyệt web với giao diện đồ họa đầu tiên - đã dẫn tới sự bùng nổ trong việc dùng web. Marc Andreessen, ngƣời lãnh đạo của đội Mosaic tại NCSA, sớm bắt đầu công ty riêng của mình, đặt tên là Netscape, và phát hành các phiên bản Mosaic Netscape Navigator vào năm 1994, và sau đó nhanh chóng trở thành trình duyệt phổ biến nhất thế giới, chiếm 90% của tất cả các sử dụng Web đỉnh cao của nó. Hình 1.2. Trình duyệt web Netscape Microsoft đã đáp trả bằng trình duyệt Internet Explorer của mình trong năm 1995 (cũng bị ảnh hƣởng nhiều từ Mosaic), và đầu cuộc chiến trình duyệt đầu tiên. Bằng việc kết hợp Internet Explorer với Windows, Microsoft đã có thể tận dụng ƣu thế của nó trong thị trƣờng hệ điều hành để quản lý thị trƣờng trình duyệt Web; Internet Explorer sử dụng đạt vị trí trên 95% ngƣời dùng vào năm 2002. Internet Explorer chiếm 60% ngƣời sử dụng trình duyệt vào Tháng Tƣ năm 2010 theo thống kê của Net Applications. 13
  18. Hình 1.3. Trình duyệt web Internet Explorer của Microsoft (IE7) Opera đầu tiên xuất hiện vào năm 1996; mặc dù nó đã không bao giờ đạt đƣợc sử dụng rộng rãi, chiếm 2% thị phần trình duyệt vào tháng tƣ năm 2010, tuy nhiên Opera chiếm một phần đáng kể của thị trƣờng đang phát triển nhanh là trình duyệt Web điện thoại di động, Oepra đƣợc cài đặt sẵn trên trên 40.000.000 điện thoại. Opera cũng có sẵn trên một số hệ thống nhúng khác, bao gồm video game console Wii của Nintendo. Hình 1.4. Trình duyệt web Opera 11 Năm 1998, Netscape triển khai Mozilla Foundation trong một nỗ lực để sản xuất một trình duyệt cạnh tranh bằng cách sử dụng mô hình phần mềm mã nguồn mở. Đó là trình duyệt sau này phát triển thành Firefox, sau đó thì trình duyệt này đƣợc phát triển khá tốt trong khi vẫn còn trong giai đoạn beta, ngay sau khi phát hành Firefox 1.0 vào cuối năm 2004, Firefox (mọi phiên bản) đã chiếm 7,4% thị phần sử dụng trình duyệt. Và đến tháng tƣ năm 2010, Firefox đã có một thị phần 25%. 14
  19. Hình 1.5. Trình duyệt web Firefox Safari của Apple đã phát hành phiên bản beta đầu tiên vào tháng một năm 2003; vào tháng 10 năm 2009, đã chi phối thị phần của trình duyệt web dựa trên việc phát triển từ các ứng dụng của Apple, chiếm dƣới 5% thị trƣờng trình duyệt toàn bộ vào tháng 4 năm 2010. Nó đƣợc xem nhƣ là công cụ cho web (còn đƣợc gọi là WebKit) để trình diễn các tính năng và là nền tảng đƣợc ứng dụng nhiều trên thiết bị di động, bao gồm cả hệ điều hành iPhone, Google Android, Nokia S60 và Palm WebOS. Vào tháng 9 năm 2008, Google bắt đầu nhảy vào cuộc chiến các trình duyệt bằng trình duyệt web Google Chrome. Đến tháng 4 năm 2010, Google Chrome đã chiếm 7% thị phần. Hình 1.6. Trình duyệt web Safari của Apple Chức năng 15
  20. Mục đích chính của một trình duyệt web là để mang lại nguồn thông tin cho ngƣời dùng. Quá trình này bắt đầu khi một ngƣời sử dụng nhập vào (URI) hay tạm gọi là một đƣờng dẫn, Ví dụ nhƣ Các tiền tố của URI sẽ xác định cho phƣơng thức truy cập và dữ liệu nhận đƣợc sẽ đƣợc biên dịch nhƣ thế nào. Các loại URI thông dụng nhất bắt đầu với http: định một nguồn tài nguyên để đƣợc lấy dựa trên Hypertext Transfer Protocol (HTTP) (tôi tạm gọi là giao thức truyền dữ liệu cho các siêu văn bản). Nhiều trình duyệt cũng hỗ trợ một loạt các tiền tố khác, chẳng hạn nhƣ https: (cũng tƣơng tự nhƣ HTTP nhƣng dữ liệu đƣợc mã hóa và bảo mật hơn) hay ftp: cho File Transfer Protocol (giao thức truyền tải file), và file: cho các tập tin lƣu trữ nội bộ. Các trình duyệt web có thể không trực tiếp xử lý mà thƣờng chuyển qua các ứng dụng khác xử lý. Ví dụ, mailto: URI thƣờng sẽ đƣợc chuyển qua chƣơng trình ứng dụng mail mặc định mà ngƣời dùng đang sử dụng, hoặc news: sẽ gọi đến các chƣơng trình đọc tin tức. Tuy nhiên trình duyệt cũng có cơ chế mở và đƣợc hỗ trợ bởi các plugins của nó để có thể hiển thị đƣợc các loại tài liệu trực tiếp trên web browser. Hầu hết các trình duyệt có thể hiển thị hình ảnh, âm thanh, video, và các tập tin XML, và thƣờng có một số plug-in mặc định để hỗ trợ các ứng dụng Flash và Java applet. Khi gặp phải một tập tin không đƣợc hỗ trợ thì tập tin này sẽ đƣợc tải về thay vì hiển thị trực tiếp trên web, lúc này trình duyệt sẽ nhắc ngƣời dùng để lƣu tập tin vào đĩa. Tính tƣơng tác trong một trang web có thể đƣợc ứng dụng bởi javascript mà thƣờng không đòi hỏi sự hỗ trợ thêm của plugin. javascript có thể đƣợc sử dụng cùng với các công nghệ khác để cho phép tƣơng tác trực tiếp với máy chủ trang web, ví dụ: tƣơng tác thông qua AJAX. Các thông tin trên trang web có thể chứa siêu liên kết (hyperlinks) tới các nguồn thông tin khác. Mỗi liên kết có chứa các URI để đi đến các nguồn thông tin khác. Khi một liên kết đƣợc nhấp, trình duyệt điều hƣớng ngƣời dùng tới trang thông tin khác. 1.4.8. Web Server Web Server (máy phục vụ Web): máy tính mà trên đó cài đặt phần mềm phục vụ Web, đôi khi ngƣời ta cũng gọi chính phần mềm đó là Web Server. Tất cả các Web Server đều hiểu và chạy đƣợc các file *.htm và *.html, tuy nhiên mỗi Web Server lại phục vụ một số kiểu file chuyên biệt chẳng hạn nhƣ IIS của Microsoft dành cho *.asp, *.aspx ; Apache dành cho *.php ; Sun Java System Web Server của SUN dành cho *.jsp 1.5. Khai thác dịch vụ Internet Truy cập vào mạng Internet có thể có 2 cách: Truy cập trực tiếp thông qua đƣờng dành riêng(Leased Line) và truy cập gián tiếp thông qua mạng điện thoại công cộng. Việc 16
  21. đăng ký một đƣờng thuê bao dành riêng chỉ dành cho những cơ quan, đơn vị với mục đích truy cập mạng Internet không chỉ khai thác các tài nguyên, dịch vụ sẵn có trên mạng Internet mà còn sử dụng mạng Internet nhƣ là một môi trƣờng kết nối từ xa tới các tài nguyên trên mạng LAN của đơn vị mình. Khi đó ngƣời sử dụng có thể xây dựng máy chủ Mail, máy chủ FTP, xây dựng mạng riêng ảo (VPN- Virtual Private Network) Tất nhiên việc này đòi hỏi tốn kém tiền bạc và công sức. Còn nếu chúng ta chỉ truy cập mạng Internet để khai thác các dịch vụ sẵn có trên mạng thì chúng ta có thể truy cập thông qua mạng điện thoại công cộng. Yêu cầu tối thiểu cho ngƣời khai thác dịch vụ Internet với hình thức này chúng ta phải đáp ứng đƣợc các yêu cầu sau: - Phần mềm để kết nối với các máy chủ trên Internet: Để có thể thực hiện việc kết nối tới máy chủ trên Internet, chúng ta cần có một bộ phần mềm thực hiện giao thức TCP/IP. Phần mềm này sẽ thực hiện chức năng điều khiển modem để kết nối và truyền dữ liệu với máy chủ. Có nhiều phần mềm thực hiện chức năng này, ví dụ Dialup Networking của Windows 3.x và windows 9x, Windows2000, Trumpet Winsock Ngày nay việc truy cập này trở nên đơn giản và thuận lợi hơn với phƣơng thức thuê bao kết nối ADSL với phƣơng thức này không chỉ tăng tốc độ truyền nhận dữ liệu mà việc kết nối cũng trở nên đơn giản hơn qua hệ thống modem rounter ADSL thế hệ mới. Nếu chúng ta dùng phƣơng thức thuê bao này thì Modem ADSL sẽ giúp kết nối trực tiếp đến máy chủ mà chúng ta không cần thêm bất cứ phần mềm nào khác để thực hiện kết nối - Các phần mềm thực hiện TCP/IP thƣờng cho phép chúng ta kết nối theo hai giao thức là SLIP ( Serial Line Internet Protocol) và PPP (Point to Point Protocol). Từ Windows98 trở đi có hỗ trợ MPPP(Multi PPP) cho phép một máy tính có thể sử dụng nhiều cổng COM và Modem để tăng tốc độ kết nối. Tất nhiên để thực hiện đƣợc điều này thì nhà cung cấp dịch vụ của chúng ta phải hỗ trợ chế độ truy cập MPPP. Hiện nay ở Việt nam chỉ có VDC là hỗ trợ dịch vụ này. Giữa SLIP và PPP có sự khác nhau, về mặt kỹ thuật SLIP là một giao thức nền tảng của mạng và PPP là giao thức ở cấp độ kết nối. Có hai sự khác biệt thực tế: PPP hơi nhanh hơn và có thể xử lý những loại mạng khác nhƣ DECnet. Sau khi chúng ta kết nối đƣợc với nhà cung cấp dịch vụ thì chúng ta cần phải có phần mềm công cụ để duyệt các trang WEB. Phổ biến hiện nay có Nescape Navigator với các Version 4.x; Internet Explore của Windows, FireFox Điều cuối cùng, tất nhiên là chúng ta phải thực hiện việc đăng ký sử dụng với nhà cung cấp dịch vụ. ở Việt nam hiện nay đang có các nhà cung cấp dịch vụ nh- VDC, FPT, NETNAM, SAIGON POSTEL. Sau khi đăng ký sử dụng dịch vụ chúng ta sẽ đƣợc cung cấp các thông số hoà mạng nhƣ : • User Name: tên đăng ký sử dụng dịch vụ Internet. • Password: mật khẩu dùng để xác định quyền sử dụng dịch vụ. 17
  22. • Email Address and Password: Địa chỉ thƣ điện tử và mã truy nhập địa chỉ thƣ của chúng ta • Số điện thoại dùng để truy nhập vào mạng. 18
  23. Câu hỏi và Bài tập chƣơng 1 1. Hãy cho biết các dịch vụ Internet thông dụng và các giao thức đƣợc sử dụng cho các dịch vụ này. 2. Tìm hiểu cách phân lớp trong địa chỉ IP. Hãy cho biết các địa chỉ IP của Việt Nam thuộc lớp nào. 3. Tại sao cần phải có sự ánh xạ giữa tên miền và địa chỉ IP? Hãy cho biết tên của dịch vụ thực hiện việc này. 4. Cho biết các tên miền đƣợc dùng thông dụng hiện nay. 5. Tìm hiểu một số công ty đƣợc ủy quyền cấp tên miền trên Internet. Chỉ ra một lợi ích của mạng Internet mà bạn hay công ty của bạn đã hoặc có thể có đƣợc. 6. Trang web là gì? Chƣơng trình đƣợc sử dụng để xem các Web đƣợc gọi là gì? địa chỉ web là gì và cấu trúc của địa chỉ? Để xem một trang web, ta cần gõ địa chỉ trang web đó vào đâu? 7. Để tìm kiếm thông tin trên Internet, bạn cần làm gì? Chỉ ra một địa chỉ trang web tìm kiếm thông dụng? 8. Dịch vụ thƣ điện tử đƣợc dùng để làm gì? Để sử dụng thƣ điện tử, trƣớc hết bạn phải làm gì ? Chỉ ra một địa chỉ trang web cho dịch vụ thƣ điện tử miễn phí và nêu cách tạo lập một hòm thƣ trên trang web đó? 9. Trình bày một số kỹ thuật tìm kiếm thông tin trên internet? 19
  24. Chƣơng 2: NGÔN NGỮ HTML 2.1. Giới thiệu chung về HTML 2.1.1. Lịch sử của HTML Cuộc sống của chúng ta đang thay đổi từng ngày, từ các hoạt động dạo dịch thƣơng mại lớn đến những thủ tục văn bản thông thƣờng việc trao đổi thông tin ngày càng đƣợc đơn giản, nhanh chóng và thuận tiện, giúp chúng ta tiết kiệm công sức và tiền của là nhờ vào các dịch vụ web. Có thể nói các dịch vụ trên web đã và đang làm thay đổi cuốc sống của chúng ta. Vậy trang web là gì? Làm thế nào để xây dựng đƣợc các trang web, tạo ra các ứng dụng web để đáp ứng yêu cầu của chúng ta. Trang web hiểu một cách đơn giản nó là một trang thông tin được tạo bằng ngôn ngữ HTML và được đọc bởi một trình duyệt web. Nhƣ vậy để tạo đƣợc các trang web, tạo ra các ứng dụng trên web thì chúng ta phải biết ngôn ngữ HTML và sử dụng ngôn ngữ HTML này để tạo ra các trang web theo yêu cầu của ứng dụng. Khái niệm siêu văn bản do nhà tin học Ted Nelson đề ra vào năm 1965 nhƣ một ƣớc mơ về khả năng của máy tính trong tƣơng lai "Computer Dreams". Ông hy vọng về các máy tính có trí tuệ nhƣ con ngƣời, biết cách lục tìm các thông tin cần thiết và do đó nảy sinh khái niệm siêu văn bản. Ý tƣởng để thực hiện khái niệm siêu văn bản là của một kĩ sƣ trẻ ngƣời Anh tên là Tim Berners-Lee. Sau khi tốt nghiệp Đại học Oxfort (Anh) năm 1976, vào năm 1980, Tim đã viết một chƣơng trình mô phỏng mối liên kết hai chiều bất kì trên một đồ thị nhƣ kiểu liên kết siêu văn bản. Năm 1989, trong khi làm việc tại Viện nghiên cứu kĩ thuật hạt nhân châu Âu (CERN) tại Berne, Thuỵ sĩ, thấy các đồng nhiệp rất vất vả trong việc tra tìm tài liệu Tim đã đƣa ra một đề án lƣu trữ siêu văn bản trên máy tính sao cho dễ dàng tìm kiếm tài liệu hơn. Ngôn ngữ HTML đầu tiên do Tim tạo ra có 20 thẻ, lấy ý tƣởng từ ngôn ngữ SGML, nhƣng điều kì diệu đáng kinh ngạc là ở chỗ 13 trong số 20 thẻ đó vẫn còn đƣợc hiển thị trong HTML4 Trải qua nhiều thăng trầm HTML từ một ngôn ngữ đơn giản ứng dựng trong phạm vi nhỏ thì ngày ngay HTML đƣợc sử dụng trên toàn thế giới với những ứng dụng rộng rãi vƣợt qua cả sức tƣởng tƣợng của tác giả. HTML 1 HTML 1 không cho phép truyền đạt cấu trúc trang phức tạp, nhƣng vừa đủ để cho phép tạo ra một trang web đơn giản. Vạn sự khởi đầu nan. Phiên bản đầu tiên đƣợc tung ra 20
  25. vào cuối năm 1990 và gần nhƣ một năm sau, ngôn ngữ này mới thực sự đƣợc ứng dụng. Năm 1993 các chuẩn HTML trở thành nền tảng của Mosaic- Trình duyệt đầu tiên của Internet. HTML 2 Nhiều công ty lớn đã đánh giá không đúng sức mạnh của ngôn ngữ siêu văn bản , nhƣng cuối cùng thì các chuẩn HTML cũng đƣợc phổ biến rộng rãi. Bởi vì không có một tổ chức nào đứng ra hỗ trợ cho sự phát triển ngôn ngữ HTML, mọi thứ bị ngừng trệ. Vào tháng 7 năm 1994, HTML 2 đƣợc phát hành. HTML 2 là phiên bản cải tiến của HTML. Phiên bản lần này đƣợc tạo ra bởi sự nỗ lực rất lớn của những ngƣời yêu thích HTML trên khắp thế giới. Những ngƣời này đã đảm nhận một nỗ lực khổng lồ khi chú ý đến tất cả đóng góp từ khắp nơi trên thế giới cho phiên bản mới này. Trƣớc tình hình này, cũng trong cùng năm 1994, Tập Đoàn Tài Chính World Wide Web đƣợc thành lập với ngƣời đứng đầu là Tim Berners-Lee. Năm 1995, thẻ mới là thẻ ―bgcolor‖(màu nền) hay thẻ ―font face‖(font chữ?) đƣợc đƣa vào ứng dụng; Tôi đƣa ra những ví dụ về các thẻ này nhằm nhấn mạnh trình độ đã đạt tới của chuẩn HTML vào thời điểm hiện tại chúng ta có thể nói rằng sự khác biệt giữa phiên bản đầu tiên và phiên bản năm 1995 là rất lớn. HTML 3 Internet làm cho ngôn ngữ HTML phát triển và chính nó cũng ứng dụng những phát triển của HTML. W3C chấp nhận những phiên bản cải tiến của HTML với các thẻ mới và các chức năng mới. Dave Ragget đã mua về một phiên bản thú vị với rất nhiều thẻ HTML hấp dẫn và phiên bản này đã đƣợc cải tiến rất hay. Nhƣng vì nó làm chậm đƣờng truyền của các trình duyệt nên phiên bản này đã bị bỏ đi. Phiên bản HTML 3.2 là phiên bản mạnh nhất của sê-ri này và trƣớc khi đƣợc tung ra, nó đƣợc duyệt bởi W3C và bởi các nhà cung cấp trình duyệt chóp bu là Netscape và Microsoft. HTML4 Ngƣời ta dành cả năm 1997 để phát triển phiên bản HTML4, một bƣớc tiến triển quan trọng trong những phiên bản cũ. HTML4 có những công cụ có giá trị mang lại thêm nhiều đất sáng tạo cho dân thiết kế web: CSS. Ban đầu CSS cũng không đƣợc coi là quan trọng lắm, nhƣng đến nay, ngƣời ta đánh giá nó cũng quan trọng không kém gì bản thân HTML. Một sự kiện quan trọng nữa là sự phát triển của các trình duyệt: Microsoft ứng dụng hầu nhƣ tất cả các thẻ và trình duyệt Internet Explorer đƣợc ngƣời sử dụng yêu thích hơn ,làm lu mờ Netscape. Vào tháng 4 năm 1998 HTML4 đã đƣợc chứng nhận bởi W3C và tƣơng lai trở nên sáng lạng hơn. HTML có một ―đối thủ‖ gọi là XHTML (Extensible HyperText Markup Language- tạm dịch: ngôn ngữ đánh dấu siêu văn bản mở rộng) và từ năm 1998 đến nay, cuộc chiến vẫn diễn ra ác liệt , nhƣng cuối cùng có lợi nhất vẫn là ngƣời sử dụng Internet. 21
  26. HTML5 Vào tháng 1 năm 2008, W3C tung ra bản nháp của HTML5 và thế thƣợng phong có vẻ nghiêng về HTML(so với XHTML). Phần lớn chúng ta đều biết khả năng của bản HTML4.01- phiên bản gần đây nhất, nhƣng những tính năng mới của phiên bản thứ 5 này là gì? Phiên bản lần này sẽ mang lại nhiều cải tiến và chúng ta nên chuẩn bị tinh thần chờ đợi một vài năm để đƣa nó vào hoạt động, tức là cho đến lúc các nhà thiết kế Web làm chủ đƣợc các chức năng mới của phiên bản lần này. Một trong những thẻ làm ngƣời sử dụng trở nên mê mệt sẽ là thẻ có chức năng cho phép xem videos mà không cần phải cài đặt Flash hay bất cứ plug-in phụ nào. Các cuộc tranh luận sẽ vẫn còn tiếp tục nhƣng chắc chắn sẽ là về các chức năng mới của phiên bản lần này. Những thẻ thú vị là những thẻ cho phép bạn dễ dàng quản lí dữ liệu hơn nhƣ là: Thẻ article Aside Nav Header Footer Tự tên của các thẻ này đã nói lên chức năng của chúng, những thẻ HTML mới này sẽ là vũ khí cho các chuyên viên thiết kế web tƣơng lai. Số lƣợng thẻ trong phiên bản lần này có thể sẽ nhiều hơn phiên bản trƣớc ngay cả khi một số thẻ ở phiên bản trƣớc đã đƣợc bỏ đi ở bản HTML5 nhƣ các thẻ: : basefont, big, font, s, strike, small, b, I, Bản HTML5 có nhiều thẻ nhƣng cũng có nhiều vấn đề và rất khó để quả quyết một cách chắc chắn bởi vì mọi việc còn có thể khác hẳn vào ngày mai. Một thực tế chắc chắn đó là: bởi vì phiên bản lần này đƣợc nghiên cứu bởi các tập đoàn và các chuyên viên thiết kế, nên kết quả chỉ có thể là bƣớc nhảy vọt đầy ấn tƣợng trong dòng chảy của sự phát triển Web, Internet và thiết kế. Trong chuẩn mới thực sự hoàn chỉnh của HTML, một nhân tố vô cùng quan trọng sẽ đóng góp vào vai trò ảnh hƣởng của HTML 5, đó là: CSS3. Tin tốt là những phiên bản mới của CSS đi kèm với HTML 5 sẽ cho phép các nhà thiết kế có thể thỏa sức sáng tạo. Hi vọng rằng không lâu nữa HTML 5 sẽ thực sự đi vào sử dụng và chúng ta sẽ đƣợc nhìn thấy các Websites thiết kế bằng HTML 5 trong thời gian gần đây. 2.1.2. Khái niệm về HTML HTML là viết tắt của cụm từ HyperText Markup Language (Ngôn ngữ đánh dấu siêu văn bản), và đây là ngôn ngữ chính đƣợc sử dụng cho việc thiết kế các website. Ngôn ngữ này gây ấn tƣợng cho ngƣời ta bởi sự ngắn gọn nhƣng lại đƣợc hình thành trong một 22
  27. quá trình khó phân định. Việc hình thành HTML có mối quan hệ mật thiết với sự phát triển của Internet. Ngày nay, HTML rất đƣợc khuyên dùng bởi sự xuất hiện của một chuẩn mới, thực tế là một phiên bản cao hơn của ngôn ngữ này nhƣ là một sự phát triển tất yếu- HTML5. Markup : HTML là ngôn ngữ của các thẻ đánh dấu - Tag. Các thẻ này xác định cách thức trình bày đoạn văn bản tƣơng ứng trên màn hình. Language : HTML là một ngôn ngữ tƣơng tự nhƣ các ngôn ngữ lập trình, tuy nhiên đơn giản hơn. Nó có cú pháp chặt chẽ để viết các lệnh thực hiện việc trình diễn văn bản. Các từ khoá có ý nghĩa xác định đƣợc cộng đồng Internet thừa nhận và sử dụng. Ví dụ b = bold, ul = unordered list, Text : HTML đầu tiên và trƣớc hết là để trình bày văn bản và dựa trên nền tảng là một văn bản. Các thành phần khác nhƣ hình ảnh, âm thanh, hoạt hình đều phải chèn vào một đoạn văn bản nào đó. Hyper : HTML cho phép liên kết nhiều trang văn bản rải rác khắp nơi trên Internet. Nó có tác dụng che dấu sự phức tạp của Internet đối với ngƣời sử dụng, có thể đọc mà không cần biết đến văn bản đó nằm ở đâu, xây dựng phức tạp nhƣ thế nào. Sự phát triển có tính bùng nổ của Internet trong thời gian vừa qua một phần lớn là nhờ vào WWW. 2.1.3. Các đặc điểm chính của HTML Độc lập với phần cứng và phần mềm HTML độc lập với phần cứng và phần mềm. Một văn bản HTML đƣợc viết bằng một phần mềm soạn thảo cụ thể bất kì, trên một máy cụ thể nào đó đều có thể đọc đƣợc trên bất kì một hệ thống tƣơng thích nào. Điều này có nghĩa là các tệp tin siêu văn bản có thể đƣợc bộ duyệt hiển thị trên MAC hay PC tuỳ ý mà không phải sửa chữa thay đổi gì. Sở dĩ có đƣợc tính chất này là vì các thẻ chỉ diễn đạt yêu cầu cần phải làm gì chứ không cụ thể cần làm nhƣ thế nào. Cũng vì lẽ đó mà chúng ta không thể chắc chắn trang tài liệu siêu văn bản của Chúng ta sẽ hiện lên màn hình chính xác là nhƣ thế nào vì còn tuỳ theo bộ duyệt thể hiện yêu cầu đó ra sao. Trong thực tiễn, HTML chỉ thực sự độc lập đối với phần cứng, chứ không hoàn toàn độc lập đối với phần mềm. Chỉ phần cốt lõi là chuẩn hoá, còn các phần mở rộng do từng nhà phát triển xây dựng thì không hoàn toàn tƣơng thích nhau. Độc lập với khái niệm trang và tuần tự các trang Một tính chất nữa là HTML độc lập với khái niệm trang. Văn bản đƣợc trình bày tuỳ theo kích thƣớc của cửa sổ hiển thị: của sổ rộng bề ngang thì sẽ thu ngắn hơn, của sổ hẹp bề ngang thì sẽ đƣợc kéo dài ra để hiển thị cho hết nội dung. Độ dài của văn bản HTML thực sự không bị hạn chế. 23
  28. Website và trang chủ - homepage Môṭ website là môṭ bó các trang web liên kết với nhau và liên kết với các trang ở bên ngoài chằng chịt nhƣ mạng nhện. Hàng triêụ Website liên kết với nhau taọ thành World Wide Web – WWW Có thể tƣởng tƣợng nhƣ một ngọn núi nhỏ các trang web mỗi ngày môṭ cao thêm , đƣơc̣ phát triển bằng cách thêm vào nhiều trang web lý thú khác nƣa ̃ Có thể minh hoạ hình ảnh của một website nhƣ trong hình ve ̃ bên Trang chủ hay trang chính - 'home page' có thể hiểu là cƣ̉ a chính - 'front door ' để thâm nhập vào kho thông tin liên kết chằng chiṭ ấy. Vâỵ home page là trang web mà bô ̣duyêṭ se ̃ mở ra đầu tiên mỗi khi ngƣời dùng bắt đầu thăm website. 2.2. Cấu trúc trang HTML Cũng giống nhƣ việc xây dựng các chƣơng trình bằng các ngôn ngữ lập trình khác. Việc tạo ra một tài liệu HTML cũng phải tuân thủ một một cấu trúc chƣơng trình nhât định. Mọi tài liệu HTML đều phải tuân thủ cấu trúc khung nhƣ sau: Tiêu đề của tài liệu Nội dung của tài liệu html đƣợc viết ở đây 24
  29. Một tài liệu HTML gồm 3 phần cơ bản: Phần HTML: Mọi tài liệu HTML phải bắt đầu bằng thẻ mở HTML và kết thúc bằng thẻ đóng HTML . Thẻ HTML báo cho trình duyệt biết nội dung giữa hai thẻ này là một tài liệu HTML Phần đầu: Phần đầu bắt đầu bằng thẻ và kết thúc bởi thẻ . Phần này chứa tiêu đề mà đƣợc hiển thị trên thanh điều hƣớng của trang Web. Tiêu đề nằm trong thẻ TITLE, bắt đầu bằng thẻ và kết thúc là thẻ . Tiêu đề là phần khá quan trọng. Các mốc đƣợc dùng để đánh dấu một web site. Trình duyệt sử dụng tiêu đề để lƣu trữ các mốc này. Do đó, khi ngƣời dùng tìm kiếm thông tin, tiêu đề của trang Web cung cấp từ khóa chính yếu cho việc tìm kiếm. Phần thân: Phần này nằm sau phần tiêu đề. Phầ̀n thân bao gồm văn bản, hình ảnh và các liên kết mà Chúng ta muốn hiển thị trên trang web của mình. Phần thân bắt đầu bằng thẻ và kết thúc bằng thẻ Ví dụ 2.1: Sử dụng một phần mềm soạn thảo nhƣ Notepad rồi gõ đoạn chƣơng trình sau vào và ghi tên file có phần mở rộng là .htm hoặc .html ta sẽ tạo ra một trang web. Sử dụng trình duyệt web để mở trang web trên ta sẽ nhân đƣợc nội dung của trang. Ví dụ 2.1 chào mừng các bạn đến với khóa học lập trình mạng! Mở nội dung của trang web bằng trình duyệt web ta sẽ có kết quả nhƣ hình 2.1 dƣới đây. Hình 2.1. Kết quả của ví dụ 2.1 25
  30. 2.3. Thẻ và cấu trúc thẻ Các lệnh HTML đƣợc gọi là các thẻ (Tags). Các thẻ này đƣợc dùng để điều khiển nội dung và hình thức trình bày của tài liệu HTML. Mỗi thẻ của HTML đƣợc tạo ra bao gồm một từ khóa đƣợc bao trong dấu đóng mở ngoặc nhọn nhƣ sau: HTML có 2 loại thẻ đó là Thẻ mở (― ‖), chỉ ra sự bắt đầu và kết thúc của một lệnh HTML. Hầu hết các lệnh thể hiện bằng một cặp hai thẻ : thẻ mở ( ) và thẻ đóng ( ). Dấu gac̣ h chéo ("/") kí hiệu thẻ đóng . Lêṇ h se ̃ tác đôṇ g vào đoaṇ văn bản nằm giữa hai thẻ. Đoạn văn bản chịu tác động của lệnh Môṭ số thẻ không có căp̣ , chúng đƣợc gọi là các thẻ rỗng hay thẻ đơn. Chỉ có thẻ mở mà thôi. Ví dụ: Thẻ là thẻ có ý nghĩa là xuống dòng thẻ này không có thẻ đóng Nhiều thẻ có kèm các thuôc̣ tính (attribute), cung cấp thêm các tham số chi tiết hơn cho viêc̣ thƣc̣ hiêṇ lêṇ h . Các thuộc tính đƣợc chia làm hai loại : thuôc̣ tính bắt buôc̣ và thuôc̣ tính không bắt buôc̣ hay tuỳ choṇ . Môṭ thuôc̣ tính là bắt buôc̣ nếu như phải có nó thì thẻ lệnh mới thực hiện được. Ví dụ, để chèn một hình ảnh vào trang tài liệu ta dùng thẻ (Image). Tuy nhiên, cần chỉ rõ cái ảnh nào sẽ đƣợc dán vào đây. Điều này đƣơc̣ thiết lâp̣ bằng thuôc̣ tính SRC="địa chỉ của tệp ảnh". Thuôc̣ tính SRC là bắt buôc̣ phải có đối với thẻ . Các quy tắc chung Môṭ số điều cần lƣu ý khi soaṇ thảo siêu văn bản bằng HTML: - Nhiều dấu cá ch liền nhau cũng chỉ có tá c duṇ g như môṭ dấu cách . Bạn phải sử dụng thẻ để thể hiện nhiều dấu giãn cách liền nhau. - Gõ Enter đ ể xuống dòng đươc̣ xem như môṭ dấu cá ch , để xuống hàng thì chúng ta phải sử dụng thẻ tương ứng - Có thể viết tên thẻ không phân biêṭ chữ in thườ ng và in hoa. - Vì các kí tự dấu lớn hơn ">", dấu nhỏ hơn " . Trình duyêṭ se ̃ bỏ qua không xét đến phần mã nằm giƣ̃a căp̣ dấu đó: 26
  31. Các phần tử HTML Môṭ tài liêụ HTML taọ nên tƣ̀ nhiều thành phần HTML . Môṭ thành phần HTML đƣơc̣ đánh dấu bằng môṭ căp̣ thẻ mở và thẻ đóng. Các thành phần HTML có thể cấu trúc phân cấp hình cây , thành phần "mẹ" chƣ́ a nhiều thành phần "con" khác lồng bên trong nó. Có thành phần rỗng, chỉ có thẻ mở. Để soaṇ thảo tài liêụ HTML đúng cú pháp , cần nắm vƣ̃ng cấu trúc của tƣ̀ ng thành phần HTML. Không giống nhƣ khi lâp̣ trình , nếu baṇ mắc lỗi cú pháp HTLM se ̃ không có môṭ thông báo lỗi nào báo cho biết mà trình duyêṭ se ̃ hiểu lầm và trình bày trang Web không nhƣ ý muốn mà thôi. 2.4. Thẻ Phần đầu cũng chứa phần tử META. Phần tử này cung cấp thông tin về trang web của Chúng ta. Nó gồm tên tác giả, tên phần mềm dùng để viết trang đó, tên công ty, thông tin liên lạc Phần tử META sử dụng sự kết hợp giữa thuộc tính và giá trị. Ví dụ 2.2, để chỉ Graham Browne là tác giả, ngƣời ta sử dụng phần tử META nhƣ sau: Tác giả của tài liệu là ―Graham Browne‖ Thuộc tính http-equiv có thể đƣợc sử dụng để thay thế thuộc tính name. Máy chủ HTTP sử dụng thuộc tính này để tạo ra một đầu đáp ứng HTTP (HTTP response header). Đầu đáp ứng đƣợc truyền đến trình duyệt để nhận dạng dữ liệu. Nếu trình duyệt hiểu đƣợc đầu đáp ứng này, nó sẽ tiến hành các hành động đặc biệt đối với đầu đáp ứng đó. Ví dụ 2.3, sẽ sinh ra một đầu đáp ứng HTTP nhƣ sau: Expires: Mon, 15 Sep 2003 14:25:27 GMT Do vậy, nếu tài liệu đã lƣu lại, HTTP sẽ biết khi nào truy xuất một bản sao của tài liệu tƣơng ứng. 2.5. Thẻ Thẻ Head là thẻ bắt đầu của một tài liệu HTML, cặp thẻ sẽ quy định phần đầu của một tài liệu HTML, thành phần của Head bao gồm các thông tin chung hay còn đƣợc gọi là meta – information về tài liệu. 27
  32. Theo nhƣ chuẩn HTML thì nội dung nằm trong cặp thẻ này sẽ không đƣợc hiển thị ra mành hình trình duyệt, tuy nhiên chúng chỉ cho phép một số thẻ nhất định nhƣ: , , , , , và . Trong trƣờng hợp chúng ta chèn nội dung là những thẻ khác chẳng hạn: This is some text Thì hầu hết các trình duyệt lại vẫn hiển thị nội dung nằm trong cặp thẻ P. 2.6. Sử dụng ký tự đặc biệt trong tài liệu HTML Chúng ta có thể chèn các ký tự đặc biệt vào văn bản của tài liệu HTML. Để đảm bảo trình duyệt không nhầm chúng với thẻ HTML, Chúng ta phải gán mã định dạng cho các ký tự đặc biệt này. Bảng sau đây mô tả 5 ký tự đặc biệt hay dùng Ký tự Cách viết > ― " Ký tự trắng   & & 2.7. Sử dụng các siêu liên kết 2.7.1. Giới thiệu siêu liên kết và URL Các liên kết siêu văn bản trong một tài liệu HTML là để tham chiếu đến một tài liệu khác hay một phần tài liệu khác nằm trong tài liệu đó. Khả năng chính của HTML là hỗ trợ siêu liên kết. Một siêu liên kết, hay nói ngắn gọn là một liên kết, là sự kết nối đến tài liệu hay file khác (đồ họa, âm thanh, video) hoặc ngay cả đến một phần khác trong cùng tài liệu đó. Khi kích vào siêu liên kết, ngƣời dùng đƣợc đƣa đến địa chỉ URL mà chúng ta chỉ rõ trong liên kết, địa chỉ đó có thể là:  Một phần khác trong cùng tài liệu  Một tài liệu khác  Một phần trong tài liệu khác  Các file khác – hình ảnh, âm thanh, trích đoạn video  Vị trí hoặc máy chủ khác 28
  33. Hình 2.2. Mô tả liên kết trên website Các liên kết có thể là liên kết trong hoặc liên kết ngoài Liên kết trong là liên kết kết nối đến các phần trong cùng tài liệu hoặc cùng một web site Liên kết ngoài là liên kết kết nối đến các trang trên các web site khác hoặc máy chủ khác. Để tạo siêu liên kết, chúng ta cần phải xác định hai thành phần: 1. Địa chỉ đầy đủ hoặc URL của file đƣợc kết nối 2. Điểm nóng cung cấp cho liên kết. Điểm nóng này có thể là một dòng văn bản, thậm chí là một ảnh. Khi ngƣời dùng kích vào điểm nóng, trình duyệt đọc địa chỉ đƣợc chỉ ra trong URL và ―nhảy‖ đến vị trí mới Liên kết siêu văn bản gồm có ba phần: giao thức, cái neo và địa chỉ hay URL Để tạo một mối liên kết thì việc đầu tiên cần làm là thiết lập cái neo. Cặp thẻ tạo neo là (Anchor). Thẻ này có nhiều thuộc tính bắt buộc phải xác định rõ, ta sẽ tìm hiểu kỹ hơn ở phần sau. URL URL là một chuỗi cung cấp địa chỉ Internet của website hay tài nguyên trên World Wide Web. Để liên kết đến môṭ tài liêụ khác, ta cần phải biết điạ chỉ URL của tài liêụ đích . URL Là chữ viết tắt của "Uniform Resource Locator", dùng để chỉ tài nguyên trên Internet. Sức mạnh của web là khả năng tạo ra những liên kết siêu văn bản đến các thông tin liên quan. Những thông tin này có khi là những trang web khác, những hình ảnh, âm thanh Những liên kết này thƣờng đƣợc biểu diễn bằng những chữ màu xanh có gạch dƣới đƣợc gọi là anchor. Các URL có thể đƣợc truy xuất thông qua một trình duyệt (Browser) nhƣ IE hay Netscape. URL đƣợc dùng để xác định địa chỉ của một tài liệu (hoặc dữ liệu khác) trên World Wide Web. Một địa chỉ đầy đủ sẽ nhƣ sau: và tuân theo cú pháp sau: Scheme://host.domain:port/path/filename 29
  34. Cụ thể cú pháp của từng thành phần Chúng ta có thể tham khảo trong Chƣơng 1 URL cũng có thể tham chiếu đến một vị trí trong một tài nguyên. Ví dụ, Chúng ta có thể tạo liên kết đến một chủ đề trong cùng một tài liệu. Trong trƣờng hợp đó, định danh đoạn đƣợc sử dụng ở phần cuối của URL Định dạng là, Scheme://host.domain:port/path/filename #định danh đoạn Có hai dạng URL: URL tuyệt đối – là địa chỉ Internet đầy đủ của trang hoặc file, bao gồm giao thức, vị trí mạng, đƣờng dẫn tùy chọn và tên file. Ví dụ, là một địa chỉ URL tuyệt đối. URL tƣơng đối – là một URL có một hoặc nhiều phần bị thiếu. Trình duyệt lấy thông tin bị thiếu từ trang chứa URL đó. Ví dụ, nếu giao thức bị thiếu, trình duyệt sử dụng giao thức của trang hiện thời. 2.7.2. Sử dụng siêu liên kết Để tạo liên kết cho một tài liệu chúng ta sử dụng thẻ A (Anchor) cú pháp nhƣ sau: Trong đó thuộc tính,  Name – Là một tên do ngƣời dùng định nghĩa , đƣợc dùng để đánh dấu điểm neo, sử dụng cho việc liên kết từ một nơi nào đó đến vị trí này.  Href – chỉ ra địa chỉ url của tài liệu sẽ đƣợc liên kết đến  Siêu văn bản – Đây là văn bản hay hình ảnh mà ngƣời dùng cần nhấp vào để kích hoạt liên kết  Target – Chỉ ra nơi sẽ hiển thị tài liệu đƣợc liên kết đến, Windows ở đây có thể là tên một cửa số hoặc có thể là _blank nếu cửa sổ đó là cửa sổ mới, _parent cửa sổ cha của cửa sổ hiện hành, _self cửa sổ hiện hành, _top cửa sổ trên cùng Theo mặc định tài liệu mới sẽ liên kết đến sẽ đƣợc mở ở cửa sổ hiện hành. Liên kết đến tài liệu khác Để liên kết từ một tài liệu này đến một tài liệu khác ta thực hiện bằng cách khai báo thuộc tính Href chỉ đến url của tài liệu cần liên kết đến. Ví dụ 2.4: Giả sử có hai tài liệu HTML trên đĩa cứng cục bộ, Doc1.htm và Doc2.htm. Để tạo một liên kết từ Doc1.html đến Doc2.htm và ngƣợc lại ta làm nƣ sau: Doc1.htm ta viết nhƣ sau: Tạo liên kết 30
  35. Tạo liên kết trong tài liệu. Doc2.htm ta viết nhƣ sau: Tài liệu 2 Đây là tài liệu 2 trang này sẽ hiển thị khi kích chuột vào liên kết trong tài liệu 1 Ghi chƣơng trình và chạy ta sẽ đƣợc nhƣ sau: Hình 2.3. Kết quả chạy file doc1.htm Hình 2.4. Kết quả khi kích liên kết – File doc2.htm đƣợc mở Liên kết đến các phần trong cùng một tài liệu Thẻ neo (anchor) cũng đƣợc sử dụng để ngƣời dùng ―nhảy‖ đến những phần khác nhau của một tài liệu. Ví dụ, Chúng ta có thể hiển thị nội dung của trang Web nhƣ 31
  36. một loạt các liên kết. Khi ngƣời dùng kích vào một đề tài nào đó thì các chi tiết nằm ở một phần khác của tài liệu đƣợc hiển thị. Kiểu liên kết này gọi là ―named anchor‖ bởi vì thuộc tính NAME đƣợc sử dụng để tạo các liên kết này. Chúng ta không phải sử dụng bất kỳ văn bản nào để đánh dấu điểm neo Để dùng, ta sử dụng dấu # (marker) trong đƣờng dẫn url của thuộc tính HREF nhƣ sau Dấu # ở trƣớc tên của siêu liên kết để báo cho trình duyệt biết rằng liên kết này liên kết đến một điểm đƣợc đặt tên trong tài liệu. Khi không có tài liệu nào đƣợc chỉ ra trƣớc ký tự #, trình duyệt hiểu rằng liên kết này nằm trong cùng tài liệu. Ví dụ 2.5: Giả sử chúng ta tạo ra 3 mục lục ở đầu trang gồm: Internet, Introduction to HTML, Unity and Variety khi ta kích chuột vào từng mục thì nó sẽ nhẩy đến nội dung của từng mục đó trong trang. Using Links The Internet is a network of networks. That is, computer networks are linked to other networks, spanning countries and today the globe. The TCP/IP transfer protocol provides the bindings that connect all these computers the world over. Hyper Text Markup Language is the standard language that the Web uses for creating and recognizing documents. Although not a subset of, it is loosely related to the Standard Generalized Markup Language (SGML). SGML is a method for representing document formatting languages. 32
  37. A basic rule is that of unity and variety. That is, everything should fit together as a unit, but at the same time there is enough variety to keep things interesting. Consistency creates and reinforces the unique identity of a site. Colors, fonts, column layout and other design elements should be consistent throughout every section of the site. Khi chạy chƣơng trình ta đƣợc kết quả: Hình 2.5. Kết quả chạy ví dụ 2.5 Khi kích chuột vào Internet thì nó sẽ nhẩy đến mục tƣơng ứng nhƣ sau: Hình 2.6. Kết quả khi kích vào liên kết Liên kết đến một điểm xác định ở một tài liệu khác Bây giờ chúng ta đã biết cách sử dụng các vạch dấu trong cùng một tài liệu, hãy thử ―nhảy‖ đến một vị trí trên một tài liệu khác. Để ―nhảy‖ đến một điểm trên tài liệu khác, chúng ta cần phải chỉ ra tên của tài liệu khi chúng ta tạo vạch dấu. Trƣớc tiên trình duyệt sẽ đọc tên tài liệu và mở tài liệu đó. Sau đó nó sẽ đọc vạch dấu và di chuyển đến điểm đƣợc đánh dấu. 33
  38. Ví dụ 2.6 tạo file htm nhƣ sau: Tài liệu chính Khi chạy nó ta đƣợc kết quả sau Hình 2.7. Kết quả chạy ví dụ 2.6 Khi kích chuột vào mục Internet ở trên nó sẽ nhẩy đến vidu2.5.htm mục Internet. Hình 2.8. Kết quả khi kích vào liên kết từ trang ví dụ 2.6 34
  39. Sử dụng E-mail Nếu muốn ngƣời sử dụng gửi đƣợc e-mail, chúng ta có thể đƣa một đặc tính vào trong trang Web và cho phép họ gửi e-mail từ trình duyệt. Tất cả những gì chúng ta cần làm là chèn giá trị mailto vào trong thẻ liên kết. 2.7.3. Điều hƣớng quanh Web site Dù web site có lôi cuốn đến đâu, nếu nó không có một lƣợc đồ điều hƣớng đơn giản thì ngƣời dùng cũng sẽ mất phƣơng hƣớng ngay. Một số trong số đó có thể sẽ không bao giờ quay lại. Lƣợc đồ điều hƣớng trong mỗi site là khác nhau. Tuy nhiên có một số nguyên tắc cơ bản cần nhớ:  Xác định nội dung của web site  Tạo một lƣợc đồ điều hƣớng để giúp ngƣời dùng đi đến phần cần đến một cách nhanh chóng  Cung cấp các chức năng tìm kiếm thông tin Có nhiều cách để tổ chức một web site Trình bày tuyến tính: Cách này theo cấu trúc tuyến tính. Có một chuỗi liên kết liên tục giữa các trang. Mỗi trang có liên kết đến trang trƣớc và trang sau. Trang cuối có liên kết đến trang đầu. Định dạng này đƣợc dùng khi chúng ta muốn trình bày thông tin liên tục. Ví dụ, các chƣơng trong cuốn sách hoặc các slide của một bài trình bày mà yêu cầu ngƣời dùng đọc thông tin theo trình tự liên tiếp nhau. Hình 2.9. Trình bày tuyến tính Trình bày theo phân cấp: Đây là cách trình bày thông thƣờng nhất đƣợc sử dụng trong thiết kế Web. Trang chủ liên kết với nhiều trang khác. Ngƣời dùng có thể chọn một liên kết và ―nhảy‖ đến trang cần đến. Mỗi trang đều có liên kết về trang chủ. 35
  40. Hình 2.10. Trình bày theo phân cấp Bản đồ ảnh: Một số ngƣời thấy cách trình bày trực quan thì dễ hiểu hơn. Vì vậy, bản đồ ảnh hay bản đồ site đƣợc đƣa vào các trang chủ. Khi ngƣời dùng kích vào các điểm nóng thì tài liệu liên quan đƣợc hiển thị. Khi đã quyết định một lƣợc đồ điều hƣớng, đây là lúc để thiết kế tài liệu. Có một số nguyên tắc cần ghi nhớ:  Siêu liên kết nên rõ ràng. Từ nên đƣợc gạch chân và có màu xanh, bởi vì trên Web, màu xanh đƣợc quy ƣớc là siêu liên kết. Siêu liên kết thƣờng xuất hiện ở cuối trang. Nếu chúng xuất hiện ở giữa đoạn văn bản, có thể làm ngƣời đọc không tập trung vào đề tài.  Các trang con – nên có một thanh menu hoặc thanh điều hƣớng, nếu không ngƣời đọc có thể không thấy các trang chính. Nếu ngƣời dùng kích vào một biểu tƣợng bất kỳ trên thanh điều hƣớng thì họ sẽ nhảy từ trang hiện thời đến trang mới Luôn có một bảng mục lục để ngƣời dùng nhảy sang một đề tài nào đó. Bảng mục lục (TOC) đƣợc hiển thị ở cuối trang. Ngƣời dùng có thể chọn một đề tài nào đó để nhảy đến trang cần đến.  Luôn có nút ―Back‖ và ―Forward‖ trong trang để ngƣời dùng có thể điều hƣớng đến trang cần đến. Trình duyệt có cung cấp các chọn lựa này, nhƣng nó sử dụng các trang trong danh sách history mà có thể không phải là các trang trong Web site. 2.8. Các thẻ mức đoạn Trong phần này chúng ta sẽ đi tìm hiểu các thẻ dùng để trình bày một đoạn văn bản trong một tài liệu HTML. Có nhiều thẻ đƣợc sử dụng nhƣng trong tài liệu này chỉ trình bày một số thẻ trình bày chính: định dạng phần địa chỉ ( ), đoạn văn bản ( ), xuống dòng ( ), căn chính giữa ( ), đƣờng kẻ ngang ( ), đoạn văn bản đã định dạng sẵn ( ), trích dẫn nguồn tài liệu ( ) 2.8.1. Thẻ P Để phân đoạn và định dạng đoạn văn bản trong ngôn ngữ HTML ngƣời ta sử dụng thẻ P(Paragraph) Cú pháp của thẻ nhƣ sau: 36
  41. đoạn văn bản Trong đó: Align là thuộc tính dùng để định dạng căn lề cho đoạn văn bản, kiểu căn lề là một trong các kiểu sau: - Justify là căn lề hai bên - Left là căn lề trái - Center là căn lề giữa - Right là căn lề phải 2.8.2. Các thẻ định dạng đề mục HTML cung cấp 6 thẻ dùng để địng dạng các đề mực cho một văn bản hiển thị lên trên trang web theo cấp độ từ lớn đến bé tƣơng ứng với các thẻ cho trong bảng sau: Tên loại đề mục Thẻ và cú pháp của thẻ Chú thích Đề mục mức 1 Mức cao nhất Đề mục mức 2 Đề mục mức 3 Đề mục mức 4 Đề mục mức 5 Đề mục mức 6 Mức thấp nhất Cũng giống nhƣ thẻ P ở mục trên các thẻ định dạng đề mục cũng có thuộc tính align dùng để căn lề cho các đề mục. Trong đó kiểu căn lề là một trong các kiểu: Justify, left, right, hoặc center. Ví dụ 2.7: tạo một trang web nhƣ sau Các thẻ định dạng đề mục Đây là đề mục cấp 1 Đây là đề mục cấp 2 Đây là đề mục cấp 3 Đây là đề mục cấp 4 Đây là đề mục cấp 5 Đây là đề mục cấp 6 37
  42. Khi chạy ta đƣợc kết quả nhƣ sau: Hình 2.11. Kết quả chạy file ví dụ 2.7 2.8.3. Thẻ xuống dòng BR Nếu chúng ta không chèn vào một dòng trắng mà đơn giản chỉ là xuống dòng thì chúng ta có thẻ sử dụng thẻ (Break) cú pháp của thẻ nhƣ sau: Thẻ là một thẻ đặc biệt chỉ có thẻ mở và không có thẻ đóng, ý nghĩa của thẻ là xuống dòng về đầu dòng. 2.8.4. Thẻ ADDRESS Thẻ địa chỉ - Address thẻ này dùng để định dạng một đoạn văn bản là địa chỉ, danh thiếp và tác giả, thƣờng đặt ở đầu hay cuối tài liệu. khi dùng thẻ này phông chữ của toàn đoạn sẽ in nghiêng cú pháp nhƣ sau: văn bản Ví dụ 2.8: Các thẻ định dạng đề mục NAMHA GARMENT STOCK COMPANY Địa chỉ: 510 Truong Chinh Str., Nam dinh, Vietnam. Điện thoại: 84-0350-3649563/3649329/3635324/3649326 Fax: 84-0350-3644767 38
  43. Email: namhamaycp@vnn.vn Kết quả thu đƣợc: Hình 2.12. Kết quả chạy ví dụ 2.8 2.8.5. Thẻ BLOCKQUOTE Để địng dạng đoạn văn bản căn lề lùi vào cả hai bên, lề trái và lề phải HTML hỗ trợ một thẻ gọi là thẻ BLOCKQUOTE cú pháp của thẻ nhƣ sau: Đoạn văn bản 2.8.6. Thẻ PRE Thẻ đinh kiểu ký tự định dạng trƣớc Pre là một thẻ của HTML cho phép chúng ta có thể bảo toàn các dấu cách và dấu xuống dòng trong trang văn bản HTML y nhƣ khi chúng ta gõ vào trong quá trình soạn thảo. Điều đó có nghĩa là chúng ta không nên sử dụng các thẻ cũng nhƣ trong đoạn ký tự định dạng trƣớc. Browser sử dụng phông chữ bề rộng cố định (fixed-width font) để hiển thị nội dung trong phần ký tự định dạng trƣớc. Thông thƣờng, đó là phông hệ thống đang đƣợc sử dụng trong máy tính. Kiểu ký tự định dạng trƣớc rất có ích trong trƣờng hợp dấu cách là không thể thiếu đƣợc, chẳng hạn nhƣ khi thể hiện một đoạn mã chƣơng trình. Giới hạn đoạn văn bản đã đƣợc định dạng sẵn (pre-formatted) cần đƣợc thể hiện bằng phông chữ có độ rộng ký tự không đổi (do phải thẳng cột). Nếu không có thuộc tính WIDTH đi cùng thì bề rộng mặc định là 80 ký tự/dòng. Bề rộng 40,80 và 132 đƣợc thể hiện tối ƣu, còn các bề rộng khác có thể đƣợc làm tròn. Cú pháp: đoạn văn bản 39
  44. 2.9. Thẻ khối SPAN, DIV Có những trƣờng hợp chúng ta muốn chia văn bản trong một trang web thành những khối thông tin logic. Chúng ta cũng có thể áp dụng những thuộc tính thông thƣờng cho toàn bộ khối. Thẻ DIV và SPAN đƣợc sử dụng để nhóm nội dung lại với nhau. Thẻ DIV dùng để chia tài liệu thành các thành phần có liên quan với nhau. Thẻ SPAN dùng để chỉ một khoảng các ký tự. Thẻ SPAN dùng để định nghĩa nội dung trong dòng(in- line) còn thẻ DIV dùng để định nghĩa nội dung mức khối (block-level) Cú pháp của các thẻ nhƣ sau: Nội dung Văn bản 2.10. Các thẻ định dạng ký tự thƣờng dùng Với HTML chúng ta không chỉ định dạng cho từng đoạn văn bản hay các đoạn văn bản khác nhau mà HTML còn cung cấp một loạt các thẻ cho phép chúng ta địng dạng đến từng ký tự cho văn bản sau đây là một số thẻ định dạng ký tự thƣờng dùng. STT Tên thẻ Cú pháp Ý nghĩa 1 Văn bản nằm giữa cặp thẻ này sẽ In Bold đậm 2 Văn bản nằm giữa cặp thẻ này sẽ In Italics nghiêng 3 Văn bản nằm giữa cặp thẻ này sẽ Gạch Underline chân 4 Văn bản nằm giữa cặp thẻ này sẽ In Emphasis nghiªng 5 Văn bản nằm giữa cặp thẻ này sẽ Ch÷ Strong ®Ëm 6 Văn bản nằm giữa cặp thẻ này sẽ định Sup dạng chỉ số trên 7 Văn bản nằm giữa cặp thẻ này sẽ định Sub dạng là chỉ số dƣới 8 Tạo ra đƣờng kẻ nằm ngang: với thuộc cho đƣờng. 9 Văn bản nằm giữa cặp thẻ này sẽ căn lề Left bên trái 10 Right Văn bản nằm giữa cặp thẻ này sẽ căn lề 40
  45. bên phải 11 Văn bản nằm giữa cặp thẻ này sẽ căn lề Center giữa 12 Văn bản nằm giữa cặp thẻ này sẽ có Strick đƣờng gách ngang 2.11. Danh sách Việc liệt kê danh sách sẽ làm cho văn bản trở nên sáng sủa và dễ theo dõi. Trong HTML có một số thẻ cho phép chúng ta tạo ra danh sách cho một tài liệu nhƣ danh sách đánh số thứ tự, danh sách không đánh số thứ tự, danh sách định nghĩa. Sau đây chúng ta sẽ đi tìm hiểu các thẻ cho phép chúng ta định dạng các loại danh sách này. 2.11.1. Danh sách không thứ tự Danh sách không có thứ tự thƣờng đƣợc liệt kê các mục dƣới dạng có các bullet ở đầu nhƣ dấu -, dấu +, hình tròn, hình vuông hay một hình ảnh hoặc một ký hiệu biểu tƣợng nào đó. Trong HTML có thẻ UL cho phép chúng ta định dạng các mục trong một tài liệu là một danh sách không có thứ tự. Thẻ này có định dạng 3 kiểu bullet cơ bản là kiểu dấu chấm tròn, hình tròn và hình vuông ở đầu mỗi mục trong danh sách Cú pháp nhƣ sau: Mục thứ 1 Mục thứ 2 Trong đó: - Cặp thẻ đánh dấu bắt đầu và kết thúc danh sách. Nó có tác dụng lùi lề trái danh sách vào sâu hơn. - Các thẻ có tác dụng thể hiện bắt đầu một phần tử mới trong danh sách đây là thẻ đặc biệt chỉ có thẻ mở mà không có thẻ đóng - Thuộc tính Type chỉ ra kiểu bullet sẽ đƣợc sử dụng để đánh cho danh sách, theo mặc định kiểu bullet là chấm tròn (Disc) Ví dụ 2.9: ví dụ về danh sách không có thứ tự 41
  46. Thứ 2 Thứ 3 Thứ 4 Thứ 5 Thứ 6 Thứ 7 Chạy chƣơng trình ta đƣợc kết quả sau: Hình 2.13. Kết quả chạy của ví dụ 2.9 2.11.2. Danh sách có thứ tự Thẻ trong HTML cho phép chúng ta định dạng các mục trong một văn bản là một danh sách có thứ tự. Tức là danh sách mà các phần tử của nó sẽ đƣợc đánh thứ tự chẳng hạn nhƣ 1, 2, 3 hay a, b, c . Cú pháp: Mục thứ 1 Mục thứ 2 Trong đó: - Cặp thẻ đánh dấu bắt đầu và kết thúc danh sách. Nó có tác dụng lùi lề trái danh sách vào sâu hơn. 42
  47. - Các thẻ có tác dụng thể hiện bắt đầu một phần tử mới trong danh sách đây là thẻ đặc biệt chỉ có thẻ mở mà không có thẻ đóng. - Thuộc tính Type chỉ ra kiểu thứ tự sẽ đƣợc sử dụng để đánh cho danh sách, theo mặc định kiểu sẽ là kiểu số. Ví dụ 2.10: ví dụ về danh sách không có thứ tự Thứ 2 Thứ 3 Thứ 4 Thứ 5 Thứ 6 Thứ 7 Kết quả chạy chƣơng trình ta đƣợc danh sách có thứ tự nhƣ sau: Hình 2.14. Kết quả chạy ví dụ 2.10 Nếu ta thay thuộc tính Type = I thì ta sẽ đƣợc kết quả nhƣ sau: 43
  48. Hình 2.15. Kết quả chạy file ví dụ 2.10 với type =I 2.11.3. Danh sách định nghĩa Danh sách các định nghĩa trông giống nhƣ một bảng từ vựng hay bảng giải thích các thuật ngữ lùi vào trong. Cú pháp: Mục thứ 1 Mục thứ 2 Trong đó - Cặp thẻ đánh dấu bắt đầu và kết thúc danh sách. Nó có tác dụng lùi lề trái danh sách vào sâu hơn. - Các thẻ có tác dụng thể hiện bắt đầu một phần tử mới trong danh sách đây là thẻ đặc biệt chỉ có thẻ mở mà không có thẻ đóng Ví dụ 2.11: ví dụ về danh sách không có thứ tự Thứ 2 Thứ 3 Thứ 4 44
  49. Thứ 5 Thứ 6 Thứ 7 Chạy chƣơng trình ta thu đƣợc kết quả: Hình 2.16. Kết quả chạy file ví dụ 2.11 2.12. Sử dụng font Thẻ dùng để định dạng hiển thị văn bản trên trang web. Chúng ta cũng có thể chỉ định các thuộc tính nhƣ kích thƣớc, màu sắc, kiểu Cú pháp: Trong đó: - Thuộc tính face đùng để chỉ loại phông chữ sẽ đƣợc sử dụng để định dạng cho văn bản giá trị của nó là một phông chữ nào đó nhƣ: Arial, Time New Roman, Verdana - Thuộc tính Size là để chỉ định cỡ chữ giá trị của nó có thể là 1, 2, 3, 4, 5, - Color dùng để chỉ định màu cho chữ, màu có thể là tên màu chẳng hạn nhƣ red, blue, black cũng có thể là mã màu trong trƣờng hợp là mã màu thì phải có đấu # đứng trƣớc mã màu. 2.13. Sử dụng màu sắc Trong thiết kế web việc sử dụng màu cho một trang web là rất cần thiết, nó giúp cho trang web trở nên sinh động hơn nếu ngƣời thiết kế biết sử dụng màu cho trang web và cho các nội dung cho trang web nhƣ màu nên, màu chữ Để sử dụng màu chúng ta chỉ cần gán giá trị màu cho thuộc tính color, bgcolor, bodercolor trong một số thẻ của HTML. Chúng ta có thể gán giá trị màu bằng một trong 45
  50. 2 cách là sử dụng tên màu, hay sử dụng mã màu. Trong trƣờng hợp sử dụng mã màu nó là một mã hecxa tổ hợp từ 3 màu có bản Red, Green và Blue có dấu # ở trƣớc có cấu trúc sau: #RRGGBB Số hecxa 00 chỉ 0% của màu trong khi đó số hecxa FF chỉ 100% của màu. Giá trị cuối cùng là một mã sáu chữ số chỉ màu. Mã thập lục phân Màu #FF0000 Red #00FF00 Green #0000FF Blue #000000 Black #FFFFFF White 2.14. Sử dụng hình ảnh trong tài liệu HTML 2.14.1. Chèn hình ảnh vào tài liệu HTML Việc sử dụng hình ảnh trong trang web là hết sức cần thiết. Ảnh làm cho trang web của chúng ta trở nên sinh động và trực quan hơn. Ảnh có thể là biểu tƣợng, bullet, ảnh, logo công ty và nhiều cái khác. Ngày nay có nhiều định dạng đồ họa đang đƣợc sử dụng nhƣ: *.bmp, *.gif, *.jpeg, *.jpg, . Tuy nhiên trình duyệt web thƣờng chỉ đọc đƣợc một vài định dạng ảnh nhƣ: Ảnh GIF (Graphics Interchange Format) (.GIF), Ảnh JPEG (Joint Photographic Expert Group) (.JPEG), PNG (Portable Network Graphics) Để chèn hình ảnh vào trang web HTML có một thẻ gọi là thẻ Image cú pháp của thẻ nhƣ sau: Trong đó các thuộc tính: - ALIGN="left|right|top|texttop|middle|absmiddle|baseline|bottom": Thuộc tính này dùng để căn lề của hình ảnh với các dòng văn bản trong web. - ALT="Alternative Text": Thuộc tính này cho hiển thị một dòng văn bản thay thế cho tập tin hình ảnh trong trƣờng hợp trình duyệt Web đang ở trong chế độ không hiển thị đƣợc hình ảnh. Dòng văn bản này cũng hiển thị theo dạng ToolTip khi dời chuột đến hình. - SRC="URL of image": Chỉ định địa chỉ tập tin hình chèn vào trang Web. - WIDTH=‖value‖/ HEIGHT=‖value‖: Chỉ định chiều rộng và chiều cao của ảnh sẽ đƣợc hiển thị lên trên trình duyệt web. - BORDER=‖value‖: Chỉ định cho hiển thị đƣờng viền bao quanh hình ảnh. Giá trị value là số nguyên dƣơng. 46
  51. - VSPACE=‖value‖ HSPACE=‖value‖: Quy định khoảng trống giữa hình và đoạn văn bản. VSPACE cho trên và dƣới hình, HSPACE cho trái và phải hình. Giá trị value đƣợc tính theo đơn vị pixel. 2.14.2. Chèn ảnh động vào vào tài liệu HTML Đôi khi ảnh động sẽ làm cho tài liệu HTML của ta trở nên trực quan và sinh động hơn so với ảnh tĩnh. Chúng ta cũng có thẻ chèn ảnh động vào website. Để chèn ảnh động vào website chung ta sử dụng thẻ Image nhƣ trong phần trên, tuy nhiên thuộc tính src đƣợc thay bằng thuộc tính Dynsrc: 2.14.3. Chèn âm thanh vào tài liệu HTML Để chèn âm thanh vào một trang web ta sử dụng thẻ BGSound trong ngôn ngữ HTML Cú pháp của thẻ nhƣ sau: Trong đó: - Src là thuộc tính chỉ định file âm thanh sẽ đƣợc chơi trên trang web, url là đƣờng dẫn đến file âm thanh đó. Ngày nay hầu hết các trình đuyệt web đều hỗ trợ một số định dạng âm thanh nhƣ MIDI, . WAV, hay .AU. Một số trình duyệt web IE hay FireFox thì có thể hỗ trợ một số định dạng khác nhƣ .mp3 - Loop là thuộc tính dùng để chỉ số lần sẽ chơi lại bản nhạc nhày, trong trƣờng hợp ta đặt loop = -1 hoặc infinite thì sẽ lặp lại vô hạn lần(lặp lại cho đến khi tắt trang web đó đi) Ví dụ 2.12: html> Chèn âm thanh vào trang web Thẻ BGSound cho phép chèn âm thanh vào một trang web tuy nhiên không có trình điều khiển để điều khiển việc chơi bản nhạc này chẳng hạn nhƣ việc tăng hoặc giảm volume hay tạm dừng (stop) và chơi lại (play). Để chèn âm thanh vào trang web có chứa 47
  52. thanh công cụ để điều khiển việc chơi nhạc trên trang web ta sử dụng một thẻ khác của HTML đó là thẻ Embed chi tiết về thẻ này và cách sử dụng thẻ ta sẽ xét ở phần sau chèn video vào tài liệu HTML. 2.14.4. Chèn Video vào tài liệu HTML Để chèn video vào tài liệu HTML ta sử dụng thẻ embed nhƣ sau: Cú pháp: Trong đó: - src là thuộc tính dùng để chỉ định file video sẽ đƣợc chèn vào trang web, url là đƣờng dẫn đến file hình ảnh đó. Hầu hết các trình duyệt web hiện tại đều hỗ trợ một số định dạng video nhƣ: .avi, .asf, .ram , .mpg tuy nhiện một số trình duyệt nhƣ IE, FireFox còn có thẻ hỗ trợ một số định dạng khác nhƣ .mp4 chẳng hạn. - height thuộc tính chỉ định chiều cao của video, giá trị của nó là một số pixel trên màn hình. - Width là thuộc tính chỉ định chiều rộng của video, giá trị cũng đƣợc thể hiện bằng số pixel trên màn hình. Ví dụ 2.13: Chèn video vào trang web Chạy chƣơng trình kết quả nhƣ sau : Hình 2.17. Kết quả chạy ví dụ 2.13 48
  53. 2.14.5. Chèn các Java Applets Ngoài khả năng chèn hình ảnh, âm thanh vào trang web. Chúng ta còn có thể chèn một chƣơng trình Java Applets vào trang web. Chƣơng trình Java Applets là một chƣơng trình Java nhỏ có thể chạy trên internet. Chƣơng trình này có thể tạo ra các ứng dụng multimedia trên web, các plus in hay các chƣơng trình đồ họa trên web. Để chèn Java Applets vào trang web chúng ta sử dụng thẻ Applet cú pháp nhƣ sau: Cú pháp : . Trong đó : - Thuộc tính code để chỉ định lớp applet muốn chèn vào trang web - Width, height thuộc tính quy định chiều rộng và cao của applet sẽ hiển thị trong trang web, đƣợc tính theo số pixel màn hình. - param là một thẻ mở mà không có thẻ đóng đƣợc nằm trong cặp thẻ applet để chỉ định các tham biến sẽ đƣợc truyền giá trị vào trong lớp applet. Thuộc tính name chỉ tên biến cần truyền, Value thuộc tính quy định giá trị sẽ truyền vào biến đó. Ví dụ 2.14: Chèn vào trang web một applet trong lớp clock1 là một cái đồng hồ đƣợc lập trình bằng java Applet HTML> Chèn Applet vào trang web 2.15. Cách tạo bảng Chúng ta có thể sử dụng bảng để hiển thị dữ liệu dƣới dạng các hàng và các cột. Bảng giúp cho chúng ta điều khiển, xác định và sắp xếp vị trí của văn bản và hình ảnh trên trang web, thay vì giao tất cả các việc đó cho trình duyệt. 49
  54. 2.15.1. Thẻ dùng để tạo bảng Thẻ đƣợc dùng để tạo bảng trong tài liệu HTML. Các thuộc tính của phần tử đƣợc áp dụng cho bảng, nhƣng không cho dữ liệu hiển thị trên bảng. Đơn vị cơ bản của bảng là một ô và đƣợc định nghĩa bằng thẻ . Cú pháp tạo ra cấu trúc chung của bảng nhƣ sau : Tên cột 1 Tên cột 2 Ô 1 dòng 1 Ô 2 dòng 1 Trong đó : - Cặp thẻ tạo ra một bảng - Cặp thẻ tạo ra hàng trong bảng - Cặp thẻ tạo ra một tiêu đề trong một hàng của bảng - Cặp thẻ tạo ra một ô trong một hàng của bảng Nhƣ vậy để chền một bảng vào trang web ta phải sử dụng thẻ table thẻ này có một số thuộc tính nhƣ sau: <TABLE Boder =n 50
  55. Bordercolor = color Bgcolor=color Background = url Cellspacing=n Cellpadding=n Align = Left | Center | Right Width = n Height = n > Trong đó: - Border thuộc tính quy định đƣờng viền, n là độ dày của đƣờng viền - Bordercolor là thuộc tính quy định màu của đƣơng viền - Bgcolor là thuộc tính quy định màu nền của bảng - Background là thuộc tính quy định ảnh nền của bảng, url là đƣờng dẫn đến file hình ảnh làm nền - Cellspacing thuộc tính quy định khoảng đƣờng biên trong bảng đƣợc tính bằng pixel - Cellpadding thuộc tính quy định khoảng cách từ lề đến dữ liệu trong ô - Align thuộc tính dùng để căn lề cho dữ liệu trong bảng, nhận một trong các giá trị left căn lề trái, right căn lề phải, center căn lề giữa - Width thuộc tính quy định chiều rộng của bảng tính bằng pixel - Height thuộc tính quy đinh chiều cao của bảng tính bằng pixel 2.15.2. Chèn hàng và cột Thẻ đƣợc sử dụng để chèn một hàng vào bảng thẻ này có một số thuộc tính nhƣ sau : Các thuộc tính tƣơng tự nhƣ các thuộc tính của thẻ table nhƣng có tác dụng trong một hàng Để chèn cột vào bảng, một ô trong một hàng ta sử dụng thẻ nhƣ trên thẻ này có một số thuộc tính quan trong sau : 51
  56. Trong đó : - Các thuộc tính Bordercolor, Bgcolor, Background, Align tƣơng tự nhƣ các thẻ trên - Thuộc tính valign quy định căn lề theo trên, giữa và cuối - Colspan là thuộc tính dùng để trộn các ô theo côt, n là số ô trộn - Rowspan thuộc tính quy định trộn các ô theo hàng, n là số ô trộn 2.15.3. Xóa hàng và cột Để xóa một hàng, xóa thẻ tƣơng ứng cùng với tất cả các thẻ bên trong nó từ một file mã nguồn HTML. Tƣơng tự, để xóa các cột xóa các thẻ tƣơng ứng theo một cột trên tất cả các thẻ . 2.15.4. Trộn ô Trộn ô là sự kết hợp các ô liền nhau theo cột hay theo hàng, để làm việc này ta sử dụng thuộc tính colspan và rowspan trong thẻ TD. Ví dụ 2.15: Ví dụ về tạo bảng Thứ Buổi 52
  57. Tháng Tuần1 Tuần 2 Tuần 3 Tuần 4 2 Sáng         Chiều         Tối         53
  58. Chạy chƣơng trình ta đƣợc kết quả: Hình 2.18. Kết quả chạy ví dụ 2.15 2.15.5. Định dạng cho ô Để định dạng cho các ô trong bảng ta sử dụng các thuộc tính của thẻ hay thẻ . Chẳng hạn có thể chỉ định đƣợc vị trí của văn bản bên trong mỗi ô của bảng. Những thuộc tính canh lề ngang (ALIGN) và canh lề dọc (VALIGN) đƣợc sử dụng để điều khiển việc canh lề trong các ô của bảng. Thuộc tính ALIGN có thể có các giá trị: trái, phải, giữa, đều hai bên. Thuộc tính VALIGN có thể có các giá trị: trên, giữa và dƣới. Ngoài việc xác định vị trí nội dụng của các ô trong bảng, chúng ta cũng có thể thay đổi kích thƣớc, màu sắc của bảng. Chúng ta có thể xác định chiều rộng của bảng. Đó là vùng trên màn hình mà bảng sẽ mở rộng ra. Thuộc tính WIDTH của thẻ TABLE sẽ thật sự cần thiết. Giá trị của thuộc tính WIDTH có thể là một định dạng phần trăm hay thậm chí là các điểm. Chẳng hạn, . Điều này sẽ kéo rộng bảng đến 50% của màn hình. Nếu chúng ta muốn thêm một vài màu sắc cho bảng, chúng ta sử dụng thuộc tính BGCOLOR. Giá trị này có thể là tên của một màu hay là giá trị ở hệ thập lục phân. 2.16. Lớp (Layer) 2.16.1. Khái niệm lớp Khi đặt vị trí cho một phần tử trên trang Web, chúng ta xác định tọa độ x và y. Tuy nhiên, chúng ta cũng có thể xác định tọa độ z. Nhƣ thế, trục tọa độ z là một đƣờng ảo từ phía trƣớc đến phía sau màn hình. Vì vậy, một phần tử có thể đƣợc đặt ở trên hay dƣới phần tử khác trong lớp. Tọa độ z xác định thứ tự trong đó các phần tử đƣợc hiển thị. Khái niệm về lớp có thể đƣợc đƣa ra đối với một tài liệu HTML. Một lớp giống nhƣ một frame mà nó có thể chứa nội dung và đƣợc chỉ định vị trí ở nơi đƣợc yêu cầu. Trong phần tiếp theo sẽ thảo luận kỹ hơn về lớp. 54
  59. Lớp là một phần tử có thể đƣợc thêm vào một trang Web. Chúng ta có thể xác định chính xác vị trí của một lớp trong trang Web. Netscape cung cấp một phần tử mà nó có thể đƣợc sử dụng để xác định vị trí nội dung trên trang Web. Lớp có tập thuộc tính riêng của nó có thể đƣợc truy xuất và lập trình. Các lớp có thể đƣợc lập trình thông qua script (tức là đoạn mã của một chƣơng trình nhỏ) để tạo ra những trang động hay những trang có khả năng tƣơng tác với nhau. Vì vậy, chúng ta có thể xác định vị trí các phần tử trên trang mà ta muốn thay vì phải di chuyển nó đến phần chức năng (functionality) đƣợc yêu cầu bởi mỗi trình duyệt. Thêm vào đó, chúng ta có thể kết nối các văn bản và hình ảnh lại với nhau để tạo ra một trang web sinh động và dễ đọc. Các hiệu ứng đặc biệt có thể đƣợc thêm vào trên một trang web mà không cần phải tăng kích thƣớc của file lên nhiều lắm. Chúng ta có thể thay đổi các phần của trang mà không phải thay đổi lại, thiết kế lại trang chủ, nhƣ thế, chúng ta có thể thay những nội dung của một tầng đặc biệt mà không phải hiệu chỉnh trang chủ. Cả Internet Explorer và Netscape Navigator đều cung cấp công nghệ lớp và mỗi nhà cung cấp đều có một cách riêng. Đối với Internet Explorer hỗ trợ mô hình CSS (Cascading Style Sheet – Mô hình thác nƣớc). Khi chúng sử dụng những kiểu Bảng kiểu nhƣ thế này thì chúng ta có thể nhóm các thành phần của trang lại với nhau trong một Bảng kiểu hình thác nƣớc. Bảng kiểu loại này có thể đƣợc đƣa ra để chọn một hay tất cả các phần tử trong một tài liệu HTML. Những phần tử có thể đƣợc điều khiển thông qua VBScirpt hay JavaScript. Để tạo ra một tầng tài liệu chúng ta sẽ phải thay đổi thuộc tính của kiểu Bảng kiểu này. Netscape Navigator cũng hổ trợ việc sử dụng CSS, nhƣng theo một cách khác. Chúng ta phải sử dụng thẻ do Netscape hỗ trợ. 2.16.2. Sử dụng các lớp Lớp đƣợc bàn ở đây nhƣ là một thực thể đơn của nội dung. Nó cũng đƣợc chỉ ra giống nhƣ bất kỳ một kiểu nào khác mà nó chỉ đến những phần tử bên trong một trang HTML. Vì vậy, nếu chúng ta muốn ứng dụng kiểu lớp cho tất cả những phần tử bên trong lớp, chúng ta có thể sử dụng những phần tử nhƣ DIV hay SPAN. Ví dụ 2.16: Grouping elements Layer 1 55
  60. This is a paragraph element within division 1 Content for layer 1. Outside the division Division 2 This is a paragraph element within division 2 Content for layer 1. 2.17. Giới thiệu biểu mẫu Để mở rôṇ g khả năng phuc̣ vu ̣ngƣờ i sƣ̉ duṇ g , dịch vụ Web cần phải sử dụng các ứng dụng khác bên ngoài . Ví dụ NSD (Ngƣời sử dụng) yêu cầu tìm kiếm trong cơ sở dƣ̃ liêụ , lấy các thông tin tƣ́ c thờ i, luôn đƣơc̣ cập nhật Để làm đƣơc̣ điều này dịch vụ Web phải chuyển yêu cầu của NSD đến một ứng dụng khác . Ứng duṇ g này sẽ thực hiện yêu cầu và trả lại kết quả cho Web server để chuyển tiếp đến NSD. Form là môṭ cách để chuyển dƣ̃ liêụ tƣ̀ NSD đến cho Web Server xƣ̉ lý. Forms đƣơc̣ sƣ̉ duṇ g rôṇ g raĩ trên WWW . Các forms rất tiện lợi cho ngƣời dùng điền các yêu cầu tìm kiếm, các biểu mẫu điều tra, nhâp̣ dƣ̃ liêụ đầu vào cho các ƣ́ ng duṇ g Có nhiều thành phần khác nhau (gọi là các điều khiển - control) trong môṭ form. Tuỳ theo yêu cầu giao tiếp với NSD cần chọn thành phần thích hợp nhất. Khi taọ form cũng cần phải chỉ rõ cho máy ch ủ dịch vụ biết cách xử lý form. Có nhiều loại chƣơng trình ứng dụng khác nhau trong máy chủ dịch vụ để làm việc này: các chƣơng trình CGI, ISAPI, các script ASP, JSP, Java Bean, Servlet Tạo form là khâu đầu tiên trong việc xây dựng giao tiếp giữa NSD với các ứng dụng Internet / Intranet Web form hay Form HTML là một phần của tài liệu, nó chứa các phần tử đặc biệt gọi là các điều khiển. Các điều khiển đƣợc sử dụng để nhập thông tin từ ngƣời dùng và cung cấp một số tƣơng tác. Dữ liệu do ngƣời dùng nhập vào có thể đƣợc xác nhận hợp lệ nhờ các kịch bản phía máy khách (client-side scripts) và đƣợc chuyển đến máy chủ để xử lý thêm. 56
  61. 2.17.1. Sử dụng biểu mẫu Việc sử dụng biểu mẫu trên World Wide Web là khá nhiều và liên tục tăng lên. Sau đây là một số cách sử dụng thông thƣờng: Thu thập tên, địa chỉ, số điện thoại, địa chỉ e-mail và các thông tin khác để ngƣời dùng đăng ký cho một dịch vụ hay một sự kiện nào đó. Thu thập thông tin dùng để đăng ký mua một mặt hàng nào đó, ví dụ, khi muốn mua một cuốn sách trên Internet, ta phải điền tên, địa chỉ gửi thƣ, phƣơng thức thanh toán và các thông tin liên quan khác. Thu thập thông tin phản hồi về một web site. Hầu hết các site cung cấp một dịch vụ nào đấy đều khuyến khích khách hàng gửi thông tin phản hồi. Ngoài việc xây dựng mối quan hệ với khách hàng, đây còn là một nguồn thông tin để trao đổi hoặc cải tiến dịch vụ. Cung cấp công cụ tìm kiếm cho web site. Các site cung cấp nhiều thông tin khác nhau thƣờng cung cấp cho ngƣời dùng hộp tìm kiếm để cho phép họ tìm kiếm thông tin nhanh hơn. 2.17.2. Phần tử FORM Phần tử đƣợc sử dụng để tạo một vùng trên trang nhƣ một biểu mẫu. Nó chỉ ra cách bố trí của biểu mẫu. Cú pháp: Các phần điều khiên Trong đó các thuộc tính: - Action chỉ định địa chỉ mà form đó sẽ gửi thông tin đến, url là đƣờng dẫn đến địa chỉ trang xử lý thông tin. - Name chỉ định tên của form - Method chỉ định phƣơng thức truyền, một trong 2 phƣơng thức sẽ đƣợc chỉ định là post hoặc get. Theo mặc định phƣơng thức post sẽ đƣợc chỉ định. 2.17.3. Các phần tử nhập của HTML Khi tạo một biểu mẫu (web form), ta có thể tạo các phần tử điều khiển cho form – Form Control. Các điều khiển này giúp nhận các thông tin của ngƣời dùng nhƣ các textbox cho phép nhập thông tin, button là các nút điều khiển . Các điều khiển này đƣợc sử dụng với phần tử . Mỗi một phần tử đƣợc tạo ra bằng một thẻ cú pháp nhƣ sau: Cú pháp: <input 57
  62. type = button| checkbox| file| hidden| image| password| radio| reset| submit|text name = "tên phân tử" value = "Giá trị" checked > Trong đó các thuộc tính: - Type chỉ định kiểu của đối tƣợng điều khiển trên form, có thể nhận một trong các đối tƣợng điều khiển nhƣ:  Button là một nút điều khiển  Checkbox là một hộp lựa chọn kiểu ô vuông, cho phép ngƣời dùng lựa chọn hoặc không lựa chọn một mục nào đó, kiểu checkbox là một kiểu lựa chọn nhiều trong nhiều.  File là một đối tƣợng điều khiển cho phép ngƣời dùng lựa chon một file dữ liệu  Hidden là một đối tƣợng ẩn  Image là một đối tƣợng điều khiển dạng ảnh  Password là một đối tƣợng cho phép ngƣời dùng nhập vào mật khẩu  Radio là một đối tƣợng lựa chọn dạng chấm tròn, đây là dạng lựa chọn một trong nhiều.  Reset là một nút điều khiển chó phép thiết lập lại các giá trị trên các điều khiển khác của form theo mặc định  Submit là một nút điều khiển chó phép gửi tin đi khi ngƣời dùng kích hoạt  Text là một điều khiển dƣới dạng một hộp chữ nhật cho phép ngƣời dùng nhập văn bản vào - Name quy định tên của đối tƣợng điều khiển đó, thuộc tính này rất quan trong trong quá trình lập trình. Trong khi lập trình chúng ta chỉ lây đƣợc dữ liệu của các đối tƣợng gửi về thông qua tên của chúng. - Value giá trị đƣợc gián cho đối tƣợng điều khiển đó, giá trị này sẽ đƣợc hiển thị lên màn hình nếu đối tƣợng có dạng button, submit, text, password, hay reset. - Checked thiết lập đối tƣợng sẽ đƣợc lựa chọn, thuộc tính này chỉ có giá trị với các đối tƣợng radio hoặc checkbox - Src chỉ ra địa chỉ của file ảnh, thuộc tính này chỉ có giá trị với đối tƣợng có kiểu image Ngoài các đối tƣợng điều khiển trên HTML các có các đối tƣợng điều khiển khác nhƣ. 58
  63. Đối tƣợng điều khiển Vùng văn bản TextArea Loại này tạo ra một điều khiển nhập văn bản trên nhiều dòng so với hộp văn bản nhập một dòng. Ta phải xác định kích thƣớc của textarea. Ta cũng phải xác định số dòng, số cột trong textarea. Cú pháp nhƣ sau: Trong đó các thuộc tính: - Cols chỉ định số cột của vùng văn bản - rows là số hàng của của vùng văn bản - Name tên của đối tƣợng điềuk hiển Đối tƣợng điều khiển select đƣợc sử dụng để hiển thị một danh sách các lựa chọn cho ngƣời dùng. Mỗi lựa chọn đƣợc biểu diễn bởi phần tử OPTION. Một phần tử SELECT phải chứa ít nhất một phần tử OPTION Cú pháp: . Trong đó: - Name là thuộc tính đặt tên cho đối tƣợng - Size là độ cao của đối tƣợng - là thẻ dùng để tạo ra một lựa chọn 2.17.4. Tạo biểu mẫu Chúng ta đã thảo luận về phần tử và các điều khiển có thể thêm vào biểu mẫu để nhận thông tin ngƣời dùng. Trong phần này, chúng ta sẽ tạo một số biểu mẫu để nhận thông tin. Các nút RESET và SUBMIT thực hiện các công việc cần thiết. Ví dụ 2.17: Đăng nhập người dùng 59