XÂY DỰNG MỘT CHƯƠNG TRÌNH CGI TRÊN C - Pdf 71

 XÂY DỰNG MỘT CHƯƠNG TRÌNH CGI TRÊN C
ITruyền số liệu cho CGI gateway
Web Server có thể chuyển thông tin cho gateway bằng tham số dòng lệnh,
bằng biến môi trường hoặc bằng dòng nhập chuẩn.
I.1 Truyền thông tin qua tham số dòng lệnh
Ta xem xét trường hợp Web Server truyền thông tin cho các gateway qua
tham số dòng lệnh (command line argument). Trong trường hợp này, Web Server
tách chuỗi tham số dòng lệnh thành các từ riêng rẽ và phân cách chúng bằng các
dấu cộng (“+”) rồi đặt chúng vào tham số dòng lệnh. Từ đầu tiên của chuỗi yêu cầu
sẽ trở thành phần tử đầu tiên ngay sau tên của ngữ trình. Chú ý là nếu chuỗi yêu
cầu dài quá độ dài quy định của tham số dòng lệnh thì Server sẽ không ghi giá trị
gì vào tham số dòng lệnh mà biến môi trường QUERY_STRING sẽ chứa giá trị đó.
I.2 Truyền thông tin qua biến môi trường
Với trường hợp này, các thông tin về yêu cầu của Web Browser được Web
Server truyền cho ngữ trình CGI thông qua các biến môi trường của Server.
Phương thức truy nhập các biến môi trường của ngữ trình CGI phụ thuộc vào ngôn
ngữ viết nên ngữ trình đó. Nếu một biến môi trường không thích hợp trong ngữ
cảnh yêu cầu thì nó sẽ không được thiết lập hoặc sẽ được đặt giá trị là một chuỗi
rỗng. Các biến môi trường sau đây được dùng để chuyển thông tin cho Web Server
tới các ngữ trình CGI:
1* QUERY_STRING: Nếu URL có chứa chuỗi yêu cầu, biến này sẽ chứa giá trị của
chuỗi yêu cầu đó.
2* CONTENT_TYPE: Biến này sẽ được xác định trong trường hợp nếu dữ liệu được
gắn vào yêu cầu và chuyển qua dòng nhập chuẩn. Nó chỉ ra kiểu MINE của dữ liệu
đó.
3* CONTENT_LENGTH: Chứa giá trị độ dài của dữ liệu nếu dữ liệu được gắn vào
yêu cầu và chuyển qua dòng nhập chuẩn của GateWay.
4* PATH_INFO: Chứa bất kỳ dữ liệu nào được thêm vào URL
5* PATH_TRANSLATED: Chứa thông tin được đưa ra trong biến PATH_INFO
nhưng được thêm vào đầu đường dẫn tới gốc của Web Server.
6* GATEWAY_INTERFACE: Xác định số hiệu phiên bản của CGI mà Web Server

sau đó gửi trả lại cho người sử dụng.
II.1 Truy cập dữ liệu từ Form
II.1.1 Các xâu query
Một cách để gửi dữ liệu dạng Form tới chương trình CGI là ghi tiếp các
thông tin về form vào địa chỉ URL đạt sau dấu hỏi. Các dạng URL có thể như sau:
http://acernt/cgi/name.c?fortune.
Sau dấu chấm hỏi được gọi là xâu query (query string). Khi chuyển địa chỉ URL và
xâu query tới Server, Server sẽ gọi chương trình CGI được chỉ định ở phần URL
trước dấu hỏi và lưu trữ ở phần sau dấu hỏi vào biến môi trường
II.1.2 Chương trình xử lý Form
Để thực hiện một chương trình CGI cần phải bắt đầu từ một trang HTML có
chứa một URL chỉ đến ứng dụng CGI đó. Một trang HTML đó có thể viết như sau:
<html>
<head>
<title>chào bạn</title>
</head>
<body>
<h1>CGI Application Example </h1>
<br>
<form action="http://sco5:7000/cgi/ktra" method="POST" >
Ten ban :<input Name="name_file" type="text"><p>
Tuoi ban:<input name="tuoi" type="text"><p>
<input type="submit" value="chay,click here!">
</form>
</body>
</html>
Form nhập dữ liệu:
Trong Form trên ta thấy có hai nút: Chạy, Click here và Nhập lại
Nút Chạy, Click here dùng để chuyển những thông tin trong Form tới chương trình
CGI. Sau khi nhập những thông tin cần thiết và chọn Chạy, click here ta sẽ nhận


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status