Chương 1
GIỚI THIỆU MẠNG INTERNET
1. SƠ LƯỢC VỀ MẠNG INTERNET
1.1. Lịch sử mạng Internet
Mạng Internet xuất phát từ mạng ARPANET của Mỹ và ngày nay
đã trở thành mạng toàn cầu kết nối hàng trăm triệu người trên thế
giới. Mạng máy tính toàn cầu Internet có thể được xem như là mạng
của tất cả các mạng (network of networks), trong đó người dùng tại
bất cứ máy tính nào đều có thể truy cập tới các thông tin của các
máy khác (nếu được phép). Mạng Internet ban đầu được biết dưới
tên là ARPANET do tổ chức Advanced Research Projects Agency
(ARPA) của Mỹ thiết lập năm 1969.
Mục đích chính của mạng này là tạo cơ sở cho các máy tính
nghiên cứu của các trường đại học có thể kết nối và trao đổi với
nhau. Thiết kế của ARPANET độc đáo ở chỗ là mạng vẫn có thể
hoạt động khi một phần của nó bị phá hủy trong các trường hợp
chiến tranh hoặc thiên tai.
3 Chương 1 GIỚI THIỆU MẠNG INTERNET 1. SƠ LƯỢC VỀ MẠNG INTERNET 1.1. Lịch sử mạng Internet Mạng Internet xuất phát từ mạng ARPANET của Mỹ và ngày nay đã trở thành mạng toàn cầu kết nối hàng trăm triệu người trên thế giới. Mạng máy tính toàn cầu Internet có thể được xem như là mạng của tất cả các mạng (network of networks), trong đó người dùng tại bất cứ máy tính nào đều có thể truy cập tới các thông tin của các máy khác (nếu được phép). Mạng Internet ban đầu được biết dưới tên là ARPANET do tổ chức Advanced Research Projects Agency (ARPA) của Mỹ thiết lập năm 1969. Mục đích chính của mạng này là tạo cơ sở cho các máy tính nghiên cứu của các trường đại học có thể kết nối và trao đổi với nhau. Thiết kế của ARPANET độc đáo ở chỗ là mạng vẫn có thể hoạt động khi một phần của nó bị phá hủy trong các trường hợp chiến tranh hoặc thiên tai. Ngày nay mạng Internet là một mạng công cộng kết nối hàng trăm triệu người trên thế giới. Về mặt vật lí, mạng Internet sử dụng một phần của toàn bộ các tài nguyên của các mạng viễn thông công cộng đang tồn tại (public telecommunication networks). Về mặt kĩ thuật, mạng Internet sử dụng tập các giao thức gọi chung là TCP/IP (Transmission Control Protocol/Internet Protocol). Hai mô phỏng của công nghệ mạng Internet là intranet and extranet cũng sử dụng các giao thức này. Sự ra đời của giao thức HTTP và HMTL đã đánh dấu một bước ngoặc mới trong việc sử dụng Internet. Cho tới năm 1990 các dịch vụ cơ bản của Internet vẫn chỉ là e-mail, listserv, telnet, và ftp. Năm 1992, Tim Berners-Lee, một nhà vật lí học tại CERN đã phát triển các giao thức cho World Wide Web (WWW). Trong khi tìm kiếm cách để liên kết các tài liệu khoa học lại với nhau, anh ta đã tạo ra Hypertext Markup Language (HTML), một tập con của Standard Generalized Markup Language (SGML). 4 Từ một chuẩn cho các tài liệu văn bản, HTML ngày nay có thể chứa hình ảnh, âm thanh, video, và cho phép phát triển các ứng dụng thông qua Common Gateway Interface (CGI), ASP, JSP, PHP, Java Servlet, .... Hình 1.1 – Mô hình mạng Internet 1.2. Một số kiến thức liên quan đến mạng Internet 1.2.1. Địa chỉ IP (IP Address) Địa chỉ IP là một con số 32-bit dùng để xác định đối tượng nhận và gửi thông tin trên Internet. Khi bạn yêu cầu một trang HTML hay gửi e-mail, địa chỉ IP của bạn sẽ được gửi đi cùng các gói tin đến địa chỉ IP của người nhận. Một khi người nhận nhận được yêu cầu của bạn, họ sẽ căn cứ trên địa chỉ IP mà bạn gửi kèm để gửi kết quả trả về. Để đơn giản hóa người ta phân con số này thành 4 con số 8 bit viết cách nhau bởi dấu chấm “.”. Vì mọi máy là một phần của mạng nên người ta chia địa chỉ IP thành 2 phần là phần mô tả mạng (network) mà máy đó thuộc về và phần mô tả máy (local host). Nếu tất cả các bit của vùng mô tả máy bằng 0, thì địa chỉ IP dùng để mô tả địa chỉ mạng (network address); Nếu tất cả các bit của vùng mô tả máy bằng 1, thì địa chỉ IP này chính là địa chỉ broadcast (broadcast Lê Đình Duy - ĐH KHTN Tp. HCM Email: ledduy@ieee.org Lê Đình Duy - ĐH KHTN Tp. HCM Email: ledduy@ieee.org 5 address); Nếu không thuộc hai trường hợp trên, địa chỉ IP này dùng để mô tả địa chỉ máy (host address). Địa chỉ IP tự nó không chứa thông tin về phần nào mô tả mạng, phần nào mô tả máy mà thành phần subnet mask đi kèm với mỗi địa chỉ sẽ cung cấp thông tin này. Theo qui ước, vùng các bit 1 xác định vùng mô tả mạng, và vùng các bit 0 xác định vùng mô tả máy. Trong subnet mask chỉ gồm 2 dãy liên tục các bit 1 và dãy liên tục các bit 0 nằm liên tiếp nhau tính từ trái sang. Các địa chỉ IP được phân thành 3 lớp A, B, C tùy theo giá trị của 3 bytes đầu tiên. Theo đó thì: Class Available Network Address # of Networks # of Hosts Default Subnet A 1 - 126 126 16.7 million 255.0.0.0 B 128.xxx – 191.xxx 16.384 65.536 255.255.0.0 C 192.xxx.xxx – 223.xxx.xxx 2.097.152 256 255.255.255.0 Việc phân chia địa chỉ IP trên Internet do ICANN chịu trách nhiệm. Địa chỉ IP thường được quản lí bởi các nhà cung cấp dịch vụ Internet (ISP – Internet Service Provider). Các địa chỉ IP này thường được gọi nôm na là địa chỉ IP thực. Nếu bạn muốn thiết lập một website mà người dùng Internet có thể truy cập vào được, ít nhất máy chủ chứa website phải có địa chỉ IP thực. Nếu bạn không có địa chỉ IP thực, bạn phải sử dụng dịch vụ webhosting để thuê chỗ đặt website trên các máy chủ có địa chỉ IP thực được kết nối với Internet. 6 Hình 1.2 - Minh họa thiết lập giao thức TCP/IP 1.2.2. Tên miền (Domain name) Tên miền có thể được xem như là tên giao dịch của công ty hay tổ chức trên Internet. Tên miền của các công ty thương mại thường có dạng yourcompany.com. Ví dụ, công ty Intel sẽ lấy tên là miền là intel.com; công ty Microsoft lấy tên miền là microsoft.com; ... Việc đưa ra khái niệm tên miền giúp cho việc truy cập đến các tài nguyên trên Internet dễ dàng hơn. Việc ánh xạ qua lại giữa tên miền và địa chỉ IP của máy phục vụ được thực hiện bởi DNS Server. Lê Đình Duy - ĐH KHTN Tp. HCM Email: ledduy@ieee.org Lê Đình Duy - ĐH KHTN Tp. HCM Email: ledduy@ieee.org 7 Ví dụ một địa chỉ www.intel.com cho ta một số thông tin sau: đây là địa chỉ của một máy thuộc tổ chức sở hữu tên miền intel.com (chính là công ty Intel). Địa chỉ IP của máy này sẽ là 192.102.198.160 (sử dụng chương trình nslookup để tra) và máy này có tên là “www” (thông thường là máy cung cấp dịch vụ web). Phần "com" trong tên miền mô tả mục đích của tổ chức (trong trường hợp này là "commercial" – thương mại) và được gọi là tên miền cấp 1 (top-level domain name). Phần ngay trước dấu “.” trong tên miền trên thông thường là tên của tổ chức (ví dụ như intel) được gọi là tên miền cấp 2 (second-level domain name). Tên miền cấp 3 thông thường được dùng để định nghĩa một máy phục vụ cụ thể nào đó và toàn bộ chúng sẽ được ánh xạ tới một địa chỉ Internet. Tên miền cấp 1 bao gồm các mã quốc gia của các nước tham gia Internet được quy định bằng hai chữ cái theo tiêu chuẩn ISO - 3166 như Việt nam là VN , Anh quốc là UK, Nhật bản là JP, ... và 7 lĩnh vực dùng chung, trong đó có 5 dùng chung cho toàn cầu và 2 chỉ dùng ở Mỹ. Năm tên miền cấp 1 dùng chung là: • .com: công ty thương mại (commercial). • .edu: các trường học, tổ chức giáo dục (education). • .net: các mạng (network) • .int: các tổ chức quốc tế (international organizations) • .org: các tổ chức khác (other organizations). Hai tên miền cấp 1 chỉ dùng ở Mỹ là: • .gov: các tổ chức chính phủ (government). • .mil: các tổ chức quân sự (military). Một địa chỉ IP có thể được ánh xạ cho nhiều tên miền. Điều này cho phép nhiều cá nhân, công ty và các tổ chức chia sẻ cùng một Internet server. Do tầm quan trọng của tên miền nên một trong các bước đầu tiên của việc xây dựng website là thiết lập tên miền bằng cách mua từ các công ty được uỷ quyền bán tên miền ( Các tên miền có đuôi là .com rất thông dụng trong các giao dịch quốc tế. Ngoài ra, các công ty Việt nam cũng thường hay lấy tên miền có đuôi là .com.vn. Để sở hữu tên miền, bạn phải trả chi phí 8 hàng năm. Nếu hết thời hạn sở hữu mà bạn không trả chi phí, tên miền này có thể bị người khác mua lại (và sẽ rất khó khăn khi bạn muốn đòi lại tên miền này từ tay người khác). Trên Internet hiện nay có nhiều người thường mua trước các tên miền của các công ty mà họ dự đoán sẽ nổi tiếng nhưng chưa lập trang web. Sau này khi các công ty này cần tên miền, họ sẽ bán lại với giá rất đắt. Tuy nhiên, bạn vẫn có thể mua trước tên miền mà chưa cần lập website. Hình 1.3 – Phân cấp của các tên miền 2. CÁC DỊCH VỤ CƠ BẢN CỦA MẠNG INTERNET 2.1. World Wide Web (WWW) Đây là dịch vụ thông dụng nhất trên Internet. Để sử dụng dịch vụ này, người dùng cần có một trình duyệt web thường được gọi là browser. Hai trình duyệt thông dụng nhất hiện nay là Internet Explorer của công ty Microsoft và Netscape Navigator của công ty Netscape. Để truy cập vào một trang web, bạn cần phải biết địa chỉ (URL - Uniform Resource Locator) của trang web đó . Ví dụ, để truy cập vào trang web của công ty Microsoft, bạn gõ vào: Do dịch vụ này sử dụng giao thức HTTP (Hypertext Transfer Protocol) nên mỗi địa chỉ trang web luôn được bắt đầu là http:// Lê Đình Duy - ĐH KHTN Tp. HCM Email: ledduy@ieee.org Lê Đình Duy - ĐH KHTN Tp. HCM Email: ledduy@ieee.org 9 Hình 1.4 – Dùng IE để truy cập trang web công ty Microsoft Trong mỗi trang web mà bạn truy cập vào, bạn có thể thấy được văn bản, hình ảnh, âm thanh, ... được trang trí và trình bày hết sức đẹp mắt. Ngoài ra, để có thể di chuyển tới các trang web khác, bạn có thể sử dụng các hyperlink (siêu liên kết). Do con trỏ chuột thường thay đổi hình dạng ngang qua một đối tượng có chứa hyperlink nên đây là cách đơn giản để nhận diện chúng. Sự ra đời của www thực sự là một bước ngoặt lớn của mạng Internet bởi vì nó tạo cơ hội cho bạn truy cập đến một kho thông tin khổng lồ với hàng triệu triệu trang web. Điều này mở ra nhiều cơ hội và thách thức lớn cho công việc của bạn trong hiện tại và tương lai. 2.2. Thư điện tử - Email E-mail (electronic mail) là dịch vụ trao đổi các thông điệp điện tử bằng mạng viễn thông. Các thông điệp này thường được mã hóa dưới dạng văn bản ASCII. Tuy nhiên bạn cũng có thể gửi các tập tin hình ảnh, âm thanh cũng như các tập tin chương trình kèm theo email. E-mail là một trong những dịch vụ nguyên thủy của Internet và được sử dụng rất rộng rãi. Chiếm phần lớn thông lượng trên mạng Internet là e-mail. 10 Giao thức thường dùng để gửi/nhận e-mail là SMTP(Simple Mail Transfer Protocol)/POP3 (Post Office Protocol 3). Để sử dụng dịch vụ email, bạn cần phải có: • Địa chỉ email. Một địa chỉ email thường có dạng name@domainname. Ví dụ, trong địa chỉ email duyld@yahoo.com, duyld đóng vai trò là tên, yahoo.com là tên miền. • Địa chỉ email được quản lí bởi mail server. Tại Việt Nam, các nhà cung cấp dịch vụ email thường là các ISP như VDC, FPT, SaigonNet. Do đó, tên miền trong các địa chỉ email của bạn thường là: hcm.vnn.vn, hn.vnn.vn, hcm.fpt.vn, fpt.vn, saigonnet.vn, ... Tuy nhiên, có rất nhiều website trên Internet cung cấp dịch vụ email miễn phí. Thông dụng nhất vẫn là Yahoo, Hotmail, ... • Tên đăng nhập và mật khẩu để truy cập vào hộp thư: Điều này đảm bảo rằng chỉ có bạn mới có thể đọc và gửi các thư của chính mình. 2.3. Truyền, tải tập tin - FTP FTP (File Transfer Protocol) là dịch vụ dùng để trao đổi các tập tin giữa các máy tinh trên Internet với nhau. FTP thường được dùng để tải các trang web từ những người thiết kế đến các m ... u này thường là thủ thuật mà thôi bởi vì nên nhớ rằng họ cũng phải trả tiền thuê băng thông. Sở dĩ có quảng cáo trên bởi những nhà cung cấp ước lượng rằng băng thông của từng người dùng thay đổi khác nhau và có thể bù qua sớt lại mà bạn không biết. Hơn nữa, đa số các nhà cung cấp dạng này đều yêu cầu bạn chấp nhận chính sách của họ trước khi sử dụng (bạn rất ít khi đọc kĩ chính sách này) mà trong đó cũng nêu rõ điều kiện sẽ yêu cầu bạn trả thêm tiền hoặc ra đi nếu lạm dụng tài nguyên. 2.3. Nhu cầu về không gian đĩa Tiếp đến là ước lượng kích thước không gian đĩa cần cho website. Với các website nhiều ảnh đồ họa, kích thước cần nhiều hơn các website chỉ có văn bản. Tuy nhiên với sự tiến bộ của phần Lê Đình Duy - ĐH KHTN Tp. HCM Email: ledduy@ieee.org Lê Đình Duy - ĐH KHTN Tp. HCM Email: ledduy@ieee.org 281 cứng, hầu hết các dung lượng đĩa mà nhà cung cấp hỗ trợ vượt quá nhu cầu thông thường, ví dụ như 5GB, 10GB, 100GB. 2.4. Các ngôn ngữ lập trình được hỗ trợ Với các website có lập trình, ngôn ngữ lập trình server-side cũng cần phải được xem xét đến một cách thận trọng. Hiện nay thông dụng nhất trên web vẫn là các ngôn ngữ PHP, JSP, ASP. Sử dụng ASP đòi hỏi hệ điều hành phải là Windows và thông thường là chi phí cao hơn so với PHP do PHP được tích hợp sẵn trong Apache và Linux. 2.5. Hệ quản trị cơ sở dữ liệu hỗ trợ Một ứng dụng web thật sự đòi hỏi phải có sự ước lượng giữa chi phí bỏ ra và nhu cầu cần có khi bàn đến việc chọn hệ quản trị CSDL nào để hỗ trợ. Nếu dùng Microsoft thì có Microsoft Access hay Microsoft SQL Server, còn nếu dùng Unix hay Linux thì có mSQL, MySQL, hay PostgreSQL. MS SQL Server thì rất mạnh hơn nhiều so với Access cũng như MySql và PostgreSQL so với mSQL. Tuy nhiên cần chú ý đến vấn đề giá cả, ví dụ như nếu dùng MS. Access thì được cung cấp miễn phí, trong khi dùng MS. SQL Server thì phải trả tiền bản quyền, bảo trì hệ thống, 2.6. Hỗ trợ kĩ thuật Vấn đề này cũng rất quan trọng vì nếu trục trặc trong lúc vận hành hệ thống của bạn không được sửa chữa kịp thời, có thể sẽ dẫn đến mất nhiều cơ hội kinh doanh. Các hình thức hỗ trợ kĩ thuật được cung cấp thường là email, chat hay điện thoại trực tiếp tư vấn. Lưu ý rằng chi phí sẽ tỉ lệ thuận với chất lượng và hình thức tư vấn,. 2.7. Các tính năng khác Ngoài ra cũng cần xem xét đến các tính năng khác như: • Hỗ trợ SSL cho các giao tác an tàn tên mạng như trả tiền, chuyển tiền hay không. • Hỗ trợ việc truy xuất đến các dữ liệu thống kê cho phép tổng hợp và đánh giá các khách hàng tham quan website • Hỗ trợ nghe nhạc và xem video trực tiếp trên mạng mà không cần tải toàn bộ về. • Số email accounts cung cấp và hỗ trợ mailing lists. 282 • Giá cả cho việc sử dụng vượt quá băng thông và dung lượng cho phép • Hỗ trợ giao tiếp (control panel for graphical access) thuận tiện trong việc quản lí website. • Hỗ trợ và tư vấn an ninh của hệ thống • Các component được hỗ trợ sẵn 2.8. Các nhà cung cấp dịch vụ hosting hàng đầu thế giới hiện này • Lunarpages.com • iPowerWeb.com • ICDSoft • Globat.com Tham khảo tại • • • • • Lê Đình Duy - ĐH KHTN Tp. HCM Email: ledduy@ieee.org Lê Đình Duy - ĐH KHTN Tp. HCM Email: ledduy@ieee.org 283 TÀI LIỆU THAM KHẢO 8. Active Server Page Unleashed, Stephan Walth 9. Xây dựng trang web động với ASP, Nhóm tác giả ELICOM 10. ASP Database, Nhóm tác giả SAIGONBOOK 11. Tự học Lập trình Thương mại Điện tử với ASP trong 21 ngày, Nhóm tác giả SAIGONBOOK 12. 13. 14. 15. 16. 284 MỤC LỤC CHƯƠNG 1: GIỚI THIỆU MẠNG INTERNET................................3 1. Sơ lược về mạng Internet............................................................3 2. Các dịch vụ cơ bản của mạng Internet........................................8 3. Khai thác các tài nguyên của mạng Internet .............................11 4. Một số thuật ngữ thông dụng ....................................................20 5. Một số câu hỏi thường gặp .......................................................21 Câu hỏi ..........................................................................................28 Thực hành .....................................................................................29 CHƯƠNG 2: THIẾT LẬP WEBSITE.............................................37 1. Cài đặt webserver......................................................................37 2. Cấu hình webserver...................................................................43 3. Một số vấn đề liên quan đến an toàn ........................................49 4. Một số câu hỏi thường gặp .......................................................51 Câu hỏi ..........................................................................................54 Thực hành .....................................................................................55 CHƯƠNG 3: THIẾT KẾ TRANG WEB .........................................61 1. Giới thiệu về HTML....................................................................61 2. Một số tag cơ bản của HTML ....................................................63 3. Định dạng bảng biểu..................................................................69 4. Form và các thành phần của form.............................................71 5. Frame ........................................................................................77 6. Cascading Style Sheet ..............................................................79 Thực hành .....................................................................................83 Lê Đình Duy - ĐH KHTN Tp. HCM Email: ledduy@ieee.org Lê Đình Duy - ĐH KHTN Tp. HCM Email: ledduy@ieee.org 285 CHƯƠNG 4: CÁC NGÔN NGỮ SCRIPT HỖ TRỢ LẬP TRÌNH WEB .....................................................................................................129 1. Giới thiệu về VBScript và JavaScript.......................................129 2. Sử dụng VBScript ....................................................................130 3. Sử dụng JavaScript .................................................................139 4. Sử dụng VBScript và JavaScript trong các trang web ............144 5. Dấu mã VBScript/JavaScript ...................................................147 6. Một số ví dụ minh họa .............................................................148 Thực hành ...................................................................................157 CHƯƠNG 5: NHẬP MÔN ASP...................................................159 1. Giới thiệu về ASP ....................................................................159 2. Các khái niệm cơ bản về ASP.................................................160 3. Xử lí dữ liệu nhập từ người dùng............................................163 4. Xử lí các kết xuất dữ liệu.........................................................165 5. Kết nối với cơ sở dữ liệu .........................................................172 6. Những câu hỏi thường gặp .....................................................180 Thực hành ...................................................................................184 Bài tham khảo: Lập trình Web ASP với tiếng Việt Unicode ........185 Bài tham khảo: Kết xuất dữ liệu ra dạng Excel từ trang ASP .....195 CHƯƠNG 6: ASP NÂNG CAO...................................................199 1. Đối tượng Response ...............................................................199 2. Đối tượng Request ..................................................................201 3. Application và Session ............................................................208 4. Cookies....................................................................................213 5. Đối tượng Server .....................................................................216 6. Xử lí lỗi với đối tượng ASPError..............................................218 7. ADO nâng cao .........................................................................219 8. Đối tượng FileSystemObject ...................................................225 286 9. Gửi email bằng CDONTS........................................................227 10. Một số kĩ thuật khác...............................................................233 Bài tham khảo: Hiển thị hình ảnh từ cơ sở dữ liệu trong các ứng dụng web .......................................................................236 Bài tham khảo: Phương pháp hỗ trợ giới hạn truy cập trang web.... .....................................................................................................241 Bài tham khảo: Bảo vệ cơ sở dữ liệu Access trong các ứng dụng web..............................................................................245 Bài tham khảo: Bảo vệ ứng dụng web chống tấn công kiểu SQL Injection........................................................................248 CHƯƠNG 7: ỨNG DỤNG MINH HỌA CỬA HÀNG SÁCH TRỰC TUYẾN .............................................................................253 1. Giới thiệu về ứng dụng............................................................253 2. Tổ chức website ứng dụng......................................................253 3. Thiết kế cơ sở dữ liệu..............................................................253 4. Kết nối với cơ sở dữ liệu .........................................................255 5. Thao tác truy vấn trên cơ sở dữ liệu .......................................256 6. Thao tác thêm một mẩu tin vào cơ sở dữ liệu.........................258 7. Thao tác cập nhật một mẩu tin trên cơ sở dữ liệu ..................259 8. Thao tác xóa một mẩu tin trên cơ sở dữ liệu ..........................262 9. Sử dụng Cookies.....................................................................262 10. Những câu hỏi thường gặp ...................................................274 Thực hành ...................................................................................276 Đồ án ...........................................................................................277 Bài tham khảo: Web Hosting – Dịch vụ thuê chỗ website trên Internet ........................................................................................278 TÀI LIỆU THAM KHẢO...............................................................283 MỤC LỤC ....................................................................................284 Lê Đình Duy - ĐH KHTN Tp. HCM Email: ledduy@ieee.org Lê Đình Duy - ĐH KHTN Tp. HCM Email: ledduy@ieee.org
Tài liệu đính kèm: