Đề tài Tìm hiểu về Web Caching và phân tích thiết kế và xây dựng hệ thống

 

Mục lục

LỜI NÓI ĐẦU 5

CHƯƠNG I: TỔNG QUAN INTERNET - INTRANET 6

I.1 Internet là gì ? 6

I.2 Intranet là gì ? 6

I.3 Internet Information Server là gì ? 6

I.3.1 Internet Information Server làm việc như thế nào ? 6

I.4 Web Browser URL Request 7

I.5 Web Server Response 7

I.6 Trang HTML tĩnh (Static Page) 7

I.7 Trang động (Dynamic Page) 7

I.8 Sử dụng Internet Information Server như thế nào ? 8

I.9 Các kịch bản Intranet 9

I.10 Các kịch bản Internet. 9

CHƯƠNGII : TÌM HIỂU WEB CACHING 11

II.1 Các thuật ngữ cơ bản 11

II.1.1 Client – Server 11

II.1.2 Proxy 11

II.1.3 Cache 12

II.1.4 Các đối tượng Web( Web Object) 12

II.1.5 Nhận biết tài nguyên (Resource Indentifier) 12

II.1.6 Các giao thức truyền Web 12

II.2 Định nghĩa Web Caching 13

II.3 Tại sao phải sử dụng Cache đối với Web ? 13

II.3.1 Thời gian trễ 13

II.3.2 Băng thông 13

II.3.3 Server Load 14

II.4 Phân loại Web caching 14

II.4.1 Browser Caches (Client Cache) 14

II.4.2 Caching Proxy (Server Cache) 14

II.5 Web caching hoạt động như thế nào ? 14

II.5.1 Các nguyên tắc chung 14

II.5.1.1 HTTP requests 15

II.5.1.2 Yêu cầu đối với server gốc 15

II.5.1.3 Yêu cầu Proxy 15

II.5.1.4 Yêu cầu không phải là HTTP Proxy. 16

II.5.2 Khả năng lưu trữ 16

II.5.2.1 Bảo mật 16

II.5.2.2 Các phương thức yêu cầu: 17

II.5.2.3 Thời gian kết thúc và tính xác thực 17

II.5.3 Cache-Hits, Cache-Misses 18

II.5.4 Quá trình kiểm tra. 18

II.5.4.1 Last-modified 18

II.5.4.2 Entity Tags 19

II.5.5 Thay thế trong cache 19

II.5.5.1 Giá trị ít sử dụng gần đây nhất (Least Recently Used)(LRU) 20

II.5.5.2 First In, First Out (FIFO) 20

II.5.5.3 Đối tượng ít được sử dụng (Least Frequently Used)(LFU) 20

II.5.5.4 Kích thước 20

II.6 Sự kế thừa của các Cache. 20

II.6.1 Cache kế thừa hoạt động như thế nào 21

II.6.2 Các lợi ích của kế thừa Cache 21

II.6.2.1 Hiệu năng 21

II.6.2.2 Thay đổi quá trình định tuyến mặc định 22

II.7 Cách cấu hình trên các máy Client 22

II.7.1 Proxy Addresses 22

II.7.2 Cấu hình bằng tay 23

II.7.2.1 Cấu hình Microsoft Internet Explore 23

II.7.3 Cấu hình proxy tự động (Proxy Auto-Configuration Script) 24

II.7.4 Cách viết một PAC 25

II.7.5 Cấu hình cho PAC Script 25

CHƯƠNG III: NGÔN NGỮ ACTIVE SERVER PAGE (ASP) 27

III.1 Active Server Pages là gì? 27

III.2 Mô hình của Active Server Pages 27

III.2.1 Cách viết các file ASP Script 27

III.2.2 Cú pháp của ASP 28

III.2.2.1 Delimiter (dấu ngăn cách) 28

III.2.2.2 Statement (phát biểu) 28

III.2.2.3 Kết hợp HTML trong các phát biểu 28

III.2.2.4. Script tag và việc tạo thủ tục với ngôn ngữ script 29

III.2.2.5. Include file 29

III.2.2.6 Cách dùng Server Script để thay đổi Client Script 30

III.3 Các Built-In Object của ASP 31

III.4 Sử dụng các method 31

III.5 Sử dụng các Property 31

III.5.1 Request object 32

III.5.2 Response object 32

III.5.3 Session object 33

III.5.4 Application object 33

III.5.5. Server object 34

III.6 Lấy thông tin từ FORM 34

III.7 Sử dụng QueryString 35

III.8 Sử dụng Form collection 35

III.9 Gửi thông tin trong cùng một file .asp 35

III.10 Gửi thông tin giữa các file .asp 36

III.11 Sử dụng Cookies Collection 37

III.12 Sử dụng các Component của ASP 37

III.12.1 Tạo các instance của các component 37

III.12.2 Database Access Component 38

III.13 Phát triển một ứng dụng ASP 40

III.13.1 Cách dùng File Global.asa 41

III.13.2 Các sự kiện Application-start và Session-start 41

III.13.3 Các sự kiện Application-end và Session-end 41

III.13.4 Kết thúc một Session 42

III.13.5 Quản lý các Session 42

III.13.6 Quản lý Application 43

III.13.7 Hoạt động của Component 44

CHƯƠNG IV: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 45

IV.1 Phân tích hệ thống 45

IV.1.1 Tổng quan về học và thi trắc nghiệm trực tuyến 45

IV.2 Các yêu cầu của hệ thống 46

IV.3 Mô tả các chức năng của hệ thống 47

IV.3.1. Đăng nhập vào hệ thống. 47

IV.3.1.1 Đăng nhập 47

IV.3.1.2 Thay đổi mật khẩu 48

IV.3.2 Các chức năng của người quản trị 48

IV.3.2.1 Thêm sinh viên 48

IV.3.2.2 Xóa một sinh viên khỏi danh sách 49

IV.3.2.3. Chỉnh sửa thông tin sinh viên 49

IV.3.2.4 Thêm bài học mới 49

IV.3.2.5 Chỉnh sửa nội dung bài học 49

IV.3.2.6 Xóa một bài học 49

IV.3.2.7. Thêm câu hỏi thi. 50

IV.3.2.8 Xóa câu hỏi 50

IV.3.2.9 Chỉnh sửa câu hỏi. 50

IV.3.2.10 Tạo báo cáo thống kê. 50

IV.3.3 Các chức năng của sinh viên. 50

IV.3.3.1 Đăng kí thành viên 51

IV.3.3.2 Xem nội dung bài học 51

IV.3.3.3 Kiểm tra lại kiến thức 51

IV.3.3.4 Thi 52

IV.3.3.5 Tạo các ghi chú 52

IV.3.3.6. Tạo kế hoạch học tập 52

IV.4 Các sơ đồ luồng dữ liệu 53

IV.4.1 Ta có sơ đồ phân cấp chức năng. 53

IV.4.2 Sơ đồ mức ngữ cảnh 53

IV.4.3 Sơ đồ DFD mức 0 54

IV.4.4 Sơ đồ luồng dữ liệu DFD mức 1 55

IV.4.4.1 Admin quản trị các kì học 55

IV.4.4.2 Admin quản trị bài học – Sinh viên xem bài học 56

IV.4.4.3 Admin quản trị câu hỏi thi 57

IV.4.4.4 Phần thông tin đăng kí thành viên 58

IV.4.4.5 Sinh viên chọn chức năng ghi chú cho bài học 59

IV.4.4.6 Sinh viên chọn chức năng thêm kế hoạch(kh) 60

IV.4.4.7 Báo cáo thống kê 60

IV.4.4.8 Sinh viên chọn chức năng thi 61

IV.4.5 Thiết kế chi tiết về cơ sở dữ liệu 61

IV.4.6 Quan hệ giữa các bảng 63

IV.4.7 Thiết kế giao diện 64

CHƯƠNG V: CÀI ĐẶT VÀ THỬ NGHIỆM 66

V.1 Một số hình ảnh của chương trình 66

KẾT LUẬN 69

Tài liệu tham khảo 70

 

 

docx70 trang | Chia sẻ: netpro | Lượt xem: 6444 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Tìm hiểu về Web Caching và phân tích thiết kế và xây dựng hệ thống, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
r gốc, hay từ một cache khác. Cache cha có thể sử dụng băng thông tới server gốc để đáp ứng những yêu cầu từ cache con của nó. Hình vẽ dưới đây minh họa về một cache thừa kế II.6.2 Các lợi ích của kế thừa Cache II.6.2.1 Hiệu năng Hiệu năng thì luôn làm cho mọi người muốn gia nhập vào hệ thống kế thừa. Tuy nhiên hệ thống caching kế thừa không phải là điều thần kì, nó không đảm bảo được chắc chắn hệ thống sẽ cải thiện được hiệu năng. Nếu bạn muốn tìm kiếm hiệu năng tốt hơn thì bạn phải quyết định điều gì là quan trọng đối với bạn. Giảm băng thông ? Giảm độ trễ. Bạn nên tạo ra một hệ thống cho việc giám sát hệ thống hiệu năng Cache của bạn. Vậy để có một hệ thống hoạt động tốt thì cần chú ý những điểm sau: + Một số đối tượng không tìm thấy trong cache của nó nhưng sẽ được tìm thấy trong cache của hàng xóm của nó. Hay nói cách khác là bạn có thể nhận được cache-hits từ cache hàng xóm + Cache-hits từ cache hàng xóm thì được phân bố nhanh hơn so với cache-misses ở server gốc + Cache misses từ cache cha thì chậm hơn so với đáp ứng từ phía server gốc. Nếu một trong các điều kiện trên đây không thoả mãn thì hiệu năng hoạt động cache của bạn sẽ bị ảnh hưởng. tuy nhiên chúng hoạt động đúng hay sai còn ảnh hưởng của rất nhiều các nhân tố. Ví dụ như nếu cache tìm kiếm một cách chậm chạp thì nó có thể chậm hơn so với kết nối trực tiếp đến server gốc. Và các hành vi của chúng cũng có thể thay đổi theo thời gian, một ngày nào đó cache cha hoạt động rất nhanh nhưng những ngày tiếp theo nó lại hoạt động một cách chậm chạp II.6.2.2 Thay đổi quá trình định tuyến mặc định Cache cha thì rất hữu ích khi bạn cần tăng tốc một luồng dữ liệu web. Một ví dụ là việc vượt qua Filewall. Đối với các tổ chức thì việc sử dụng filewall để bảo vệ mạng nội bộ của họ. Có rất nhiều cách để triển khai một filewall. Một số thì ngăn chặn không cho người sử dụng có thể kết nối trực tiếp với các server bên ngồi. Họ khố tất cả các đường kết nối đi ra cho tất cả các cổng bao gồm cả cổng HTTP(port 80). Trong trường hợp này chỉ có một cách để có thể vượt ra server bên ngồi là thông qua filewall proxy, mà ở đó có thể đã được đặt cache. Nếu bạn có một caching proxy trong mạng nội bộ của bạn thì filewall proxy là cache cha của tất cả các yêu cầu của bạn để ra bên ngồi. II.7 Cách cấu hình trên các máy Client Có hai kĩ thuật mà bạn có thể sử dụng trong việc cấu hình cho các Client. Một trong những kĩ thuật cũ đó là cấu hình bằng tay (manual configuration). Client sẽ được đưa ra một hay nhiều địa chỉ proxy để sử dụng. Và kĩ thuật thứ 2 được đưa ra bởi hàng Netscape đó là cấu hình proxy tự động(proxy auto configuration). Đối với cách cấu hình này thì trình duyệt sẽ tự động thi hành một đoạn lệnh Java Script trước mỗi yêu cầu. Đoạn Script sẽ đưa về cho trình duyệt một danh sách các địa chỉ proxy mà ở đó có thể chuyển các yêu cầu đi. Cấu hình tự động sẽ tăng cường kiểm sốt lỗi hơn so với cách cấu hình bằng tay. Ví dụ như nếu trình duyệt sử dụng proxy đầu tiên trongdanh sách mà sau đó nó bị hỏng thì cái tiếp theo trong danh sách sẽ được sử dụng. Mặc dù cấu hình tự động thì mềm dẻo hơn, nó yêu cầu user phải có địa chỉ của file Java Script. Để có thể loại trừ được bước này một số công ty đã đề nghị sử dụng một giao thức đó là web proxy auto-discovery. Khi ta khởi động một trình duyệt thì nó sẽ sử dụng DHCP(Dynamic Host Configuration Protocol) và DNS(Domain Name System) để xác định proxy auto-configuration script. Nếu nó tìm thấy thì nó sẽ tự động ghi lại kết quả của script đó là bắt đầu sử dụng caching proxy. II.7.1 Proxy Addresses Cũng như tất cả các dịch vụ Internet khác như mail hay FTP thì proxy server như là một địa chỉ bao gồm cả địa chỉ IP và số cổng (port number). Tuy nhiên không giống những dịch vụ khác proxies thì không có cổng mặc định. Vì thế ta có thể nói là “kếtnối đến FTP server tại ftp.isp.net ” chứ không nói rằng “sử dụng proxy tại proxy.isp.net ”. Một địa chỉ proxy thì luôn đi kèm với cổng của nó. Vì vậy theo mặc định thì ta có thể viết đồng thời chúng sau dấu hai chấm. Ví dụ 172.16.4.1:8080 squid.ircache.net:3128 proxy1.bigisp.net:80 Mặc dù nó không có cổng mặc định nhưng hầu hết các proxies sử dụng các port sau: 3128,8080,80 hoặc 1080. Ngày nay thì hầu hết các Web caches thì có thể lắng nghe các yêu cầu trên nhiều cổng tại một thời điểm. Vì vậy có thể đáp ứng được tốt hơn các yêu cầu của người dùng. Sau đây ta sẽ nghiên cứu cách cấu hình bằng tay đối với một Client. II.7.2 Cấu hình bằng tay Như trên ta đã đưa ra việc cấu hình bằng tay đơn giản là thiết lập một địa chỉ proxy cho một hoặc nhiều giao thức kết nối như HTTp, FTP, SSL. Thông thường thì một proxy thì hỗ trợ tất cả bởi vây cùng một địa chỉ Proxy được sử dụng cho tất cả các giao thức. Tuỳ thuộc vào mục đích sử dụng proxy của bạn mà ban có thể cần hay không cần cấu hình các protocol. Nếu bạn sử dụng ở sau filewall thì bạn nó sẽ yêu cầu proxy cho tất các các yêu cầu của bạn. Tuy nhiên cấu hình bằng tay thì cũng có một số nhược điểm. Nó sẽ yêu cầu bạn sử dụng để cấu hình cho một số lượng lớn, ngồi ra đối với những người dùng thông thương thì yêu cầu một cách trong sáng và rõ ràng. Cộng thêm bạn phải cung cấp những cho những trình duyệt khác nhau và các phiên bản khác nhau của cùng một trình duyệt. Khi một proxy bị lỗi thì trình duyệt sẽ không thử kết nối trực tiếp hay sử dụng một proxy khác. Đó là những yếu điểm của việc cấu hình bằng tay. Say đây ta sẽ cấu hình mẫu trong một trình duyệt thông dụng nhất hiện nay đó là Internet Explore. II.7.2.1 Cấu hình Microsoft Internet Explore Để cấu hình cho trình duyệt này bạn chọn menu Tool sau đó chọn Internet Options, ta sẽ thấy có 7 tab, chọn Tab connection Chọn LAN Settings để cấu hình cho proxy, tại đây một cửa sổ xuất hiện sau đó bạn thiết lập địa chỉ proxy và cổng của nó như hình dưới đây. Nếu bạn muốn sử dụng nhiều proxy khác nhau cho các giao thức khác nhau thì bạn có thể chọn nút Advanced . Khi đó bạn có thể điền các proxy khác nhau đối với mỗi giao thức như hình dưới đây. II.7.3 Cấu hình proxy tự động (Proxy Auto-Configuration Script) Proxy Auto-Configuration Script (PAC) là một kĩ thuật được thiết kế để khắc phục những vần đề hạn chế của việc cấu hình bằng tay. Thay vì việc cấu hình bằng tay các địa chỉ của proxy thì trình duyệt sẽ tự động chạy một script khi có yêu cầu. Khi đó nó sẽ trả về một danh sách các địa chỉ proxy mà trình duyệt có thể thử cho đến khi yêu cầu được chuyển đi thành công. Script PAC thì được viết bằng Java Script. Vì vậy nếu trình duyệt nào hỗ trợ Java Script thì sẽ hỗ trợ PAC. Netscape là hãng sáng chế ra PAC và đã đưa vào trong Version 2 của trình duyệt này và Microsoft cũng đưa PAC vào từ Version 3. Đặc điểm tốt nhất của PAC chính là cho phép người quản trị có thể cấu hình lại mà không cần sự can thiệp của người sử dụng. Nếu địa chi proxy thay đổi thì người quản trị dễ dàng thay đổi PAC script để tham chiếu tới sự thay đổi đó. Các trình duyệt sẽ nhận về các PAC URL vào mọi thời điểm chúng bắt đầu nhưng sẽ không xuất hiện trong lúc nó đang chạy trừ trường hợp người dùng yêu cầu reload lại. Một đặc điểm khác cũng được coi là cải tiến cho việc cấu hình bằng tay của đó chính là khả năng tìm lỗi. Nếu proxy đầu tiên bị lỗi thì nó sẽ tự động cố gắng tìm những cái tiếp theo cho đến cuối cùng của danh danh proxy mà nó nhận được ban đầu. Một lỗi được tìm thấy khi trình duyệt nhận được lỗi Connection Refused và thời gian thiết lập kết nối vượt quá thời gian cho phép(time out). II.7.4 Cách viết một PAC Tên của hàm để thực hiện một PAC đó là FindProxyForURL() và có hai tham số url và host. Giá trị trả về chính là chuỗi kí tự có thể để gửi yêu cầu đi. Nó có thể là một hoặc nhiều dòng cách nhau bằng dấu hai chấm. PROXY host:port SOCKS host:port DIRECT Ví dụ "PROXY proxy.web-cache.net:3128; DIRECT; SOCKS socks.web-cache.net:1080;" Khi bạn viết FindProxyForURL() thì bạn muốn xây dựng trong nó chức năng tự phân tích URL. Để có thêm những thông tin chi tiết bạn có thể tham khảo tại PAC phải được đặt trên Web server và server phải được cấu hình để trả về giá trị MIME Content-type header trong đáp ứng của chúng. Nếu Content-type không thiết lập Application/x-ns-proxy-autoconfig, thì trình duyệt sẽ không nhận biết được PAC script. Và phần mở rộng của file này phải là .pac và sau đó chỉ dẫn cho HTTP server trả lại Content-type cho tất cả các URIs với phần mở rộng này. Giả sử một Webserver chạy Apache ta có thể thêm dòng sau: Srm.conf.AddType application/x-ns-proxy-autoconfig.pac II.7.5 Cấu hình cho PAC Script Khi ta đã viết và đặt PAC script lên server thì ta phải cấu hình browser để có thể sử dụng chúng. Tất cả những gì ta cần làm là đưa PAC Script URL trong cấu hình phù hợp với trình duyệt. Với Netscape ta đặt ở chế độ proxy auto configuration URL trong cùng cửa sổ để cấu hình với proxy bằng tay. Ta chọn Edit =>Preferences… Sau đó chọn Advanced chọn Select Proxies. Chọn “Automatic proxy configuration” như hình vẽ: Còn nếu bạn sử dụng Microsoft Internet Explore thì bạn có thể làm tương tự như trong phần cấu hình bằng tay nhưng bạn chọn chế độ use automatic configuration script như hình vẽ và thêm URL của file PAC vào trong ô địa chỉ. CHƯƠNG III: NGÔN NGỮ ACTIVE SERVER PAGE (ASP) III.1 Active Server Pages là gì? Microsoftâ Active Server Pages (ASP) là một môi trường sever-side scripting cho phép ta tạo ra và chạy các ứng dụng Web động, tương tác với client một cách hiệu quả. ASP hoạt động dựa vào các script do người lập trình tạo sẵn. Khi ta cho script chạy trên server thay vì chạy ở client thì Web server của ta sẽ làm mọi công việc cần thiết để tạo ra một trang Hypertext Markup Language (HTML) trả về cho Browser hiển thị, như vậy ta không phải quan tâm rằng các Web browser có thể xử lý trang Web hay không vì server đã làm mọi việc. Active Server Pages chạy trên các môi trường sau đây: - Microsoft Internet Information Server version 3.0 trở lên trên Windows NT Server 5.0 hoặc 6.0 - Microsoft Peer Web Sevices version 3.0 trên Windows NT Workstation. - Microsoft Personal Web Server chạy trên Windows 98. III.2 Mô hình của Active Server Pages Các Script của ASP chứa trong các text file có đuôi là .asp. Trong Script có chứa các lệnh của một ngôn ngữ script nào đó. Browser gửi một Request tới Server yêu cầu một file ASP. Khi Web Server nhận được request của browser, nó sẽ đọc từ đầu đến cuối file ASP sau đó thực hiện các lệnh script và trả lại kết quả cho browser dưới dạng file HTML. Client Disk Dynamic Page Add the HTTP Wrapper HTTP Encoding VBScript or JavaScript Active Server Pages HTTP Decoding Server Request Page III.2.1 Cách viết các file ASP Script Một file ASP có tên mở rộng .asp và là một file text như những file HTML khác. Một file .asp có thể chứa bất cứ sự kết hợp nào sau đây: Text HTML tag Các lệnh script của một ngôn ngữ script nào đó chẳng hạn VBScript hay JScript. Một script là một chuỗi các lệnh script thực hiện một công việc nào đó, nó có thể là: Gán trị cho biến Yêu cầu Webserver gửi thông tin đến Browser gọi là Output expression (ví dụ: ) Kết hợp các lệnh script thành các thủ tục hay hàm. Việc thi hành một script là quá trình gửi chuỗi các lệnh tới Scripting Engine, tại đây ASP sẽ thông dịch các lệnh này và thi hành nó. Script được viết bằng một ngôn ngữ với các luật được đặc tả nào đó, nếu ta muốn sử dụng một scripting language nào thì trên server phải chạy Scripting Engine cho ngôn ngữ đó. Ví dụ, VBScript là ngôn ngữ script mặc định cho Active Server Pages, vì vậy scripting engine cho VBScript được cài đặt thường trú trên server. ASP cũng cung cấp sẵn Scripting Engine cho JScript. III.2.2 Cú pháp của ASP ASP chỉ cung cấp một môi trường để xử lý các script mà ta chèn vào trong các file .asp chứ ASP không phải là một ngôn ngữ script. Tuy nhiên, ASP qui định việc chèn các script phải tuân theo cú pháp nhất định của ASP như sau: III.2.2.1 Delimiter (dấu ngăn cách) Trong trang ASP ta sử dụng các dấu để ngăn cách phần văn bản HTML với phần script, bất cứ một phát biểu script nào cũng đều phải nằm giữa 2 dấu ngăn cách . Ví dụ: sẽ gán chuỗi “climbing” cho biến sport. Hoặc để xuất giá trị của biến sport ra Browser (biểu thức này được gọi là Output Expression) III.2.2.2 Statement (phát biểu) Một phát biểu, trong VBScript hay trong ngôn ngữ Script khác là một cấu trúc dùng để thực hiện một thao tác, phát biểu phải được khai báo hoặc định nghĩa trong ngôn ngữ script mà ta sử dụng. Ví dụ: đoạn script sau dùng phát biểu If … Then … Else của VBScript. =#12:00:00 AM#) then greeting= “Good Morning Else greeting= “Hello !” End If %> III.2.2.3 Kết hợp HTML trong các phát biểu Chúng ta có thể chèn HTML text giữa các phát biểu của script. Ví dụ: =#12:00:00 AM#) then%> Good Morning! Hello ! III.2.2.4. Script tag và việc tạo thủ tục với ngôn ngữ script Các thủ tục phải được đặt bên trong tag và , và cho phép ta sử dụng ngôn ngữ script khác với ngôn ngữ mặc định đã cài đặt trong môi trường ASP (là VBScript). Ví dụ: function MyFunction() { Response.Write (“MyFunction Called”) } Trong ví dụ trên hàm MyFunction được định nghĩa với ngôn ngữ JScript khác với ngôn ngữ mặc định là VBScript. III.2.2.5. Include file Khi tạo một ứng dụng Web, bao gồm nhiều trang ASP, nếu như tồn bộ các trang này đều cần sử dụng những thông tin chung như các hằng, hyperlink, … để tránh việc định nghĩa lại các giá trị này ở mỗi trang ASP cho phép ta include file bằng cách sử dụng dẫn hướng tiền xử lý sau: Trong đó file được include phải có phần mở rộng là .inc, filename bao gồm cả đường dẫn và tên file. Tham số virtual chỉ định đường dẫn bắt đầu bằng một Virtual Directory. Tham số file chỉ định đường dẫn bắt đầu với tên thư mục chứa filename cần include. + Từ khóa Virtual Dùng từ khóa Virtual để chỉ một đường dẫn bắt đầu bằng một thư mục ảo (Virtual Directory). Ví dụ tên file là dangky.inc nằm trong thư mục ảo là /dangkymay, thì hàng lệnh sau đây sẽ chèn nội dung của dangky.inc vào file có chứa dòng lệnh này. + Từ khóa File Từ khóa File để chỉ đường dẫn mà bắt đầu bằng thư mục chứa file cần include. Ví dụ : Ta cũng có thể dùng tham số file với đường dẫn tương đối “. . / “ để include file từ thư mục cha hay thư mục có cấp cao hơn. Ví dụ : + Các lưu ý khi sử dụng Include file Một file được include cũng có thể gọi include một file khác. Một file ASP cũng có thể gọi include một file nhiều lần nhưng với điều kiện là lệnh include không được sinh ra vòng lặp. Ví dụ, file First.inc gọi include file Second.inc thì file second.inc không được gọi include file First.inc và cũng không được gọi include file của chính nó. ASP thực thi include file trước khi thực thi các lệnh script, cho nên ta không thể dùng các lệnh script để tạo ra tên của file cần include. Ví dụ, đoạn script sau sẽ không mở file Header.inc bởi vì ASP thực thi include trước khi gán tên file cho một biến. "--> Không được đặt include file bên trong các dấu phân cách của các script Next %> III.2.2.6 Cách dùng Server Script để thay đổi Client Script Mặc dù ASP chủ yếu được dùng để xử lý script trên môi trường Server-Side, nhưng ta cũng có thể mở rộng nó để tạo ra các client-side script cho phép xử lý ở browser. ASP thực hiện được điều này bằng cách phối hợp các client-side script và các server-side script xen kẽ nhau như sau : <!-- client script client script client script . . . . . --> III.3 Các Built-In Object của ASP ASP cung cấp sẵn 5 đối tượng (object) khi sử dụng không cần phải tạo ra các instance cho chúng, mỗi đối tượng thực hiện một số chức năng riêng khác nhau. Các đối tượng này được gọi là các Built-in-Object, bao gồm: Request: lấy thông tin từ một user Response: gửi thông tin tới một user Server: điều khiển môi trường hoạt động của ASP Session: lưu giữ thông tin về 1 session của user Application: chia sẻ thông tin giữa các user trong cùng một ứng dụng Cú pháp của các đối tượng Cú pháp của các đối tượng không phụ thuộc vào scripting language mà người lập trình sử dụng. Để truy xuất thông tin của một đối tượng ta dùng các phương thức (method) và các thuộc tính (property). III.4 Sử dụng các method Một method là một procedure hoạt động trên một đối tượng nào đó. Cú pháp tổng quát của method là: Object.Method [parameters] parameter là các thông số của method III.5 Sử dụng các Property Một property là một tính chất được đặt tên của một đối tượng. Chúng định nghĩa các tính chất của đối tượng như kích thước, màu, vị trí trên màn hình hay thể hiện các trạng thái của đối tượng như được phép (enable) hay không được phép (disable). Cú pháp tổng quát của property là: Object.Property [parameters] parameter là các thông số của Property Parameter thường là các biến, dữ liệu, chuỗi ký tự, hoặc là một URL. III.5.1 Request object Request Object lấy các giá trị mà client browser gởi lên server thông qua một HTTP request. Đây là cách mà các ứng dụng ASP lấy được thông tin gửi tới từ user, ví dụ: khi user Submit thông tin từ một FORM. Request Object cho phép truy xuất tới bất kỳ thông tin nào do user gởi tới bằng giao thức HTTP như: Các thông tin chuẩn nằm trong các biến Server (variable server) Các tham số được gửi tới bằng phương thức POST Các thông tin được gửi tới bằng phương thức GET Các cookies (là các thông tin của user được gửi kèm theo) tới từ Browser. Các Client Certificates Request Object có 5 collection sau: QueryString Nhận giá trị của các biến trong HTML querystring, đó là giá trị được gởi lên theo sau dấu chấm hỏi (?) trong HTML request. Form Nhận các giá trị của các phần tử trên FORM sử dụng POST method. Cookies Cho phép nhận những giá trị của cookies trong một HTML request ServerVariable Nhận các giá trị của các biến môi trường. ClientCertificate Nhận certificate fields từ request của Web browser. Cú pháp tổng quát khi sử dụng Request object là: Request.CollectionName(variable) Variable là tên biến trong Collection muốn truy xuất thông tin. Cũng có thể sử dụng cú pháp: Request(variable) Khi đó thứ tự tìm kiếm sẽ tuân theo danh sách các collection trên và khi gặp biến đầu tiên trùng tên thì trả về giá trị của biến đó. Vì thế nếu có nhiều hơn một biến với cùng một tên trong các collection khác nhau thì nên sử dụng dạng cú pháp tổng quát. Sau đây là một số ứng dụng của đối tượng Request: III.5.2 Response object Việc gửi thông tin tới cho user được thực hiện nhờ đối tượng Response qua việc gọi các phương thức sau: Response.Write : Gửi thông tin trực tiếp tới user Response.Redirect : Gửi thông tin trực tiếp tới user ở một URL khác với URL đã yêu cầu. Response.ContentType: Thay đổi kiểu của nội dung cần gửi. Response.Cookies : Thiết lập các giá trị cookies. Response.Buffer : Đệm thông tin xuất. Gửi văn bản tới user : Response.Write[variant] trong đó variant là dữ liệu bất kỳ mà ngôn ngữ script đang sử dụng chấp nhận. Chuyển hướng kết nối đến URL khác : Response.Redirect URL Thiết lập HTTP ContentType : Response.ContentType=ContentType Ví dụ: Browser sẽ hiển thị trang nhận được như một văn bản bình thường chứ không phải như một văn bản HTML. III.5.3 Session object Đối tượng Session dùng để lưu trữ các thông tin của một user-session. Các giá trị lưu trữ trong session sẽ không bị loại bỏ đi khi user chuyển từ trang này sang trang khác trong một ứng dụng, chúng chỉ bị loại bỏ khi user session-end. Web server tự động tạo ra Session object khi một trang web trong ứng dụng được yêu cầu bởi một user mà user này chưa có một session. Server sẽ tự động hủy bỏ user-session khi nó hết hạn hoặc bị bỏ (abandon). Cú pháp: Session.Properties | Method Properties SessionID trả về số định danh session cho user. Mỗi session sẽ được server cho một số định danh duy nhất khi nó được tạo ra. Timeout chỉ thời gian sống của session object, nếu user không refresh hay request một trang trong khoảng thời gian qui định, session sẽ kết thúc. Method Abandon hủy bỏ một session. Events Session_OnStart xảy ra khi user request lần đầu tiên 1 trang của ứng dụng Session_OnEnd xảy ra khi session end, hoặc khi không có request nào trong khoảng timeout (mặc nhiên là 20 phút) Các thông tin lưu giữ trong Session được giữ nguyên trong suốt thời gian session tồn tại và có giá trị trong cả khu vực của session. Ví dụ: III.5.4 Application object Application dùng để chia xẻ thông tin giữa các user của một ứng dụng nào đó. Một ứng dụng ASP được định nghĩa là tất cả các file .asp trong một thư mục ảo và các thư mục con của nó. Bởi vì Application object có thể được chia xẻ bởi nhiều user, nên hai phương thức Lock và Unlock bảo đảm nhiều user không thể thay đổi một property đồng thời. Methods: Lock Ngăn chặn các user khác bổ sung property của Application object. Method này sẽ khóa các client khác không cho thay đổi các biến được lưu trữ trong application object, đảm bảo tại một thời điểm chỉ có một user được phép thay đổi và truy xuất các biến của object này. Unlock Cho phép các user khác bổ sung các biến của Application object. Events Application_OnStart Event-procedure được thi hành trước khi một session mới được tạo ra. Application_OnEnd Event-procedure được thi hành khi thốt khỏi application, ngay sau Session_OnEnd event. III.5.5. Server object Property ScriptTimeOut khoảng thời gian chạy của một script Methods CreateObject tạo một instance cho một server component Cú pháp: Server.CreateObject(ProgID), trong đó ProgID là tên của đối tượng cần tạo. HTMLEncode áp dụng sự mã hóa HTML lên một string được chỉ định MapthPath ánh xạ một đường dẫn tương đối hoặc virtual tới một thư mục vật lý trên server. URLEncode mã hóa một string thành dạng URL III.6 Lấy thông tin từ FORM HTML Form là cách thứ thông thường để trao đổi thông tin giữa Webserver và user. HTML Form cung cấp nhiều cách nhập thông tin của user như: text box, radio button, check box, submit, reset, password, … và hai phương thức gửi thông tin là POST hoặc GET. Ứng dụng ASP có thể sử dụng Form để tạo ra sự liên lạc dữ liệu giữa các trang theo một trong ba cách: File .htm chứa các form và gửi (submit) giá trị của nó tới một file .asp File .asp có thể tạo Form và gửi giá trị tới một file .asp khác. File .asp có thể tạo Form và gửi thông tin tới ngay chính nó. Khi lấy thông tin từ Form, đối tượng Request có thể lấy các loại thông tin khác nhau, bằng cách: III.7 Sử dụng QueryString QueryString collection chứa tồn bộ thông tin được gửi tới từ Form bằng phương thức GET. Các giá trị gởi từ Form chứa trong một chuỗi query (query string) và được add vào URL (bắt đầu từ dấu chấm hỏi (?) trở về sau là phần query string được thêm vào). Điều này có thể thấy rõ khi quan sát hộp Address của Browser. Ví dụ: Name: Age: Khi user nhập giá trị vào 2 hộp Name và Age sau đó nhấn Submit thì hộp Address của browser sẽ có dạng như sau: Hạn chế của phương thức GET : Chiều dài tối đa của URL là 1000 ký tự, như vậy nếu gởi một loạt thông tin từ form, thông tin sẽ bị cắt bớt. III.8 Sử dụng Form collection Thay vì add thông tin gửi đi từ Form vào URL như một querystring, một phương thức khác là POST, đặt thông tin gửi đi vào bên trong HTTP header. Ví dụ: Name: Age: Khi user nhập giá trị vào 2 hộp Name và Age sau đó nhấn Submit thì hộp Address của browser sẽ trông có dạng như sau: Tại thời điểm này, các giá trị gửi từ Form không thể truy xuất bằng QueryString collection. Thay vào đó, Active Server Pages hiện thực một Form collection chứa tồn bộ thông tin gửi từ Form sử dụng phương thức POST. III.9 Gửi thông tin trong cùng một file .asp ASP cho phép một file .asp có chứa Form, khi user điền các giá trị vào Form rồi gửi (Submit) thì chính file .asp đó sẽ nhận các thông tin này và xử lý. Ví dụ: file examp.asp có nội dung như sau: <% If IsEmpty(Request(“Email”)) Then Msg= “Please enter your email address” Else If InStr(Request(“Email”), “@”)=0 Then Msg= “Please enter an email address in the form servername@location” Else Msg= “This script could process the valid email address now” End If %> Email: <INPUT TYPE=TEXT NAME=”Email” SIZE=30 VALUE = “ Khi user điền vào Form địa chỉ Email và Submit thì file examp.asp này sẽ nhận thông tin bằng phát biểu: VALUE = “ Đoạn script sẽ tuỳ thuộc giá trị chuỗi ký tự nhận được có ký tự @ hay không để trả lời với user cũng chính bằng văn bản HTML nhúng trong examp.asp. III.10 Gửi thông tin giữa các file .asp Ví dụ: Form được để trong examp1.asp, các thông tin mà user sẽ submit lên server khi user đang ở trang examp1.asp sẽ được file examp2.asp nhận và xử lý. Để làm được điều này, trong trang examp1.asp có đoạn code HTML sau: Name: và đoạn code sau trong trang examp2.asp dùng để nhận các thông tin sẽ submit từ form1. <% name=“” +Request(“txtname”) %> Khi đó giá trị mà user đã gõ vào Form1 sẽ được lấy và lưu vào biến Name ở examp2.asp. III.11 Sử dụng Cookies Collection Một cookies được coi như một dấu hiệu đi kèm theo user trong quá trình trao đổi thông tin giữa Web client và Web server. Các script của ASP có thể dùng Response để lấy hoặc thiết lập giá trị của

Các file đính kèm theo tài liệu này:

  • docxTìm hiểu về Web Caching và phân tích thiết kế và xây dựng hệ thống.docx