1. Trang chủ
  2. » Luận Văn - Báo Cáo

Cách thức hoạt động của một trang Web, tìm hiểu về Web Caching và sau đó là phân tích thiết kế và xây dựng hệ thống

70 1,1K 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 70
Dung lượng 2,45 MB

Nội dung

Internet Information Server đủ khả năng đáp ứng các chức năng quan trọng cho các tổ chức khác nhau.

Trang 1

Lời cảm ơn

Em xin chân thành cảm ơn cô giáo Dỗn Hồ Liên là người đã trực tiếp hướngdẫn em trong quá trình thực hiện đồ án này Cô đã nhiệt tình chỉ bảo, giải đáp mọithắc mắc, cung cấp các kiến thức cần thiết giúp em hồn thành đề tài Quan trọnghơn, cô là người định hướng để em tiếp cận được với phương pháp nghiên cứu khoahọc nói chung và phương pháp nghiên cứu thực hiện phân tích, thiết kế một ứngdụng thực tế Qua đây em cũng xin được cảm ơn các thầy cô trong khoa CNTT đãtận tình dạy bảo em trong 5 năm học tại trường cùng các bạn sinh viên đã đóp gópnhững ý kiến quý báu cho chương trình

Trang 2

Mục lục

LỜI NÓI ĐẦU 3

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

I.1 Internet là gì ? 3

I.2 Intranet là gì ? 3

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

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

I.4 Web Browser URL Request 3

I.5 Web Server Response 3

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

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

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

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

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

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

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

II.1.1 Client – Server 3

II.1.2 Proxy 3

II.1.3 Cache 3

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

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

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

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

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

II.3.1 Thời gian trễ 3

II.3.2 Băng thông 3

II.3.3 Server Load 3

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

II.4.1 Browser Caches (Client Cache) 3

II.4.2 Caching Proxy (Server Cache) 3

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

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

II.5.1.1 HTTP requests 3

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

II.5.1.3 Yêu cầu Proxy 3

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

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

II.5.2.1 Bảo mật 3

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

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

II.5.3 Cache-Hits, Cache-Misses 3

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

II.5.4.1 Last-modified 3

II.5.4.2 Entity Tags 3

II.5.5 Thay thế trong cache 3

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

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

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

Trang 3

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

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

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

II.6.2.1 Hiệu năng 3

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

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

II.7.1 Proxy Addresses 3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

III.2.2.5 Include file 3

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

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

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

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

III.5.1 Request object 3

III.5.2 Response object 3

III.5.3 Session object 3

III.5.4 Application object 3

III.5.5 Server object 3

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

III.7 Sử dụng QueryString 3

III.8 Sử dụng Form collection 3

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

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

III.11 Sử dụng Cookies Collection 3

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

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

III.12.2 Database Access Component 3

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

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

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

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

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

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

III.13.6 Quản lý Application 3

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

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

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

Trang 4

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

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

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

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

IV.3.1.1 Đăng nhập 3

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

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

IV.3.2.1 Thêm sinh viên 3

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

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

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

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

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

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

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

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

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

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

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

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

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

IV.3.3.4 Thi 3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

KẾT LUẬN 3

Tài liệu tham khảo 3

Trang 5

LỜI NÓI ĐẦU

Từ khi xuất hiện cho đến nay, World Wide Web ngày càng trở nên phổ biến,

là một phương tiện truy nhập mạng đơn giản và rất thân thiện với người sử dụng.Với các trang Web, người sử dụng có thể tìm kiếm và tải về rất nhiều thể loại hìnhthông tin trên mạng mà không cần phải có nhiều hiểu biết về mạng Đứng trên quanđiểm của người sử dụng, họ không cần quan tâm đến việc thông tin mà họ tìm kiếm

ở một hệ thống ngay bên cạnh hay ở một nơi ở đầu kia của quả đất Chính điều nàydẫn đến sự bùng nổ về lưu lượng trên các mạng đường trục khu vực Việc sử dụngdịch vụ Web đang tǎng theo cấp số mũ, lưu lượng WWW trên các mạng Internetquốc gia và quốc tế cũng tǎng đột biến Và Việt Nam cũng không thể nằm ngồivòng xốy của cơn lốc WWW, các cổng giao tiếp điện tử, các hệ thống E-leanrningđang là những ứng dụng mới và đang được áp dụng ở Việt Nam Các ứng dụng nàytrong tương lai sẽ càng phát triển mạnh hơn cùng sự phát triển của hạ tầng mạngmáy tính và đòi hỏi tin học hố ngày càng cao của xã hội Tuy nhiên để có được sựphát triển rộng rãi đó không phải là vấn đề đơn giản Các hệ thống này càng pháttriển thì người ta càng thấy thêm nhiều hạn chế, cản trở của cơ sở hạ tầng mạngcũng như các giải pháp sẵn có Thứ nhất, mặc dù mạng máy tính đang ngày mộtphát triển nhưng với điều kiện của nước ta, cơ sở vật chất hạ tầng mạng máy tínhvẫn còn rất thấp kém Chất lượng dịch vụ và thời gian đáp ứng có thể được cải thiệnbằng cách giảm tải cho mạng Một cách để đạt được yêu cầu này là sử dụng kỹ thuậtWeb caching Kĩ thuật Web Caching ra đời đã nâng cao được hiệu quả trong việcthực hiện tăng tốc các ứng dụng Web

Cùng với việc nghiên cứu về Web Caching, trong khuôn khổ đồ án tốtnghiệp này em cũng xây dựng một Website nhằm hỗ trợ cho các bạn học sinh, sinhviên những người quan tâm đến kiến thức về hạ tầng mạng cơ sở, nhằm đem lại mộtkiến thức tốt nhất trong việc xây dựng và bảo tŕ một hệ thống mạng máy tính

Đồ án của em sẽ trình bày lần lượt các khái niệm về Internet, cách thức hoạtđộng của một trang Web, tìm hiểu về Web Caching và sau đó là phân tích thiết kế

và xây dựng hệ thống

Đồ án được chia làm 5 chương với nội dung chính như sau:

Chương I : Tổng quan về Internet và Intranet

Chương này sẽ đưa ra các khai niệm cơ bản về Internet, về Web và cách thức

mà một trang Web hoạt động trên Internet

Chương II : Tìm hiều về Web Caching

Chương này sẽ đưa ra những khái niệm cơ bản của Web Caching Giải pháp

để tối ưu hố tốc độ duyệt Web và cách cài đặt Web Caching trên các máy Client

Chương III :Tìm hiều ngôn ngữ ASP (Active server Page)

Tìm hiểu công cụ ASP ngôn ngữ lập trình VB script để xây dựng hệ thống

Chương IV : Phân tích và thiết kế hệ thống

Đưa ra những phân tích về chức năng, thiết kế hệ thống cơ sở dữ liệu để cóthể triển khai hệ thống

Chương V : Cài đặt và thử nghiệm

Đưa ra được một số hình ảnh minh hoạ của hệ thống

Trang 6

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

I.1 Internet là gì ?

Internet là một mạng máy tính tồn cầu sử dụng một ngôn ngữ truyền thôngchung nó tương tự như một hệ thống điện thoại quốc tế nhưng nó được nối kết theocách làm việc của một mạng lớn

World Wide Web (WWW) cho ta một hình ảnh dễ dàng giao tiếp và tìmkiếm dữ liệu trên Internet Các dữ liệu này được liên kết với nhau thông qua trangWeb Các file, các trang được nối kết với nhau thông qua các mối liên kết là texthoặc hình ảnh được gọi là HyperLink

Các trang Web có thể chứa văn bản, hình ảnh, phim, âm thanh Các trang này

có thể được đặt trên một máy tính ở nơi nào đó trên thế giới Khi ta nối kết tớiInternet ta có thể truy xuất thông tin trên tồn cầu

HyperLink là các text hay hình ảnh mà được gắn địa chỉ Web trên đó Bằngcách click vào hyperlink ta có thể nhảy tới một trang thành phần của một Web site.Mỗi một Web site có một trang chủ của Web site đó và có một địa chỉ duy nhấtđược gọi là Uniform Resource Locator (URL) URL xác định chính xác tên củamáy tính và đường dẫn tới một trang Web xác định

I.2 Intranet là gì ?

Intranet dựa vào TCP/IP Network nhưng không nối kết tới Internet mà chỉ sửdụng chuẩn truyền thông Internet và các công cụ của nó dùng để cung cấp thông tintới người sử dụng trên một mạng riêng Ví dụ một công ty có thể cài đặt một Webserver chỉ cho các thành viên của công ty trao đổi thư từ tin tức,thông tin thươngmại Các thành viên truy xuất thông tin bằng cách dùng các Web browser

I.3 Internet Information Server là gì ?

Internet Information Server (IIS) là một Web server cho phép ta công bốthông tin trên mạng Intranet hay Internet Internet Information Server truyền tảithông tin bằng cách dùng Hypertext Transfer Protocol (HTTP), Internet InformationServer cũng có thể dùng phương thức FTP hoặc Gopher

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

Web là một hệ thống yêu cầu (Request) và đáp ứng (Response) Webbrowser yêu cầu thông tin bằng cách gửi một URL tới Web server, Web server đápứng lại bằng cách trả lại một trang HTML cho Web browser

HTML có thể là một trang Web tĩnh được lưu sẵn ở trên Web server hoặc cóthể là một trang Web động mà server tạo ra khi đáp ứng yêu cầu của người sử dụnghoặc là một trang ở thư mục nào đó trên server

Trang 7

I.4 Web Browser URL Request

Mỗi trang Web trên Intranet hoặc Internet có một URL duy nhất Webbrowser yêu cầu một trang bằng cách gửi một URL tới một Web server Web server

sử dụng thông tin trong URL để xác định và cho hiển thị trang Web theo yêu cầucủa Browser

Cú pháp URL là một chuỗi văn bản tuần tự gồm có : Protocol, DomainName, và đường dẫn (Path) tới thông tin yêu cầu Protocol là chuẩn truyền thôngdùng để truyền tải thông tin như là : HTP, FTP và Gopher Domain Name chính làDomain Name System (DNS) của máy tính chứa thông tin Path là đường dẫn tớithông tin yêu cầu trên máy tính.Ví dụ :

Https://

Một URL cũng có thể chứa thông tin mà Web server cần phải xử lý trước khitrả lại một trang, dữ liệu trong URL được gắn thêm vào cuối đường dẫn Web servergửi dữ liệu này tới một chương trìng hay một Scirpt để xử lý và trả lại kết quả trongmột trang web.Ví dụ :

Internet Database Connector http://www.microsoft.com/feedback/input.idc

Common Gateway Interface

I.5 Web Server Response

Web server đáp ứng yêu cầu của Web browser bằng cách trả lại một trangHTML Trang trả lại có thể là trang HTML tĩnh, trang HTML động hoặc là trangtrong danh sách thư mục

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

Một trang HTML tĩnh là trang đã được chuẩn bị sẵn cho các yêu cầu nhấtđịnh và được đặt sẵn trên Web server Người sử dụng yêu cầu một trang HTML tĩnhbằng cách gõ trực tiếp URL hoặc là Click vào Hyperlink của URL nào đó, URLđược gửi tới server Server đáp ứng bằng cách trả lại trang HTML tĩnh

I.7 Trang động (Dynamic Page)

Các trang động được tạo ra trong quá trình đáp ứng cho yêu cầu của người sửdụng Một Web browser thu thập thông tin bằng cách thực hiện một trang có cácTextbox, Menu, Checkbox cho phép người sử dụng điền vào hoặc lựa chọn Khi

Trang 8

người sử dụng click vào một nút (button) trên Form, dữ liệu từ Form được gửi tớiWeb server Server đưa dữ liệu này tới một Script hoặc một trình ứng dụng để xử

lý Sau đó server gửi lại kết quả cho browser bằng một trang HTML Ví dụ sau đâycho phép ngưới sử dụng gửi một yêu cầu tới một Internet Server API (ISAPI), ứngdụng này dùng để cộng 2 số Ngưới sử dụng ngập 2 số được cộng sau đó click mộtbutton để gửi 2 số đó tới web server Web server gọi một ISAPI để cộng 2 số, sau

đó trả lại kết quả cho browser bằng một trang HTML

Minh họa sau đây cho phép người sử dụng truy cập vào database bằng cáchdùng Internet Database Conector Người sử dụng hồn thành một Form sau đó clickvào một button để gửi dữ liệu tới server Server nạp dữ liệu vào database sau đó trảlại một trang HTML kết quả cho browser

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

Internet Information Server đủ khả năng đáp ứng các chức năng quan trọng cho các

tổ chức khác nhau Chúng ta có thể sử dụng một Server cho một Web site hoặc cũng

có thể sử dụng nhiều server cho một Web site Một trong những nhân tố để xác địnhcấu hình Internet Information Server là nó được sử dụng bên trong nội bộ của mộtmạng Intranet hay nó được nối kết tới Intetnet

Các kịch bản sau đây giúp ta hiểu thêm phạm vi và khả năng sử dụng củaInternet Information Server

Trang 9

Trong một nhóm(Workgroup) ta có thể tích hợp Internet Information Servervới một Server Web server của Workgroup có khả năng tổ chức các loại trang web

để đáp ứng cho các ứng dụng trong workgroup như là cho phép giao tiếp vớiDatabase SQL hay là cho phép truy xuất tài nguyên từ xa(Remote Access Service)

Trong một mạng thương mại lớn có nhiều bộ phận (workgroup), mỗi bộphận chạy Internet Information Server trên server của mình Một server trung tâmđược dùng để phối hợp và quản lý tất cả thông tin trên mạng

Trang 10

Sự tích hợp Internet Information Server với Windows NT có thể tạo ra cácserver có nhiều chức năng Ví dụ như một công ty có nhiều site khác nhau trên thếgiới, có thể dùng Internet Information Server để truyền thông giữa các site này vớinhau, và ta cũng có thể dùng RAS để cho phép truy cập tới Intranet hoặc Internet.

Nhiều kịch bản nối kết tới Internet còn liên quan tới thành phần thứ ba là cácRoutersvà các thiết bị an ninh nằm giữa máy tính của ta và Internet dùng để lọc cácgói(packets) thông tin gửi qua chúng Các trường hợp này chưa được đề cập trongcác kịch bản ở trên

Trang 11

CHƯƠNGII : TÌM HIỂU WEB CACHINGII.1 Các thuật ngữ cơ bản

Tuy nhiên trước khi đi vào các khái niệm về Web caching ta sẽ tìm hiểu một

số thuật ngữ hay được dùng trong khi giải thích các khái niệm và nó cũng là nhữngthuật ngữ chuẩn của Internet

II.1.1 Client – Server

Đây là những khái niệm nền tảng để xây dựng nên một hệ thống ứng dụngWeb

- Client: là các chương trình ứng dụng dùng để thiết lập kết nối với mục đích gửi đi

các yêu cầu cung cấp dịch vụ Đó là các trình duyệt Web, các trình biên tập (editor)hoặc các công cụ người sử dụng cuối khác Các client thông dụng nhất thường chạytrên máy của người sử dụng cuối

- Server: là chương trình ứng dụng dùng để chấp nhận kết nối với mục đích phục vụ

các yêu cầu cung cấp dịch vụ bằng cách gửi các đáp ứng trở lại phía yêu cầu Đốivới các hệ thống cung cấp dịch vụ lớn, các chương trình này thường chạy trên các

hệ thống phần cứng riêng và thường được phân biệt là phần cứng server và phầnmềm server

Một máy chủ Web (Web server) thì quản lý và cung cấp việc truy cập tớimột tập hợp các tài nguyên trên nó Tài nguyên trên nó thì có thể đơn giản chỉ là cácfile văn bản, hình ảnh hoặc có thể là các dữ liệu phức tạp hơn chẳng hạn như các cơ

sở dữ liệu

Trên nền tảng Web thì hầu hết các yêu cầu chủ yếu là các công việcdownload Các máy client thì download thông tin từ server Trong trường hợp nàychính nó gửi thông tin yêu cầu chứa tên của tài nguyên cộng thêm với một vài thôngtin từ phía client thì hồn tồn nhỏ (200 B) trong đó thông tin download về thì thường

là các dữ liệu văn bản hoặc hình ảnh với kích thước trung bình khoảng 10000B.Đây chính là một trong những đặc điểm cơ bản của hệ thống Web Tốc độ nhận dữliệu bao giờ cũng cao hơn tốc độ truyền dữ liệu đi bởi vậy hầu hết người sử dụngWeb thì thường xuyên nhận thông tin

Web client thường dùng được gọi là trình duyệt (browser) Những ứng dụngnày chẳng hạn như là Nescape và Microsoft Internet Explore Mục đích của nhữngtrình duyệt này là hiện thị nội dung của một trang Web

Có một số lượng lớn các server được sử dụng rộng rãi trên Web ApacheHTTP server là một trong những server Web thông dụng và hồn tồn miễn phí.Netcape , Microsoft và các công ty khác cũng có một số các sản phẩm Nhưng hầuhết tất cả các sản phẩm thì đều tập trung và hiệu năng của các server Một site nổitiếng trên Net thì có thể nhận 10 triệu yêu cầu một ngày Trong trường hợp này thì

cả phần cứng lẫn phần mềm đều phải được thiết kế một cách cẩn thận để có thể đápứng được nhiều yêu cầu một lúc như vậy Có rất nhiều site chạy trên nhiều serversong song với nhau để có thể đáp ứng được tỉ lệ cao các yêu cầu như vậy và cònphục vụ cho việc dự phòng

II.1.2 Proxy

Một chương trình trung gian có thể hoạt động với vai trò của server hoặc củaclient nhằm mục đích thay mặt các client tạo ra các yêu cầu Yêu cầu được phục vụtại chỗ hoặc chuyển qua các proxy đến các server khác Một proxy phải biết biêndịch và nếu cần có thể viết lại các thông điệp yêu cầu trước khi chuyển tiếp yêu cầu

Trang 12

Các proxy thường được sử dụng như các bộ đóng gói phía client qua các firewallcủa mạng và như các chương trình hỗ trợ để xử lý các yêu cầu thông qua các giaothức không được triển khai ở phía người sử dụng.

II.1.3 Cache

Một nơi lưu trữ tạm thời các bản tin đáp ứng của chương trình, một hệ thống phụ trợ điều khiển việc lưu trữ, cung cấp và huỷ các tài liệu Cache lưu các bản tin đáp ứng có thuộc tính có thể lưu trữ được (cacheable) để giảm thời gian đáp ứng và bǎng thông tiêu thụ cho mỗi yêu cầu Bất cứ client hay server nào đều có thể có cache

- Mạng lưới cache server (caching mesh): hệ thống các caching server phối hợp

hoạt động với nhau

- Web cache server cục bộ (local cache): cache server chạy trên cùng một mạng

LAN với client.s

- Web cache server cấp một: Web cache server mà client của người sử dụng kết nối

trực tiếp đến Loại này gần giống loại cục bộ

- Web cache server cấp cao (upper-level cache hay entry cache): nhìn từ phía client,

tất cả các cache tham gia vào mạng lưới caching không kết nối thẳng đến client làcác cache server cấp cao Trong các loại Web cache server cấp cao có loại Parentcache được kết nối trực tiếp đến Web server Như vậy, trong một mạng lưới thì têncủa các Web cache chỉ mang tính chất tương đối

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

“Đối tượng” ở đây có thể được hiểu là các loại dữ liệu khác nhau trên serverchẳng hạn như file audio, file Zip, Đối tượng Web thì có một số các đặc điểm quantrọng như kích thước, kiểu file (HTML, image, audio ), thời gian tạo ra file, thờigian chỉnh sửa gần nhất

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

Nhận biết tài nguyên cũng là một trong những khái niệm cơ bản của kiếntrúc Web Đó có thể là tên hay địa chỉ của một đối tượng Web Nó cũng giống như

là địa chỉ của một con đường hay số điện thoại Thông thường thì người ta hay gọi

là Universal Resource Identifiers (URI) Chúng thì thường được sử dụng cho cả

người và máy tính.Caches thì thường được sử dụng để nhận biết chúng

Uniform Resource Locators (URLs) là một dạng thông dụng của URI Dưới đây là

một vài ví dụ vể URLs

http://www.hut.edu.vn

http://www.oasis-open.org/specs/docbook.shtml

ftp://ftp.freebsd.org/pub/FreeBSD/README.TXT

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

Cả Client và Server thì thường sử dụng các giao thức vận chuyển khác nhau

để trao đổi thông tin cho nhau.Các giao thức trên được xây dựng chủ yến dựa trên

giao thức TCP/IP The Hypertext Transfer Protocol (HTTP) là một trong những

giao thức phổ biến nhất hiện nay bởi vì chúng được thiết kế cho Web Một trong sốnhững giao thức khác như File Tranfer Protocol (FTP) hay Gopher thì vẫn được sửdụng cho đến ngày nay Ngồi ra một số giao thức mới xuất hiện gần đây như Secure

Trang 13

Sockét Layer (SSL) hay Real-time Transport Protocol (RTP) cũng thường xuyênđược sử dụng

II.2 Định nghĩa Web Caching

Kỹ thuật Web Caching chính là việc chuyển bản copy của các tài liệu Web từWeb server đến gần với Web client hơn Nhìn chung, người sử dụng Web client sẽchỉ nhận thấy độ trễ rất thấp khi yêu cầu một URL, phía nhà quản lý mạng sẽ nhậnthấy ít lưu lượng hơn và các Web server có số lượng các yêu cầu cung cấp dịch vụthấp hơn Web client yêu cầu tài liệu từ Web server hoặc trực tiếp hoặc thông quaWeb cache server hay proxy Web cache server có chức nǎng như Web server khinhìn từ phía client và có chức nǎng như client khi nhìn từ phía Web server Chứcnǎng của Web cache server là lưu trữ các tài liệu Web (có thể là các trang HTML,các hình ảnh hoặc các tệp tin) tại vị trí gần với người sử dụng để tránh phải chuyển

về nhiều lần cùng một tài liệu qua cùng một kết nối và do đó làm giảm thời gian tải

về và tạo ra ít tải hơn trên các server đầu xa

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

Đơn giản vì nó tiết kiệm được thời gian cho người duyệt Web Nó cung cấpmột cách hiệu quả khả năng phân bổ thông tin trên Web Chúng ta hãy xem xét một

ví dụ thực tế về việc phân bổ sách Chúng ta hãy suy nghĩ làm sao các cuốn sáchđược phân bố tới tay của những độc giả ? Các nhà xuất bản in những cuốn sách vàbán chúng với số lượng lớn tới các nhà bán buôn Các nhà bán buôn thì lại bán cáccuốn sách với số lượng nhỏ hơn tới các cửa hàng sách Độc giả có thể đến các cửahàng sách và mua các cuốn sách đó Trên internet thì Web caches cũng hoạt độngtương tự như các cửa hàng sách và các nhà phân phối

3 lợi ích chính của Web caching

+ Làm cho trang Web được load nhanh hơn (giảm thời gian trễ)

+ Giảm băng thông sử dụng

+ Giảm số lần truy cập lại trên server gốc

II.3.1 Thời gian trễ

Thời gian trễ chính là khoảng thời gian mà dữ liệu được chuyển từ nơi này đến nơikhác Một nguồn gốc khác của việc trễ mạng chính là ngẽn mạng Khi các đườngkết nối đã được sử dụng tối đa thì các gói tin sẽ được xếp hàng trong các Router haySwitch Khi các gói tin đã được xếp đầy trong hàng đợi thì nó sẽ loại bỏ tất các cácgói tin tiếp theo đến Với những giao thức tin cậy như TCP/IP việc mất gói tin thìtương đương với việc truyền lại gói tin Vì vậy việc truyền lại sẽ gây mất rất nhiềuthời gian, làm giảm tốc độ của mạng trong việc truyền tin

II.3.2 Băng thông

Băng thông chính là dung lượng đường truyền mà dữ liệu đi qua Với mỗiyêu cầu mà dữ liệu là kết quả trong web caching thì nó sẽ tiết kiệm được băngthông Khi đó sẽ không tốn băng thông để dữ liệu truyền từ máy server gốc mà nólấy luôn dữ liệu trong cache Web cache thì giảm băng thông sử dụng bởi các luồng

dữ liệu HTTP Điều này có thể nói là web cache làm tăng hiệu quả của băng thông.Nếu một mạng hỗ trơ 100 người dùng khi không có web cache thì sẽ hỗ trợ được

150 người dùng khi có web cache

Trang 14

II.3.3 Server Load

Cũng giống như việc giảm băng thông thì việc giảm thời gian khi sử dụngserver gốc Các server thì đáp ứng liên tục các yêu cầu từ phía các client Một serverrỗi thì chắc chắn sẽ nhanh hơn so với server bận Vì vậy chiến lược ở đây là sử dụngWeb caching để giảm thời gian load dữ liệu của các hệ thống server

II.4 Phân loại Web caching

Nội dung của một trang Web thì có thể được lưu trữ ở nhiều vị trí khác nhaudọc theo các đường dẫn giữa các client và các server gốc Đầu tiên các trình duyệtcũng tự mình xây dựng hệ thống cache trong nó Người ta gọi nó là Browser caches.Tiếp theo là caching proxy (proxy cache) kết hợp tất cả các yêu cầu của các clientthành một nhóm.Cuối cùng một hệ thống đại diện có thể được đặt tại đầu các servergốc để lưu trữ những đáp ứng thường xuyên

II.4.1 Browser Caches (Client Cache)

Các trình duyệt thì cũng xây dựng trong nó hệ thống cache Mỗi khi ta nhấnnút Back trên trình duyệt thì nó đọc lại cho ta trang ta vừa xem trong cache của nó.Đối tượng cache có thể là các file tạm thời trên đĩa hoặc có thể là trong bộ nhớtrong

Trong khi trình duyêt Web Netscape yêu cầu bạn phải xác định xem khônggian đĩa dành cho caching là bao nhiêu Microsoft thì yêu cầu bạn cần phải điềukhiển kích thước cache dành cho đĩa của bạn là bao nhiêu Thông thường thì tathường sử dụng 10-100 MB không gian đĩa cứng dành cho Browser cache

II.4.2 Caching Proxy (Server Cache)

Loại cache này nằm trên một server trong mạng lưới gồm nhiều client vànhiều server Thông thường, nó không nằm trong cùng một hệ thống chạy một loạiWeb client hay một HTTP server nào đó Không giống như Browser caches, dịch

vụ cache này có thể phục vụ nhiều user cùng một lúc Khi có nhiều người cùng tớithăm một website tại một thời điểm thì caching proxies thường được sử dụng hơnBrowser cache

Caching proxies thì cần thiết đối với rất nhiều tổ chức như các nhà cung cấpdịch vụ Web, các tổng công ty lớn, các trường đại học, viện nghiên cứu CachingProxies thì thường được đặt ở các gateway (như router) hay nói một cách khác thì

nó thường được sử dụng để có thể phục vụ một số lượng người lớn nhất

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

Tất cả các hệ thống cache đều sử dụng một bộ nguyên tắc để xác định thờiđiểm cung cấp các đối tượng (hay các tài liệu Web), tất nhiên là với điều kiện cácđối tượng đó đã được lưu trong cache Trường hợp các đối tượng được yêu cầuchưa được lưu sẵn trong cache thì cache server sẽ gửi yêu cầu đó đến server gốc.Một số nguyên tắc được thiết lập trong các giao thức HTTP/1.0, HTTP/1.1 và một

số khác được thiết lập bởi những người quản trị cache (có thể là người sử dụngbrowser cache hoặc người quản trị proxy)

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

Trang 15

+ Nếu phần tiêu đề của đối tượng cho cache biết không phải lưu đối tượng thì cachekhông lưu đối tượng đó Nếu biến logic xác nhận (biến validator) không xuất hiện, phần lớn các cache sẽ đánh dấu đối tượng là không thể lưu (uncacheable).

+ Nếu đối tượng có yêu cầu nhận thực hay bảo mật, nó sẽ được lưu

+ Một đối tượng được lưu được coi là còn tươi - "fresh" (có nghĩa là có thể được gửi tới client mà không cần sự kiểm tra của server gốc)

- Nó có thời gian tồn tại (hoạt động theo dạng một loại bộ đếm) còn nằm trong khoảng thời gian fresh (chưa quá hạn)

- Nếu một browser cache đã từng hiển thị đối tượng và đối tượng này đã được đánh dấu là đã kiểm tra trong một phiên trước đó

- Nếu proxy cache mới xử lý nó gần đây và nó đã được sửa đổi trước đó

tương đối lâu Các đối tượng fresh được lấy trực tiếp từ cache mà không cần kiểm tra với server gốc

+Nếu một đối tượng được coi là cũ, server gốc sẽ được yêu cầu xác nhận đối tượng hoặc báo cho cache rằng đối tượng đó vẫn còn giá trị sử dụng

Quá trình xác nhận và kiểm tra xem đặc tính "fresh" của đối tượng là những biện pháp quan trọng giúp cache làm việc với các đối tượng Một đối tượng "mới" sẽ khảdụng tức thời từ cache, trong khi một đối tượng "phải xác nhận" (validated) sẽ tránhphải gửi lại một lần nữa từ server gốc nếu nó không có gì thay đổi

II.5.1.1 HTTP requests

Client thì luôn sử dụng HTTP khi chúng giao tiếp với proxy Điều này cũngđúng khi client yêu cầu một FTP hoăc Gopher URL Client sẽ đưa ra những yêu cầukhông khác nhau là mấy đối với proxy server cũng như đối với server gốc Trongtrường hợp này thì các yêu cầu được tham chiếu tới proxy được xem như là yêu cầu

proxy HTTP.

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

Trước tiên ta hãy xem một yêu cầu được gửi đến cho server gốc Giả sử tayêu cầu một URL như sau: http://www.nlanr.net/index.html Khi Client mà khôngcấu hình sử dụng proxy thì nó sẽ kết nối trực tiếp tới server gốc (www.nlanr.net) đểgửi yêu cầu này

GET /index.html HTTP/1.1

Host: www.nlanr.net

Accept: */*

Connection: Keep-alive

Trong thực tế thì yêu cầu này gồm nhiều header hơn so với những gì đã đưa

ra ở trên đây Ở đây ta thấy rằng URL đã được chia làm 2 phần Dòng requestline(dòng đầu) chỉ bao gồm thành phần tên của URL Trong đó phần hostname

được xuất hiện trong phần Host header Host header là một đặc điểm của

HTTP/1.1, nó hỗ trợ hosting ảo, hay nhiều website logic trên một server vật lý(một

địa chỉ IP) Nếu server gốckhông hỗ trợ domain ảo thì Host header dùng để làm

dự trữ

II.5.1.3 Yêu cầu Proxy

Trang 16

Khi Client giao tiếp với proxy, các yêu cầu cũng không có sự khác biệt so vớiserver gốc Tuy nhiên dòng yêu cầu proxy sẽ bao gồm một URL đầy đủ.

GET http://www.nlanr.net/index.html HTTP/1.1

Host: www.nlanr.net

Accept: */*

Proxy-connection: Keep-alive

HTTP đưa ra một sự thật là: yêu cầu và đáp ứng có thể được đưa qua một

số các proxies giứa Client và Server gốc Một số HTTP header được định nghĩa như

là end to end(điêm cuối tới điểm cuối) và một số như là hop to hop(điểm tới điểm) End to end header thì vận chuyển thông tin tới các hệ thống cuối(Client và Server gốc), và bình thường thì nó không phải được chỉnh sửa bới proxies Cookie header cũng là end to end Ngược lại thông tin trong hop to hop header có nghĩa là dành cho các hệ thống trung gian và nó phải được chỉnh sửa hay di chuyển trước khi

được chúng được đưa đến vị trí mới Proxy- connection và proxy- authorization

header ở dạng hop to hop Một Client sử dụng Proxy – connection header để hỏi proxy làm cho TCP kết nối một cách liên tục bởi vậy chúng được sử dụng lại để chocác yêu cầu khác trong tương lai Proxy –authorization header chứa sự ủy nhiệm để

có thể truy cập vào proxy, không phải server gốc

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

Cuối cùng chúng ta thử xem proxies đối xử với các yêu cầu không phải là HTTP như thế nào Đối với các Client thì chúng luôn hỗ trợ các giao thức khác HTTP như là FTP, HTTPS điều này có nghĩa là chúng chúng luôn biết cách giao tiếp trực tiếp với các FTP server như thế nào Tuy nhiên hầu hết các caching proxy không đế ý về FTP server, chính vì vậy bạn không thể đặt FTP vào trong caching proxy

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

Mục đích chính của cache chính là lưu trữ một số các đáp ứng nó nhận được từ server gốc Một đáp ứng được gọi là đã được lưu trữ có nghĩa là nó có thể được sử dụng để đáp ứng được những yêu cầu trong tương lai Với các luồng dữ liệu yêu cầu thì khoảng 75% các đáp ứng được lưu trữ

Cache quyết định lưu trữ bằng việc xem xét các thành phần khác nhau của yêu cầu và đáp ứng Nó có thể kiểm tra các thông tin sau:

+ Đáp ứng về bảo mật+ Các phương thức yêu cầu+ Đáp ứng Cache-control trực tiếp+ Các đáp ứng xác thực

+ Các yêu cầu kiểm tra tính xác thực

II.5.2.1 Bảo mật

Một trong những nhân tố để xác định xem có thể lưu trữ đó các đáp ứng về bảo mật Ba kí tự chỉ trạng thái bảo mật cho tao biết yêu cầu có được đáp ứng thành công hay không hay có lỗi xảy ra trong quá trình đáp ứng yêu cầu Trạng thái bảo mật chia thành 5 nhóm

Trang 17

1XX: Thông tin quá trình giao dịch đang được tiến hành

2XX: Yêu cầu đã được nhận và đang được xử lý

3XX: Server đang hướng Client tới một vị trí khác

4XX: Có một lỗi xảy ra với yêu cầu của client

Ví dụ như Authentication được yêu cầu, hay tài nguyên yêu cầu không tồn tại

5XX: Một lỗi xảy ra trên server đối với một yêu cầu của Client

Trạng thái mã hóa thông dụng nhất là mã 200 Trạng thái này có nghĩa là yêu cầu đãđược đáp ứng thành công

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

Ngồi các nhân tố khác để xác định có thể được lưu trữ đó là các phương thức yêu cầu Bảng dưới đây có thể chi ra một vài phương thức và khả năng lưu trữ của chúng

Phương thức yêu

headers cho phép

DELETE Không bao giờ lưu trữ

OPTIONS Không bao giờ lưu trữ

TRACE Không bao giờ lưu trữ

Ta có thể nhận thấy GET là phương thức yêu cầu phổ biến nhất và đáp ứngcho yêu cầu GET thì mặc định sẽ được lưu trữ trong cache Trong khi đó khi

phương thức yêu cầu là POST thì nó chỉ có thể được lưu trữ khi trong đáp ứng của

nó gồm cả thời gian hết hạn và cho phép Cache-control thay thế giá trị mặc định

Nhưng trong thực tế thì ít khi yêu cầu POST được lưu trữ

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

HTTP/1.1 cung cấp cả hai cách để có thể duy trì liên kết với server gốc Hạn thời gian và biến xác thực(validators) Cả hai cách này đều chắc chắn rằng người sử dụng có thể được nhận những thông tin cập nhật nhất

Một số Website thì gửi những thông tin pre-expired Điều này có nghĩa là cache phải kiểm tra thời gian của đáp ứng với yêu cầu tiếp theo của một số người sửdụng Pre-expiration thì thường được sử dụng cho server gốc mà nó muốn không nhận thấy đấu vết truy cập đến site của họ nhưng lại muốn nội dung vẫn được lưu

trữ Có hai cách để sử dụng pre-expire đó là thiết lập Expires header bằng với Date

header Ví dụ

Date: Sun, 01 Apr 2001 18:32:48 GMT

Trang 18

Expires: Sun, 01 Apr 2001 18:32:48 GMT

Một cách khác là ta có thể gửi một giá trị ngày hợp lý hay giá trị “0”

Expires: 0

II.5.3 Cache-Hits, Cache-Misses

Khi Cache nhận được một yêu cầu thì nó sẽ kiểm tra xem nếu đáp ứng cho yêu cầu này đã được lưu trữ hay chưa ? Nếu đáp ứng chưa được lưu trữ thì nó tiếp tục chuyển yêu cầu này đến cho server gốc Khi một yêu cầu chưa được thực hiện trước đó bao giờ thì ta gọi đó là Cache-misses, đối tượng chưa được lưu trữ Hoặc đối tượng có thể đã bị xóa để dành chỗ cho một đối tượng mới Có đến 50-70% các yêu cầu là cache-misses

Nếu một đối tượng được đưa ra thì ta gọi đó là cache-hits Tuy nhiên

cache phải quyết định xem lưu trữ đáp ứng là mới hay là đã lâu rồi Một đáp ứng là mới nếu như thời gian hết hạn không được tìm thấy ngược lại nó là cũ Một đáp ứngmới là tốt nhất vì chúng đưa tới cho client một cách ngay lập tức Vì vậy

chúngkhông có thời gian trễ và không tốn băng thông tới server gốc Chúng ta gọi chúng là unvalidated hits.Ngược lại đối với những đáp ứng cũ thì chúng cũng phải yêu cầu kiểm tra đối với server gốc

Mục đích của việc kiểm tra là đưa yêu cầu lên tới server gốc nếu các đáp ứng vẫn còn giá trị Nếu tài nguyên đã thay đổi thì chúng ta sẽ không muốn client nhận những đáp ứng cũ HTTP gọi chúng là những yêu cầu điều kiện (conditional requests) Đáp ứng lại những yêu cầu điều kiện hoặc là một thông điệp “Not

Modified” hoặc tồn bộ một đáp ứng mới

Nhưng làm thế nào để có thể biết đó là một đáp ứng mới hay đáp ứng cũ

HTTP/1.1 cung cấp cho ta hai cách để có thể xác định được đólà dựa vào expires

header và max-age cache control Giá trị expires header chính là ngày và giờ mà tại

đó nó trở thành đáp ứng cũ Ví dụ

Date: Mon, 19 Feb 2001 01:46:17 GMT

Còn giá trị max-age thì chỉ dẫn cho ta biết số giây mà đáp ứng còn được xem như là mới Ví dụ

Cache-control: max-age=21600

Tình trạng này cho ta biết đáp ứng này còn đựoc coi là mới trong vòng 6h đồng hồ

kể từ khi nó được sinh ra

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

Ở phần trên thì chúng ta đã nghiên cứu quá trình kiểm tra của cache trong các trạng thái là cache hits hay cache-misses Ngay sau khi nhận được một yêu cầu

về một đối tượng, thì cache sẽ tiến hành xác định tính hợp lệ đối với server gốc Nếu như đối tượng được lưu vẫn còn hợp lệ thì server sẽ trả lời lại bằng một thông điệp ngắn HTTP 304 (Not modifed) Nếu không thì tồn bộ đối tượng sẽ được gửi đi.HTTP /1.1 cung cấp hai kĩ thuật để ta có thể kiểm tra đó là xác định thời điểm cuối cùng đối tượng thay đổi last-modified và E Tag (entity Tags header)

II.5.4.1 Last-modified

Trang 19

Hầu hết các đáp ứng HTTP thì bao gồm last-modified header để xác định thời gian khi đối tượng tài nguyên có sự thay đổi lần cuối cùng trên server gốc

Last-Modified thì đưa ra thời gian GMT (Greenwich Mean Time) với đơn vị nhỏ nhất là giây Ví dụ

HTTP/1.1 200 OK

Date: Sun, 04 Mar 2001 03:57:45 GMT

Last-Modified: Fri, 02 Mar 2001 04:09:20 GMT

Khi cache xác định tính hợp lệ của đối tượng thì nó cũng gửi

If-modified-since header của yêu cầu điều kiện GET

GET http://www.ircache.net/ HTTP/1.1

If-Modified-Since: Wed, 14 Feb 2001 15:35:26 GMT

Nếu server đưa trả về là đáp ứng 304(not modified ) thì đối tượng trong cache vẫn hợp lệ và trong trường hợp này thì cache phải cập nhật đối tượng để có

thể tham chiếu tới tất cả các đáp ứng mới của HTTP header chẳng hạn như Date hay Expires Nếu server không trả lại đáp ứng là 304 thì cache sẽ xem xét đáp ứng

từ server như một nội dung mới thay thế và đối tượng đó và phân phối đến các

client

II.5.4.2 Entity Tags

HTTP /1.1 cung cấp một cách khác để có thể kiểm tra đó là E-tag (Entity tags) Một E-tags như là một chuỗi ngẫu nhiên dùng để nhận dạng một thể hiện của đối tượng Ví dụ

200 với một đối tượng mới, hay cập nhật nội dung

II.5.5 Thay thế trong cache

Cache sẽ tiến hành thay thế nếu nó bị đầy và khi đó các đối tượng cũ sẽ bị xóa đi để nhường chỗ cho những đối tượng mới Thường thì Cache sẽ gán một vài giá trị cho mỗi đối tượng Thường thì các giá trị của đối tượng sẽ liên quan đến khả năng nó có thể được yêu cầu lại một lần nữa Caching đã nghiên cứu, phát triển và đưa ra một số đề nghị về các giải thuật thay thế trong Cache

Trang 20

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

LRU là một trong những giải thuật hayd được sử dụng bởi web caches Giải thuật này hồn tồn đơn giản và đễ thực hiện Nó đưa ra được hiểu quả tốt trong mọi hồn cảnh Như tên của nó đã nói, LRU sẽ xóa bỏ những đối tượng mà nó khôngđược truy cập trong thời gian nhiều nhất Giải thuật này có thể được tiến hành trên những danh sách đơn giản Tại mỗi thời điểm khi đối tượng được truy cập nó sẽ được di chuyển đến đầu danh sách Và khi đó đối tượng ít được sử dụng nhất sẽ chắc chắn tự động di chuyển xuống cuối danh sách Tuy nhiên vấn đề của giải thuật này chính là nó không quan tâm tới kích thước của đối tượng Bạn muốn lưu một đối tượng với kích thước lớn hay nhiều đối tượng với kích thước nhỏ Câu trả lời này có lẽ tùy thuộc vào sự tối ưu của người quản trị Nếu cần tiết kiệm băng thông thì bạn sẽ muốn một đối tượng có kích thước lớn còn nếu bạn giảm số lần truy cập đến server gốc thě các đối tượng có kích thước nhỏ lại là sự lựa chọn trong trường hợp này

II.5.5.2 First In, First Out (FIFO)

FIFO là một giải thuật thậm chí còn đơn giản hơn cả LRU Đối tượng ở đây thì cùng một cấp bậc sau khi thêm vào Giải thuật này không quan tâm đến sự phổ biến của các đối tượng FIFO thì ít được sử dụng nếu có thì nó được sử dụng cho cache proxies

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

LFU thì cũng tương tự như LRU, nhưng thay vì việc chọn lựa dựa trên yếu

tố thời gian truy cập thì dấu hiệu nhận biết đối với giải thuật này là số lần truy cập LFU sẽ thay thế những đối tượng mà số lần truy cập ít và giữ lại những đối tượng

mà có số lần truy cập thường xuyên LFU cũng thỉnh thoảng được sử dụng trong các sản phẩm nhưng chúng cũng ít được sử dụng thường xuyên

II.5.5.4 Kích thước

Giải thuật dựa trên kích thước sử dụng kích thước của đối tượng như một đặc điểm chính để làm tiêu chí xóa bỏ đối tượng Đối tượng với kích thước lớn nhất

sẽ bị xóa bỏ đầu tiên Giải thuật này thực sự là một kĩ thuật cũ Khi đó trong Cache

sẽ lưu lại những đối tượng có kích thước nhỏ khi đó thì số lần truy cập tới server gốc để kiểm tra sẽ tăng lên và khi đó sẽ làm hao tổn băng thông của đường truyền

Tuy nhiên hiện nay thì các chương trình sử dụng Web caching đều sử dụng giải thuật kết hợp các giải thuật ở trên Vì vậy quá trình xử lý sẽ trở nên linh hoạt và hợp

lý hơn

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

Khi ta sử dụng một Web caching thì có thể có nhiều giới hạn về bộ nhớ chính vì vậy việc kế thừa cache là một trong những điều mà ta mong đợi Sự sắp xếp các Caches để một cái này có thể liên kết được với những cái khác Trong mô hình thừa kế Caches, lớp thấp nhất sẽ chuyển những cache-misses lên những lớp cao hơn cho đến khi cache-hits được tìm thấy hoặc yêu cầu có thể chuyển đến

server gốc Việc kế thừa Cache thì rất được quan tâm vì khi đó nó có thể cải tiến hiệu năng làm việc của hệ thống Web Một số yêu cầu không có trong cache này thì

Trang 21

sẽ được tìm thấy trong cache của hàng xóm của chúng Điều này sẽ giảm băng

thông trên các đường truyền WAN và tăng tốc độ download

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

Web cache có thể trở lên phức tạp hoặc không định hình được Chúng ta sẽ

sử dụng các thuật ngữ như cha (parent), con (child), anh chi em ruột (sibling) để mô

tả mối quan hệ giữa hai cache bất kỳ với nhau

Một cache con thì sẽ gửi những cache-misses lên cho những cache cha của

nó Cache cha sau đó sẽ cung cấp cho con của nó những thông tin đáp ứng từ cache

mà nó sở hữu hay server 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 misses ở server gốc

cache-+ 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 độngrấ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

Trang 22

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ănchặ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ậytheo mặc định thì ta có thể viết đồng thời chúng sau dấu hai chấm Ví dụ

Trang 23

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

Trang 24

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

Trang 25

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áctrì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ắngtì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

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 http://home.netscape.com/eng/mozilla/2.0/relnotes/demo/proxy-live.html

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ẽ:

Trang 26

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ỉ.

Trang 27

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-sidescripting cho phép ta tạo ra và chạy các ứng dụng Web động, tương tác với clientmộ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 Webbrowser 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 NTServer 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 Servernhận được request của browser, nó sẽ đọc từ đầu đến cuối file ASP sau đó thực hiệncác lệnh script và trả lại kết quả cho browser dưới dạng file HTML

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 HTMLkhác Một file asp có thể chứa bất cứ sự kết hợp nào sau đây:

Server

Request Page

Active Server Pages

VBScript or JavaScript

HTTP Encoding

Add the HTTP Wrapper

Dynamic Page

Disk

Trang 28

 Yêu cầu Webserver gửi thông tin đến Browser gọi là Output expression(ví dụ: <%=MSSV%>)

 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ộtngôn ngữ với các luật được đặc tả nào đó, nếu ta muốn sử dụng một scriptinglanguage 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 scriptingengine cho VBScript được cài đặt thường trú trên server ASP cũng cung cấp sẵnScripting 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ácfile asp chứ ASP không phải là một ngôn ngữ script Tuy nhiên, ASP qui định việcchè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 <% và %> để ngăn cách phần văn bản HTMLvớ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ăncách <% và %>

Ví dụ:

<%sport= “climbing”%> sẽ gán chuỗi “climbing” cho biến sport Hoặc <%=sport

%> để xuất giá trị của biến sport ra Browser (biểu thức này được gọi là OutputExpression)

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ấutrú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ĩatrong 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.

