Common gateway interface

27 1.4K 6
Common gateway interface

Đ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

Common gateway interface

PHẦN A : TÌM HIỂU ĐỀ TÀI CHƯƠNG I COMMON GATEWAY INTERFACE    Với giao thức HTTP trình duyệt Web truy cập đến nhiều dịch vụ Internet, tất Bản thân trình duyệt có giới hạn khả liên hệ với dạng khác với file HTML tónh Một cách để vượt qua giới hạn sử dụng Gateway Một Gateway cung cấp cho Client giao diện để tạo file dịch vụ mở rộng, xuất tài liệu HTML đọc Điều cho phép người sử dụng có khả truy cập vào dịch vụ khác Web Server bạn nhập liệu vào Web Server thông qua HTTP Những Gateway Server nơi chúng lấy Input người sử dụng Client sau liệu xuất máy Client dạng sử dụng tài liệu HTML URL Bản thân Gateway liên hệ làm thỏa mãn tất yêu cầu đòi hỏi Client, tìm tập tin, chương trình Script Server để thực công việc I KHÁI NIỆM CGI (common gateway interface) CGI chuẩn truyền thông Server Gateway program Khi Client truy xuất dến Gateway program, Sever kích hoạt chương trình trao cho liệu gữi từ Client mà Servser nhận Khi chương trình xử lý xong liệu, gửi kết cho Server dựa vào Server gửi kết cho Client Đúng tên gọi, CGI đóng vai trò cửa ngỏ, trạm trung chuyển Server Gateway program, định liệu truyền qua lại Server Gateway Program Như biết, HTML bẩm sinh tạo cho người sử dụng cảm giác hoàn toàn thoải mái ngao du web Ở đầu trái đất, muốn tìm thông tin tận ngõ ngách trái đất, việc ngồi vào trước máy tính nối mạng vànhấp chuột vào dòng văn đổi màu trang Web Vì ? Vì máy có browser tất công dân Web sử dụng ngôn ngữ HTML Với HTML, bạn xem tất thông tin, điều kì thú Web Nhưng bạn nhanh chóng nhận rằng, công việc xem Tivi hay nghe Radio mà thôi.Đôi bạn muốn góp ý cách riêng tư với đó, bạn lựa chọn việc đưa ý kiến lên mạng cho người xem, người biết mà đọc, hay bạn phải sử dụng công cụ khác email Bạn lại mong muốn sử dụng dịch vụ tra cứu điện thoại, hỏi đáp… không tài thực được, nói cách khác, bạn không tương tác trang Web => CGI đời để đáp ứng nhu cầu tương tác qua lại trang Web Cho phép thực mong muốn sử dụng dịch vụ tra cứu điện thoại, hỏi đáp, sổ vàng Internet … Nó phải sử lý sở liệu phức tạp để sử dụng mong muốn mà HTML làm THE CGI EXPLORED CGI định rõ hướng nơi Gateway Server liên lạc với Web server Khi liệu đến từ trình duyệt Web máy Client, liệu chứa truy vấn form HTML sử dụng phương pháp yêu cầu GET POST sau dịch vụ Internet “inets” khởi động dịch vụ http (https) để liên lạc với liệu HTTP đến Dịch vụ HTTP gởi thông điệp sử dụng đặc điểm kỹ thuật CGI đến chương trình Gateway Server Gateway nhận liệu từ trình duyệt liệu nhập chuẩn biến môi trường Sử dụng liệu Gateway bắt đầu với câu trả lời cần thiết việc Parsing xử lý liệu Client Parsing thủ tục máy vi tính đặt liệu vào, tìm tất cú pháp lưu vào biến cần thiết, sẳn sàng để thực thi yêu cầu đặt Dữ liệu quay trở lại dịch vụ http HTML vài dạng liệu khác mà HTTP sử dụng được, sau dịch vụ http gởi liệu đến trình duyệt Web máy Client Có thể câu trả lời từ Gateway liệu vừa nhận dành cho việc lưu trữ nhập vào sở liệu Folder tập tin Server CGI and YOUR SERVER (CGI Server bạn) Để làm việc hiệu quả, CGI phải biếi nơi có vật tồn Cho phép thực thi chức khác nhau, giữ rãnh ghi người truy cập sử dụng, chạy debug Script CGI bạn, bạn phải biết nơi nhũng vật tồn Tất điều tổ chức thư mục thông dụng khác server bạn Bạn không hạn chế tên thư mục sử dụng chúng tên tập tin sử dụng cách thông dụng cho thư mục biểu thị mục đích Chú ý : Có rắc rối thường xảy làm việc với WIN NT, hầu hết Resource liên hệ với CGI, liên hệ với mạng khác viết từ UNIX sử dụng thành phần, khái niệm UNIX chung dịch sang dạng WIN NT cách dễ dàng The DIRECTORIES Sever NT làm việc dựa vào nhiều thứ, với hệ thống thư mục tổ chức tốt, quản lý liệu xác định điều hành mau lẹ Server Nếu dịch vụ bạn không tìm thấy liệu yêu cầu chúng làm việc xác Một Server tổ chức tồi bắt buộc dịch vụ khác xuyên qua nhóm thư mục thư mục trước chúng tìm thấy điều tìm thật khó chịu Sau thành phần sử dụng Server để điều hành chương trình CGI Đây tất thư mục mà bạn phải truy cập vào để lập trình Gateway thành công Nếu bạn người quản trị hệ thống bạn cần thảo luận vấn đề với người quản trị  Sever root : Nhiều tập tin rõ nơi chương trình CGI thao tác quyền thực thi lưu thư mục gốc Server Thư mục thường đặt ổ đóa C máy Sever Bên thư mục gốc server có vùng quan trọng : thư mục LOG thư mục REGISTRY Nếu bạn quyền thư mục bạn sử dụng Script Perl , nhiên việc bạn phải hỏi ý kiến người quản trị hệ thống thông tin cộng thêm hay quyền đặt biệt cần thiết cho bạn Thư mục LOG nơi tất tập tin log lưu trữ , bao gồm lỗi xâm nhập vào mạng, bảo mật, hệ thống ứng dụng Tập tin quan trọng error log, nơi lưu tất lỗi liên quan đến tài liệu HTML, chương trình CGI SSI (Server Side Includes) Truy cập vào hệ lỗi cần thiết cho việc gỡ rối hệ thống bạn Bạn nhìn thấy log Windows NT sử dụng Event Viewer Trên Windows NT Server, log bảo mật log giữ rãng ghi người sử dụng (và sử dụng) tài nguyên Server Log có ích truy tìm việc thành công từ trang Wen khác bạn nhận Log bảo mật dùng hai icon Event Viewer sử dụng để làm tăng tốc độ tìm kiếm bạn Một chìa khóa sử dụng để tượng trưng cho hành động thành công , khoá để biểu thị cho hành động không thành công Có Log khác mà Windows NT chạy phần việc thiết lập Server Đó Log hệ thống ghi lại tất kiện xảy hệ thống Windows NT , Log ứng dụng ghi lại kiện xảy suốt trình ứng dụng chạy Windows NT Bạn có Log giữ rãnh ghi loại thông tin Nếu có chỗ phức tạp sử dụng nhiều thẻ html tạo NETSCAPE ( : ), bạn sử dụng Java, bạn muốn có tài liệu HTML xen kẻ cho trình duyệt , MOSAIC không hỗ trợ tag NETSCAPE đòi hỏi Bạn sử dụng log dùng chung với Perl Script, đếm loại trình duyệt khác truy cập vào Server bạn Dữ liệu sử dụng để tổ chức lại site bạn cho phép lệnh cho trình duyệt khác trang Web tạo đặc biệt dành cho trình duyệt Thư mục Registry chứa tạm liệu cấu hình khởi tạo từ Registry điều khiển việc sử dụng trình ứng dụng : Registry Editor, Control Panel, User Manager File Manager Dữ liệu Registry thiết lập nên trường hợp xảy cho phép, xảy sử dụng biến môi trường Server bạn Sự cho phép điều khiển việc sử dụng tuỳ chọn "Permissions" menu Security file Manager Bạn bật SSIs lên để trang Web bạn sử dụng chức SSIs vàcũng cho Server biết phần mở rộng tập tin bảng ghi chi tiết kỹ thuật MIME , : x-parsed-html-type việc sử dụng tùy chọn Associate menu File file Manager Điều quan trọng giữ cho Server cập nhật ghi chi tiết kỹ thuật MIME để kiểu tập tin khác sử dụng Server Một vài kiểu mở rộng tập tin sử dụng để xác định tập tin Server tìm kiếm cho SSI Tập tin với phần mở rộng ".shtml" phân tích Server SSI Bạn phải kiểm tra xem loại tập tin Server cho phép cách kiểm tra phần tên mở rộng tập tin hệ thống chấp nhận Để làm việc này, ta sử dụng Registry Editor nhìn vào thư mục : HKEY_LOCAL_MACHINE/ SOFT WARE Folder thư mục Classes Một danh sách đầy đủ tên tập tin hệ thống chấp nhận liệt kê với tên chúng, thông tin tên tập tin dạng văn (text) lưu trữ folder có tiêu đề ".txt" Microsoft đề nghị bạn nên sử dụng chế độ Read-only dùng Registry Editor, muốn thay đổi thông qua ứng dụng Control Panel thích hợp, chức có thủ tục xác để làm thay đổi Registry cài sẵn Thêm phần mở rộng ".pl" tập tin Perl, bạn sử dụng File Manager, vào menu File, chọn Associate Ngược lại, bạn có kế hoạch đặt hoàn hảo cho việc quản lý nhớ, hạn chế việc phân tích vài kiểu đó, Server thiếp lập để kiểm tra tất tài liệu, giảm tất công việc nặng nhọc cho bạn Thông tin lệnh ảnh hưởng đến thư mục tìm thấy thẻ form HTML sau : < DIRECTORY directory_path > directory_path nơi chứa tất tập tin thư mục bên thư mục Câu lệnh thiết lập nêu phải kết thúc với thẻ : Sử dụng công cụ (tool) có Event Viewer tùy chọn sorting hay filtering để điều khiển liệu log Hay xếp danh sách cách có trật tự liệu nhập (entry) biến cố (event) theo thứ tự từ cũ đến ngược lại cách chọn tùy chọn menu View Event Viewer ( tùy chọn đề nghị sẵn từ cũ đến nhất) Kích cỡ (size) log kiện nhanh chóng trở thành vấn đề cần phải giải server bận rộn Chế độ lọc (filtering) giúp làm giảm vấn đề Khi kiện (event) lọc, bạn xác định lúc việc liệt kê kiện bắt đầu kết thúc ; kiểu kiện ghi Việc ghi (log) bắt đầu dòng nhập (entry) gán ngày cụ thể Việc ghi liệt kê kiện cuối có ngày kết thúc cụ thể Chúng ta đề nghị nên chọn chuỗi kiện cụ thể để xem toàn danh sách nhanh chóng trở nên dài Những kiểu kiện khác bao gồm :  Thông tin  Cảnh báo (warning) : cho lỗi chưa đến mức nguy cấp Mục quan trọng để lưu ý vấn đề xảy tương lai  Error : lỗi nguy cấp làm liệu làm hư hàm chủ yếu  Kiểm tra thành công : kiện kiểm tra thực thi hành động thành công  Kiểm tra thất bại : kiện kiểm tra thực thi hành động bị thất bại Để tìm kiện cụ thể, vào Event Viewer chọn menu View, chọn chức Find Những thông số hữu ích cho việc định vị kiểu kiện log cụ thể, cho dù bạn có tìm kiếm lỗi hay không, hay để xác định có ứng dụng khởi đầu thành công hay không II CGI SCRITP CƠ CHẾ HOẠT ĐỘNG CGI 1> CGI SCRIPT Các trình ứng dụng CGI thường viết ngôn ngữ lập trình hỗ trợ Script nên gọi Script.Các ngôn ngữ phải có khả đọc biến môi trường.Trên Unix,người ta sử dụng ngôn ngữ C,C + + ,TCL,Perl,Python,Bourne,Korn hay C shells.Trên Windows NT người ta thường sử dụng C,C++,Perl hay Visual Basic (windows CGI) => CGI Script ngoại chương trình chạy Web Server Chúng ta sử dụng CGI Script để tạo Web tương tác mức độ cao CGI Script định nghóa chuẩn cho ngoại chương trình sử dụng Web Server chúng tác động với chương trình ứng dụng khác common gateway interface Đúng với tên gọi, CGI có vai trò cửa ngõ trung gian Server chương trình Gateway CGI chuẩn truyền thông Server chương trình Gateway CGI cho phép người tạo Web che dấu người đọc phức tạp việc xử lý liệu trang Web Người đọc việc click vào vùng, hình ảnh, dòng chữ đánh dấu, nhập vào mẫu đăng kýcósẵn sau click vào vùng trang Web hoàn thành việc đăng ký Mọi thứ sau click chuột dường xảy cách tự động người đọc không cần biết liệu xử lý lại Là người tạo Web phải hiểu chất CGI Script làm việc Trong người đọc cần nhìn kết việc đăng ký cuả họ trả lời câu hỏi đưa ra, có nhiều công đoạn xảy đằng sau tóm tắt sau :  Trình duyệt người đọc chuyển liệu cần nhập vào đến Server  Server chuyển trở lại liệu nhập đến CGI Script  CGI Script xử lý liệu nhập , chuyển liệu đến trình ứng dụng khác cần thiết, sau gởi liệu xuất Web Server  Web Server chuyển liệu xuất trở trình duyệt cuả người đọc Như biết phần sử dụng CGI Script giúp ta tự động hoá số công việc làm tay nhiều thời gian, giúp ích cho người đọc có đơn giản, tự động trả lời cho liệu họ nhập vào cách dễ dàng đăng kí (submit), nhanh chóng điều khiển việc tìm kiếm CGI script xác nhận định danh cuả user thông tin password cuả họ, cấp cho user quyền truy xuất vùng giới hạn cuả Web site Mô hình hoạt động theo chế CGI Với mô hình hiểu thêm phần CGI CGI Script 2> CƠ CHẾ HOẠT ĐỘNG CỦA CGI Trong chế hoạt động CGI ta cần phân tích phần: - Giao tiếp Client Server - Giao tiếp Server CGI Trong : Giao tiếp Client Server HTTP đảm trách Giao tiếp Server CGI script chế CGI đảm trách A GỞI DỮ LIỆU CỦA CLIENT CHO SERVER Có cách: a.Query string : Client cho biết thông tin yêu cầu URL Ví dụ có CGI Script tên Search, Script viết để tìm kiếm chuỗi ký tự tất file thư mục gốc Client muốn sử dụng Script có dạng sau : Http://www/script/search?search_string Trong URL phần phía sau dấu '?' gọi query tring, ví dụ query string search_string Client đẫy query string lên Server Server kích hoạt CGI script có tên Search trao cho query string mà server vừa nhận b.Extra path : Cũng ví dụ trên,nhưng bạn muốn tìm kiếm thư mục khác,bạn phải thêm thông tin URL : http://www/Scripts/Example/dir?search_string chuỗi example/dir Server thông dịch thông tin extra path, query string search_string Trong hai trường hợp trên, Client đưa thông tin cho Server thông qua biến môi trường (enviroment variable), ứng với query string có biến QUERY_STRING, ứng với extra path PATH_ INFO Chúng ta tham khảo biến môi trường sau c.Message Body : Dữ liệu Client gửi đóng gói message, cách áp dụng với method POST thưòng sử dụng với form html Server nhận message từ form gửi liệu "post" lại cho Gateway Program Gateway Program đọc liệu từ thiết bị nhập chuẩn (Standard Input) Các liệu client gửi cho server mã hóa B GỞI DỮ LIỆU TỪ SERVER ĐẾN SCRIPT Gateway Script sử dụng để xử lý việc đăng nhập cuả người đọc trang Web cuả Dữ liệu nhập thường form biến môi trường đến Gateway Script Web server Những biến môi trường mô tả thông tin mang đến, kiểu cuả liệu , kích thước cuả liệu , thông tin quan trọng khác CGI qui định chế cho Server gửi liệu cho Script Có chế a.Thông số dòng lệnh (Command line argument) : Server gọi Script theo chế Command line Cơ chế dùng với giải pháp GET ISINDEX query ISINDEX query method đẩy liệu cho Gateway Program thông số dòng lệnh kỹ thuật đơn giản sử dụng Vấn đề đặt phân biệt ISINDEX query Thật đơn giản ISINDEX query không chứa dấu "=" chưa mã hóa Như nói trên, liệu Client gửi cho Server mã mã hóa, dấu "=" mã hóa thành chuỗi "%3d" Do đó, diện dấu "=" query string chứng kết luận không ISINDEX string không áp dụng chế Command line b Thiết bị nhập chuẩn (Standard input): Script đọc thông tin mà Server trao từ Standard input Đây cách liệu Client thông qua method POST đẩy lên cho Script Để đọc liệu Script cần phải tham khảo biến CONTENT_ LENGTH để biết chiều dài liệu cần phải đọc vào c Biến môi trường (Enviroment variable) : Server đặt thông tin vào biến môi trường trước gọi Script Script truy xuất biến để lấy thông tin Mọi thông tin Client gửi, trừ liệu POST, đẩy cho Script thông qua biến môi trường Như có biến môi trường để cất Query string , Extra path tất nội dung Client gửi cho Server Người đọc gởi thông tin đến CGI Script cách kích hoạt liên kết chứa đựng dấu dẫn tới Script Gateway Script xử lý liệu nhập định dạng kết liệu xuất cho Web server sử dụng Web server lấy kết gởi trở lại cho Browser (cuả người đọc), browser hiển thị kết xuất hình Dữ liệu xuất từ Gateway Script bắt đầu header chứa hướng dẫn tới server, chứa thông tin sau : kiểu nội dung , vị trí , trạng thái Header Việc trao đổi liệu Client Server gồm có nhiều phần Những phần phân làm bước sau : Client gởi liệu nhập tới server Server thiết lập biến môi trường gắn liền với liệu nhập Server gởi liệu nhập biến ( variable ) tới CGI Script Server gởi liệu nhập command-line dòng standard input tới CGI Script thấy cần thiết Script xử lý liệu nhập Script gởi trả liệu xuất tới server Dữ liệu xuất chứa đựng header hạn chế chứa BODY liệu thêm vào cần thiết Server thiết lập biến môi trường gắn liền với liệu xuất Server gởi liệu xuất cho Client C GỞI TRẢ DỮ LIỆU CHO SERVER Có cách để Script gửi liệu cho Server a.Ghi thiết bị xuất chuẩn : Script gửi liệu cho Server cách ghi liệu thiết bị chuẩn, cách Script gửi liệu cho Client Tổng quát, liệu gửi bao gồm hai phần, phần thứ tập hợp Server directive mà Server dùng phân tích liệu tạo Respone Header, phần thứ hai liệu Script trả b.Trả tên Script : Cách thứ hai trả liệu tên Gateway Program Gateway Program có tên bắt đầu chuỗi nph- gọi nonparsed header program Đặt biệt Script loại này, Server không phân tích liệu chương trình xuất mà gửi thẳng cho Server Do đó, viết chương trình loại này, bạn phải chắn nắm kỹ cách tạo Respone header không muốn Brower "lơ là" với liệu bạn 3> NHẬP DỮ LIỆU VÀO CGI SCRIPT : Khi user kích hoạt liên kết tới Gateway Script, liệu nhập gởi tới Server Server định dạng lại liệu vào biến môi trường kiểm tra để xem liệu thêm vào đưa theo dòng lệnh dòng thiết bị nhập chuẩn a) Biến môi trường ( Evironment Variables ) Dữ liệu nhập CGI Script thông thường form biến môi trường Biến môi trường gởi tới Gateway Script kết hợp với thông tin yêu cầu browser từ server , server xử lý yêu cầu , liệu gởi tới yêu cầu  Các biến môi trường thường gặp : CONTENT_LENGTH = length : Nếu Client POST hay PUT liệu cho Server, biến môi trường chứa chiều dài message (tính byte), liệu biến NULL Điều cần lưu ý length dạng chuỗi ký tự Do bạn truy xuất đến phải nhớ đổi số Như C bạn dùng hàm atoi() CONTENT_TYPE = type/subtype(;parameter) : Cho biết loại liệu mà Script truyền Server lấy dòng thay cho dòng Cont_type mặc định GATEWAY_INTERFACE = CGI/version : Cho biết version interface (CGI) sử dụng, version1.1 HTTP_ACCEPT = type/subtype, type/subtype… : Lưu trữ danh sách MIME-Type cho Client nhận (nằm Resquest header Client) Script dùng thông tin để định loại liệu gửi cho Client HTTP_USER_AGENT= program/versipn : Chứa nội dung file USER_ AGENT header request HTTP_FROM = e_mail addr : Địa e_mail user mail gửi Browser HTTP_IF_MODIFIED_SINCE = date : Chứa nội dung field If_Modified_ Since header request PATH_INFO = extra_path: Chứa extra_path URL QUERY_STRING = query_string : Chứa query_string nằm sau dấu "?" URL Lưu ý thông tin chưa giải mã, programer phải tự viết lấy REQUEST_METHOD = HTTP_method : METHOD Client sử dụng (POST,GET,…) SERVER_NAME = domain.name : Lưu trữ domain name server, domain name vào địa IP SERVER_PORT = number : Địa port mà Client gọi xem mã nguồn HTML , họ thấy trị xuất họ download vào máy tính họ thứ lại Lý command thực thi cách dứt khoát bị đụng độ Exec command thông báo cho server để thực thi dòng lệnh script Dữ liệu xuất script thay vị trí hành trước document gởi tới Client Đoạn mã HTML sau mang thông số dòng lệnh gọi thực thi script có tên daily-access :

