Bộ kiểm soát CID điện thoại- phần 1 pot

6 216 0
Bộ kiểm soát CID điện thoại- phần 1 pot

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

Thông tin tài liệu

CGI và CGI SCRIPT COMMON GATEWAY INTERFACE I. GIỚI THIỆU CGI VÀ CGI SCRIP: Để tạo những trang Web có khả năng tác động qua lại với các trang Web khác cũng như tạo khả năng tương tác giữa Server và Client, ví dụ như client có thể đệ trình một form cho server và nhận lại những thông tin theo yêu cầu hoặc có thể xử lý những thông tin phức tạp thì thường Server sẽ không trực tiếp xử lý những công việc này mà thay vào đó sẽ chuyển những công việc này cho những chương trình khác xử lý, những chương trình này được gọi là chương trình gateway, CGI Script chính là một chương trình gateway chạy trên Web Server. Chúng ta có thể sử dụng CGI Script để tạo Web tương tác ở mức độ cao hỗ trợ cho những công việc xử lý của chúng ta trên server. Còn CGI là một chẩn truyền thông, định nghiã chuẩn cho các chương trình gateway được chạy trên Web Server như thế nào và chúng tác động với những chương trình ứng dụng khác ra sao. Như tên gọi của chuẩn này (Common Gateway Interface) nó mô tả cách làm việc của chuẩn CGI như sau : - Chỉ ra phương thức chung để truy xuất những Script, CGI cho phép bất cứ ai, không phân biệt hệ điều hành, không phân biệt trình duyệt để đều có thể gởi thông tin tới một CGI Script. - Định nghĩa liên kết hoặc gateway giữa Script, Server, và những chương trình khác, CGI tạo khả năng cho Script nhận được dữ liệu nhập từ những ứng dụng khác và gởi dữ liệu xuất tới những ứng dụng này. - Mô tả giao diện hoặc phương thức để user có thể truy xuất Script, CGI giúp giảm bớt những công việc xử lý phức tạp để tạo giao diện cho Script bằng những thủ tục cơ bản. CGI cho phép người tạo Web che dấu người đọc những phức tạp trong việc xử lý các dữ liệu trong trang Web. Người đọc chỉ việc click vào một vùng, một hình ảnh , một dòng chữ được đánh dấu, hoặc nhập vào những mẫu đăng ký có sẵn sau đó click vào vùng submit trong trang Web khi hoàn thành việc đăng ký. Mọi thứ sau khi click chuột xảy ra một cách tự động và người đọc không phải để ý cách mà các dữ liệu đó được xử lý như thế nào và tại sao lại như vậy. Trong khi người đọc chỉ cần nhìn kết quả việc đăng ký của họ hoặc trả lời những câu hỏi được đưa ra, có nhiều công đoạn xảy ra, những công đoạn đó được tóm tắt như sau : •Trình duyệt của người đọc sẽ chuyển dữ liệu cần nhập vào đến Server. •Server chuyển dữ liệu nhập đến một CGI Script. •CGI Script xử lý dữ liệu nhập, chuyển dữ liệu này đến một trình ứng dụng khác nếu cần thiết, sau đó gởi dữ liệu xuất ra Web Server . •Web Server chuyển dữ liệu xuất trở ra trình duyệt của người đọc . Như chúng ta đã thấy ở phần giới thiệu trên, sử dụng CGI Script giúp ta có thể tự động hoá một số công việc làm bằng tay mất nhiều thời gian, giúp ích cho người đọc có được sự đơn giản, được tự động trả lời cho những dữ liệu mà họ nhập vào, một cách dễ dàng khi đăng kí (submit), và một cách nhanh chóng để điều khiển những việc khác nữa ví dụ như tìm kiếm dữ liệu, CGI script cũng có thể xác nhận định danh của user và những thông tin về password của họ, cấp cho user quyền truy xuất theo những giới hạn được quy của Web site . II. CÁCH THỨC LÀM VIỆC CỦA CGI SCRIPT : Dữ liệu nhập thường là từ trong form của những biến môi trường đến CGI Script do Web server chuyển đến. Những biến môi trường này mô tả thông tin được mang đến, như là version của CGI được sử dụng trên Web Server, kiểu của dữ liệu, kích thước của dữ liệu , và những thông tin quan trọng khác . CGI Script cũng có thể nhận dữ liệu nhập theo 2 cơ chế khác nữa: Thông số dòng lệnh (command-line arguments) Thiết bị nhập chuẩn ( Standard input ). User gởi thông tin tới một CGI Script bằng cách kích hoạt một liên kết đến Script đó. CGi Sript sẽ xử lý dữ liệu nhập và format kết quả xuất cho Server có thể sử dụng được. Server nhận kết quả và gởi chúng cho Browser của user. Browser sẽ hiển thị kết qủa này cho user. Dữ liệu xuất từ một CGI Script bắt đầu bằng một header chứa một chỉ dẫn (directive) cho Server. Thông thường có 3 chỉ dẫn cho Server là : Content-type. Location. Và Status. Header giống với một chỉ dẫn trong format của một HTTP header được theo sau bởi một blank line (dòng trắng không chứa ký tự nào), blank line này liên kết header với dữ liệu gởi cho browser. Dữ liệu xuất chứa chỉ dẫn Location và Status thường là một dòng đơn. Vì chỉ dẫn được đặt trong dòng Location hoặc dòng Status thì đều cần thiết cho Server, và khi không có dữ liệu theo sau header thì bạn cũng không cần chèn một blank line để thay thế. Server dịch dữ liệu xuất, set biến môi truờng, và gởi dữ liệu cho client. -2- Việc trao đổi dữ liệu giữa 1 Client và 1 Server có nhiều phần. Những phần đó có thể phân ra làm 8 bước như sau : 1. Client gởi dữ liệu nhập tới 1 server. 2. Server thiết lập biến môi trường gắn liền với dữ liệu nhập. 3. Server gởi dữ liệu nhập như là những biến ( variable ) tới CGI Script. 4. Server gởi Command-line hoặc Standard input stream tới CGI Script nếu dữ liệu được đưa vào bằng một trong hai cơ chế này. 5. Script xử lý dữ liệu nhập. 6. Script gởi trả dữ liệu xuất tới server . Dữ liệu xuất này luôn chứa đựng 1 header và thỉnh thoảng chứa một BODY nếu có dữ liệu thêm vào. 7. Server thiết lập biến môi trường gắn liền với dữ liệu xuất. 8. Server gởi dữ liệu xuất cho Client. III. Nhập dữ liệu vào CGI Script : Khi một user kích hoạt một liên kết tới một CGI Script, dữ liệu nhập được gởi tới server. Server định dạng lại dữ liệu này vào trong biến môi trường và kiểm tra xem có dữ liệu được thêm vào theo Conmand line hay standard input stream (dòng nhập chuẩn) hay không. Sau đây là những phương thức thông thường để CGI Script nhận dữ liệu : 1. Biến môi trường ( Evironment Variables ) : Dữ liệu nhập trong CGI Script thì thông thường trong form của biến môi trường. Biến môi trường được gởi tới CGI Script được kết hợp với thông tin yêu cầu của browser từ client gởi đến thông qua server, server xử lý yêu cầu, và dữ liệu được gởi trong yêu cầu đó. Sau đây là những biến môi trường chuẩn được liệt kê trong bảng sau Biến Mục đích AUTH_TYPE Được sử dụng để xác nhận tính hợp lệ việc truy xuất của user. -3- CONTENT_TYPE cho biết kiểu dữ liệu mà script sẽ truyền (kiểu MIME_type của dữ liệu). Khi server đọc dòng này, nó sẽ lấy dòng này thay thế cho dòng conten_type mặc định nó. GATEWAY_INTERFACE Cho biết version của CGI mà servser đang sử dụng. HTTP_ACCEPT Cho biết nội dung MIME_type mà sẽ đựơc gửi tới gateway script thông qua server. Script dùng thông tin này để quyết định loại dữ liệu gửi về cho client. HTTP_USER_AGENT Cho biết kiểu của browser được sử dụng dể gửi yêu cầu. Nó chứa nội dung của field user_agent trong header của request (yêu cầu). PATH_INFO Đồng nhất thông tin thêm vào kể cả trong URL. PATH_TRANSLATED Thiết lập bởi server tren biến path_info. Server dịch biến path_info vào trong biến này. QUERY_STRING Thiết lập chuỗi câu hỏi (nếu URL chứa đựng một chuỗi hỏi) . REMOTE_ADDR Cho biết địa chỉ IP của máy truy xuất vào server. REMOTE_HOST Cho biết tên của máy truy xuất vào server. REMOTE_IDENT Cho biết số định danh máy truy xuất . REMOTE_USER Cho biết user name được xác nhận bởi user. Chỉ được thiiết lập khi có yêu cầu nhận dạng, nếu không bị bỏ trống. Có thể sử dụng nó kiểm soát quyền truy xuất của user. REQUEST_METHOD Cho biết method bởi chính yêu cầu tạo ra nó. -4- SCRIPT_NAME Cho biết đường dẫn ảo tới script đang được thực thi. SERVER_NAME Cho biết host name của server, alias hoặc IP address . SERVER_POST Cho biết số port của server được client được gởi yêu cầu tới . SERVER_PROTOCOL Cho biết protocol của yêu cầu đã gởi đến server. SERVER_SOFTWARE Cho biết software của web server . Để dễ hiểu chúng tôi xin giới thiệu một số kiểu MIME_TYPE cơ bản thường xử dụng trong các biến môi trường (ví dụ trong biến Content-type) : Application : dữ liệu nhị phân , có thể được thực thi hoặc được sử dụng với một chương trình ứng dụng khác . Audio : là một file sound (âm thanh). Image : là một picture (hình ảnh). Message : là một thư tín tóm lược . Multipart : là dữ liệu trùng khớp của nhiều phần và có thể chấp nhận nhiều kiểu dữ liệu . Text : dữ liệu nguyên bản, có thể được miêu tả trong mỗi tập kí tự hoặc trong ngôn ngữ định dạng . Video : một file video. X_world : là kiểu dữ liệu thực nghiệm cho world file . 2. CGI command line : Trong môi trường UNIX, user có thể gởi thông tin hoặc thực thi Shell Script trong một vùng gọi là command line . Thông tin được nhập vào command line thường được thực thi bằng một trình thông dịch . Command line thường được sử dụng để thi hành 1 ISINDEX query như là một cách đơn giản để thêm vào cách tìm kiếm liên kết tới tài liệu của bạn . ISINDEX query là một giải pháp tương đối dễ dàng cho việc tìm kiếm tài liệu. Vài server software cho phép bạn sử dụng thông số dòng lệnh trong phương thức khác nữa là sử dụng exec command . Với exec command bạn có thể trực tiếp thực thi một CGI script mà nó thi hành một action được chỉ rõ, ví dụ như trả về một giá trị được thay thế vào trong document của bạn. Exec command thông báo cho server để thực thi một dòng lệnh hoặc 1 script. Dữ liệu xuất của script được thay thế trong vị trí hiện -5- hành trước khi document được gởi tới client. Đoạn mã HTML sau đây sử dụng thông số dòng lệnh và nó gọi thực thi một Script có tên là daily-access : <p> This page has been accessed <!-#exec cmd="/usr/cgi-bin/daily_access" -> times today.</p> Script daily_access là một script mà nó tăng thêm 1 vào một count (đếm ) mỗi lần một trang được truy xuất trong một ngày, ví dụ người khách thứ 25 trong ngày sẽ thấy dòng chữ sau : This page has been accesssed 25 times today. -6- . client. -2- Việc trao đổi dữ liệu giữa 1 Client và 1 Server có nhiều phần. Những phần đó có thể phân ra làm 8 bước như sau : 1. Client gởi dữ liệu nhập tới 1 server. 2. Server thiết lập biến môi. và kiểm tra xem có dữ liệu được thêm vào theo Conmand line hay standard input stream (dòng nhập chuẩn) hay không. Sau đây là những phương thức thông thường để CGI Script nhận dữ liệu : 1. . user. Chỉ được thiiết lập khi có yêu cầu nhận dạng, nếu không bị bỏ trống. Có thể sử dụng nó kiểm soát quyền truy xuất của user. REQUEST_METHOD Cho biết method bởi chính yêu cầu tạo ra nó. -4- SCRIPT_NAME

Ngày đăng: 14/07/2014, 01:20

Tài liệu cùng người dùng

Tài liệu liên quan