<% If (Time >=#12:00:00 AM#) then

greeting= “Good Morning

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ụ:

<FONT Color= “Green”>

Trang 29

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 <SCRIPT> và </SCRIPT>, và chophép ta sử dụng ngôn ngữ script khác với ngôn ngữ mặc định đã cài đặt trong môitrường ASP (là VBScript) Ví dụ:

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áctrang 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 filebằng cách sử dụng dẫn hướng tiền xử lý sau:

<! #include virtual | file = “filename”>

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ộtVirtual Directory Tham số file chỉ định đường dẫn bắt đầu với tên thư mục chứafilename 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

<! #Include Virtual=”dangkymay/dangky.inc” !>

Trang 30

<! #Include File=” /header.inc” !>

+ 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 ASPcũng có thể gọi include một file nhiều lần nhưng với điều kiện là lệnh includekhông được sinh ra vòng lặp Ví dụ, file First.inc gọi include file Second.inc thì filesecond.inc không được gọi include file First.inc và cũng không được gọi includefile 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ôngthể 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ộtbiến

<!—Đoạn script này sai >

<% name=(header & ".inc") %>

<! #include file="<%= name %>" >

Không được đặt include file bên trong các dấu phân cách của các script

<!—Đoạn script này sai >

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 :

<SCRIPT LANGUAGE="VBScript">

Trang 31

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ácinstance 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

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.

Trang 32

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ộtHTTP 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 giaothức HTTP như:

1 Các thông tin chuẩn nằm trong các biến Server (variable server)

4 Các cookies (là các thông tin của user được gửi kèm theo) tới từ Browser

5 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

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à:

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 quaviệc gọi các phương thức sau:

1 Response.Write : Gửi thông tin trực tiếp tới user

2 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

3 Response.ContentType: Thay đổi kiểu của nội dung cần gửi.

4 Response.Cookies : Thiết lập các giá trị cookies.

Trang 33

5 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 :

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

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ụ:

<%Session(“username”)=”John” Session(“age”)=35%>

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

Trang 34

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:

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

đó 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ôngtin 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 trangtheo 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ó

Trang 35

Khi lấy thông tin từ Form, đối tượng Request có thể lấy các loại thông tin khácnhau, 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ằngphương thức GET Các giá trị gởi từ Form chứa trong một chuỗi query (querystring) và được add vào URL (bắt đầu từ dấu chấm hỏi (?) trở về sau là phần querystring được thêm vào) Điều này có thể thấy rõ khi quan sát hộp Address củaBrowser Ví dụ:

<FORM NAME= “frmDetails” ACTION=“GetDetails.asp” METHOD=GET>

Name: <INPUT TYPE=TEXT NAME=“txtName”>

Age: <INPUT TYPE=TEXT NAME=“txtAddress”>

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ộtphương thức khác là POST, đặt thông tin gửi đi vào bên trong HTTP header Ví dụ:

<FORM NAME= “frmDetails” ACTION=“GetDetails.asp” METHOD=POST>

Name: <INPUT TYPE=TEXT NAME=“txtName”>

Age: <INPUT TYPE=TEXT NAME=“txtAddress”>

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 Formrồ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:

<HTML>

<BODY>

<%

Ngày đăng: 24/04/2013, 16:56

HÌNH ẢNH LIÊN QUAN

Web cache có thể trở lên phức tạp hoặc không định hình được. Chúng ta sẽ sử dụng các thuật ngữ như cha (parent), con (child), anh chi em ruột (sibling) để mô  tả mối quan hệ giữa hai cache bất kỳ với nhau - Cách thức hoạt động  của một trang Web, tìm hiểu về Web Caching và sau đó là phân tích thiết kế và xây dựng hệ thống
eb cache có thể trở lên phức tạp hoặc không định hình được. Chúng ta sẽ sử dụng các thuật ngữ như cha (parent), con (child), anh chi em ruột (sibling) để mô tả mối quan hệ giữa hai cache bất kỳ với nhau (Trang 20)
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 - Cách thức hoạt động  của một trang Web, tìm hiểu về Web Caching và sau đó là phân tích thiết kế và xây dựng hệ thống
h ư 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 (Trang 22)
II.7.3 Cấu hình proxy tự động(Proxy Auto-Configuration Script) - Cách thức hoạt động  của một trang Web, tìm hiểu về Web Caching và sau đó là phân tích thiết kế và xây dựng hệ thống
7.3 Cấu hình proxy tự động(Proxy Auto-Configuration Script) (Trang 23)
configuration script như hình vẽ và thêm URL của file PAC vào tron gô địa chỉ. - Cách thức hoạt động  của một trang Web, tìm hiểu về Web Caching và sau đó là phân tích thiết kế và xây dựng hệ thống
configuration script như hình vẽ và thêm URL của file PAC vào tron gô địa chỉ (Trang 25)
III.2 Mô hình của Active Server Pages - Cách thức hoạt động  của một trang Web, tìm hiểu về Web Caching và sau đó là phân tích thiết kế và xây dựng hệ thống
2 Mô hình của Active Server Pages (Trang 26)
Dựa trên các thông tin dữ liệu như trên ta có thể đưa ra các bảng như sau: Tb_hocki - Cách thức hoạt động  của một trang Web, tìm hiểu về Web Caching và sau đó là phân tích thiết kế và xây dựng hệ thống
a trên các thông tin dữ liệu như trên ta có thể đưa ra các bảng như sau: Tb_hocki (Trang 60)
IV.4.6 Quan hệ giữa các bảng - Cách thức hoạt động  của một trang Web, tìm hiểu về Web Caching và sau đó là phân tích thiết kế và xây dựng hệ thống
4.6 Quan hệ giữa các bảng (Trang 62)
hình trang   Liên hệTrang  - Cách thức hoạt động  của một trang Web, tìm hiểu về Web Caching và sau đó là phân tích thiết kế và xây dựng hệ thống
hình trang Liên hệTrang (Trang 63)
Hình  trang   Liên hệTrang - Cách thức hoạt động  của một trang Web, tìm hiểu về Web Caching và sau đó là phân tích thiết kế và xây dựng hệ thống
nh trang Liên hệTrang (Trang 63)
Màn hình trang quản trị - Cách thức hoạt động  của một trang Web, tìm hiểu về Web Caching và sau đó là phân tích thiết kế và xây dựng hệ thống
n hình trang quản trị (Trang 64)
V.1 Một số hình ảnh của chương trình 1. Giao diện chương trình1. Giao diện chương trình - Cách thức hoạt động  của một trang Web, tìm hiểu về Web Caching và sau đó là phân tích thiết kế và xây dựng hệ thống
1 Một số hình ảnh của chương trình 1. Giao diện chương trình1. Giao diện chương trình (Trang 65)
CHƯƠNG V: CÀI ĐẶT VÀ THỬ NGHIỆM - Cách thức hoạt động  của một trang Web, tìm hiểu về Web Caching và sau đó là phân tích thiết kế và xây dựng hệ thống
CHƯƠNG V: CÀI ĐẶT VÀ THỬ NGHIỆM (Trang 65)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w