This page has been accessed times today.

Script daily_access simple script, thêm vào count (đếm ) lần trang truy xuất ngày đặc biệt , ví dụ người khách thứ 25 ngày thấy dòng chữ sau : “ This page has been accesssed 25 times today ”  CGI STANDARD INPUT Hầu hết input gởi tới Web server sử dụng để thiết lập biến môi trường, tất thích hợp biến môi trường Khi user đăng ký liệu hành xử lý gateway script , liệu nhận URL_encoded search string (tìm chuỗi URL mã hóa ) thông qua dòng liệu nhập chuẩn (standard input stream) Server biết biết cách xữ lý liệu hành method thích ứng cho loại liệu Việc gởi liệu standard input cách trực tiếp hay để gởi liệu Server báo cho gateway script có tập 8-bit liệu đọc từ standard input Script mở dòng liệu nhập chuẩn đọc số lượng rõ liệu Trong URL_encoded search string dài bỏ bớt , liệu gởi vào dòng liệu nhập chuẩn không cắt ngắn Do dòng liệu nhập chuẩn cách ưu tiên để gởi liệu  CLARIFYING CGI INPUT ( Làm sáng tỏ CGI input ) Bạn nhận phương thức đăng ký (submission method) bạn tạo fill-out form Dưới HTTP 1.0 , có hai submission method cho form : Method GET cuûa HTTP sử dụng URL_encoded search tring Khi server nhận URL_encoded search string , server đánh dấu trị search string tới biến QUERY_STRING Method POST HTTP sử dụng standard input stream Khi server nhận liệu từ standard input stream , server đánh dấu trị kết hợp với chiều dài input stream tới biến CONTENT_LENGHT Một ví dụ Web document chứa form với trường khóa : NAME , ADDRESS , PHONE_NUMBER Giả sử URL tới script : http://www.tvb.com/cgi-bin/survey.pl user trả lời sau : Sandy Brown 12 Sunny Lane WhoVille , USA 987-654-3210 Chính thông tin đăng ký sử dụng method POST GET xem xét khác server Khi method GET sử dụng , server thiết lập biến môi trường sau gởi liệu nhập vaøo script survey.p1 : PATH=/bin:/usr/bin:/usr/etc:/usr/ucb SERVER_SOFTWARE = CERN/3.0 SERVER_NAME = www.tvb.com GATEWAY_INTERFACE = CGI/1.1 SERVER_PROTOCOL = HTTP/1.0 SERVER_PORT = 80 REQUEST_METHOD = GET HTTP_ACCEPT = text/plain, text/html, application/rtf,application/postsript, audio/basic, audio/x-aiff, image/gif, image/jpeg, image/tiff, video/mpeg PATH_INFO = PATH_TRANSLATED = SCRIPT_NAME = /cgi-bin/survey.pl QUERY_STRING = NAME=Sancy+Brown&ADDRESS=12+Sunny+Lane+WhoVille, +USA &PHONE_NUMBER=987-654-3210 REMOTE_HOST = REMOTE_ADDR = REMOTE_USER = AUTH_TYPE = CONTENT_TYPE = CONTENT_LENGTH = Khi method post sử dụng , server thiết lập biến môi trường sau đây, sau gởi input tới script survey.p1 : PATH=/bin:/usr/bin:/usr/etc:/usr/ucb SERVER_SOFTWARE = CERN/3.0 SERVER_NAME = www.tvb.com GATEWAY_INTERFACE = CGI/1.1 SERVER_PROTOCOL = HTTP/1.0 SERVER_PORT = 80 REQUEST_METHOD = POST HTTP_ACCEPT = text/plain, text/html, application/rtf,application/postsript, audio/basic, audio/x-aiff, image/gif, image/jpeg, image/tiff, video/mpeg PATH_INFO = PATH_TRANSLATED = SCRIPT_NAME = /cgi-bin/survey.pl QUERY_STRING = REMOTE_HOST = REMOTE_ADDR = REMOTE_USER = AUTH_TYPE = CONTENT_TYPE = application/x-www-form-urlencoded CONTENT_LENGTH = 81 Dữ liệu POST-submitted sau gởi tới gateway script thông qua standard input stream : NAME=Sandy+Brown&ADDRESS=12+Sunny+Lane+WhoVille, +USA&PHONE_NUMBER=987-654-3210 † OUTPUT FROM CGI SCRIPTS Sau script xử lý xong input xuất output trở lại cho server Server tiến hành gởi output cho client Thông thường output form HTTP đáp lại gồm1 header theo sau khoảng trắng BODY Trong output CGI header format hoàn toàn , BODY output format theo cách thức bạn rõ header Ví dụ , BODY chứa HTML document để client hiển thị † CGI HEADERS CGI header chứa hướng dẫn tới server Hiện thời có ba dẫn server hợp lệ : Content-type Location Status Moät single header chứa tất dẫn server CGI script bạn xuất dẫn tới server Trong header theo sau khoảng trắng mà tách (separates) header từ BODY , output không chứa BODY † CONTENT_TYPES USED IN CGI HEADERS : Trường content_type CGI header rõ MIME type liệu bạn gởi trở lại cho client Thường liệu xuất từ script document format đầy đủ , ví dụ HTML document Bạn rõ điều header sau : Content-type : text/html † LOCATION USED IN CGI HEADERS : Output script bạn không document tạo script Bạn tham khảo document Web sử dụng trường Location Trường Location sử dụng để xem file URL Server xử lý Location trực tiếp gián tiếp phụ thuộc vào vị trí file Nếu Server tìm thấy file cục , gởi file tới Client Nếu không Server gởi URL lần tới Client Client nhận file Bạn rõ Location nhö sau : Location : http://www.typress.com/ † STATUS USED IN CGI HEADERS : Trường Status sử dụng để gởi Status Line tới Server để chuyển tới Client Mã Status biểu diễn mã three-digit theo sau chuỗi thông thường dùng để giải thích điều xảy Số mã Status cho thấy Status sau : 1xx chưa cấp phát 2xx thành công 3xx gởi lại lần 4xx Client bị lỗi 5xx Server bị lỗi Nhiều mã Status sử dụng server, mã Status bạn gởi tới Client thông qua CGI script bạn thường mã Client error Ví dụ script tìm thấy file thay cách không trả lại , bạn rõ script xuất mã lỗi Đây danh sách mã Client error : Status : 401 không phép, xác nhận không thành công User không phép truy xuất file truy xuất lần Status : 403 bị cấm Yêu cầu không chấp nhận , user không phép truy xuất file Status : 404 không tìm thấy Chỉ rõ tài nguyên tìm thấy Status : 405 method không cho phép Việc đưa method không cho phép xử dụng † CLARIFYING CGI OUTPUT: Việc tạo liệu xuất từ CGI script dễ dàng Tất việc bạn phải làm định dạng liệu xuất vào header body, sử dụng ngôn ngữ lập trình Ví dụ bạn muốn script xuất tài liệu HTML xử dụng PERL sau : #!/usr/bin/perl #create header with extra line space print “content-type: text/html\n\n”; #Add body in HTML format print

Ngày đăng: 03/09/2012, 16:02

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan