Sau lúc đã thiết đặt máy chủ web, cùng Python sinh sống hai bài bác trước, trong bài xích này bọn họ sẽ cách vào trái đất lập trình website với tế bào hình đơn giản dễ dàng nhất, mô hình CGI.

Bạn đang xem: Htaccess cgi access

CGI là viết tắt của Common Gateway Interface, dịch và đúng là giao tiếp cổng chung. Giao thức này được sinh ra để chuẩn hóa (hay xác minh rõ) cách thức một máy chủ web phó thác việc tạo thành trang web cho các ứng dụng console (các vận dụng nhận tài liệu từ cỗ nhập chuẩn chỉnh và xuất ra bộ xuất chuẩn). Các ứng dụng này được điện thoại tư vấn là những ứng dụng CGI, giỏi kịch bạn dạng CGI vày chúng thường được viết bằng ngữ điệu kịch bản, tuy vậy chúng cũng hoàn toàn có thể được viết bằng các ngôn ngữ khác ví như C, Java.


Mô hình hoạt động

Thông thường, một máy chủ web dìm yêu cầu từ máy khách với tìm tìm trên hệ thống xem gồm tập tin mà máy khách yêu cầu truy xuất giỏi không. Nếu có thì sever web vẫn xuất câu chữ của tập tin này mang đến máy khách.

Trong giao thức CGI, sever web nhấn yêu cầu từ sản phẩm khách, tìm kiếm kiếm trên khối hệ thống xem có áp dụng CGI kia không. Nếu có thì máy chủ web sẽ triển khai ứng dụng CGI, chuyển cục bộ yêu cầu đến ứng dụng thông qua các biến môi trường và cỗ nhập chuẩn. Ứng dụng CGI sẽ giải pháp xử lý yêu mong rồi gửi trả thông tin cho máy chủ web qua cỗ xuất chuẩn. Sever web đã nhận thông tin từ bộ xuất chuẩn chỉnh của ứng dụng CGI nhằm xuất trả lại cho máy khách. Tế bào hình buổi giao lưu của giao thức CGI được miêu tả trong hình sau.

*

Hello World

Để hiểu rõ hơn bí quyết hoạt động, chúng ta sẽ sinh sản một tập tin helloworld.py trong thư mục C:Program FilesApache Software FoundationApache2.2cgi-bin với ngôn từ như sau:


#!c:/python26/pythonprint "Content-Type: text/html"print ""print "Hello world."
Trước khi giải thích từng loại lệnh, họ sẽ coi xem công dụng đạt được là gì. Họ sẽ dùng trình phê chuẩn để vào trang http://localhost/cgi-bin/helloworld.py. Dĩ nhiên bọn họ cũng phải bảo đảm an toàn rằng sever Apache sẽ chạy. Và đấy là hình mà họ nhận được.

*

Các yếu hèn tố chính của lịch trình CGI

Như thế, chương trình CGI đầu tiên đã triển khai hoàn chỉnh. Hãy quay trở lại xem các yếu tố căn bạn dạng của một công tác CGI viết bằng ngữ điệu Python.

Dòng trước tiên được gọi được coi là dòng shebang cùng với hai cam kết tự quan trọng đặc biệt #!. Phần đi ngay sau hai ký kết tự này là con đường dẫn tuyệt vời đến trình thông dịch Python bên trên hệ thống. Chiếc này nói cho sever web hiểu được tập tin này rất cần được đọc vì trình thông ngôn Python.

Xem thêm: Hướng Dẫn Cách Test Bàn Phím Laptop Nhanh Chóng,, Test Bàn Phím Online

Dòng lệnh print trang bị nhất cung ứng một đầu mục (header) cho máy chủ web. Đầu mục này là Content-Type với nội dung là text/html. Đây là đầu mục đề nghị trong giao thức HTTP, vì chưng đó các ứng dụng CGI thường thì phải hỗ trợ đầu mục này.

Dòng lệnh in vật dụng hai (in ra một cái trống) báo cáo sự kết thúc của các đầu mục, và đông đảo gì theo sau đang là tài liệu nội dung. Dòng lệnh này là bắt buộc.

Dòng lệnh in thứ ba xuất văn bản chính, là chuỗi Hello world..

Các loại lệnh này là đông đảo yếu tố chính cấu tạo nên một công tác CGI viết bằng ngôn ngữ Python. Điểm đặc biệt nhất mà họ cần chú ý là câu hỏi xuất dữ liệu thông qua bộ xuất chuẩn (stdout), với định dạng của tài liệu cần xuất (đầu mục, chiếc trống, nội dung).


Thêm vào các thẻ HTML

Chương trình của chúng ta khá bi hùng tẻ vì bọn họ khai báo Content-Typetext/html nhưng chúng ta không sử dụng thẻ HTML. Chúng ta hãy sửa lại công tác như sau:


#!c:/python26/pythonprint "Content-Type: text/html"print ""print """ Python! Hello HTML.

Trở lại cùng với seri về Python. Nội dung bài viết này sẽ reviews về một điều rất thú vị, đó là CGI - Commond Gateway Interface
Common Gateway Interface hay CGI là một chuẩn chỉnh xác định phương pháp trao đổi tin tức giữa website server và một custom script. Hiện tại nó được maintain vị NCSA

CGI là gì ?

Common Gateway Interface hoặc CGI là một chuẩn cho các chương trình gateway để tiếp xúc thông tin với các server như là HTTP server
Vesion bây giờ là CGI/1.1 và CGI/1.2 vẫn trong quá trình phát triển

Web browsing

Để gọi hơn về định nghĩa của CGI, ta hãy xem chuyện gì xảy ra khi click vào một hyper links trong trình chăm bẵm ở một trang web hoặc một URL.

Trình xem xét sẽ liên kết với HTTP website server và yêu mong URL, filename...Web server vẫn phân tích cú pháp URL với tìm kiếm filename. Giả dụ nó tra cứu thấy file đó kế tiếp gửi chúng quay ngược lại cho trình duyệt, nếu không thì bọn chúng sẽ gửi một thông tin lỗi biểu lộ request mang lại file bị sai
Trình để mắt nhận bình luận từ website serrver với hiển thị file nhận được hoặc dìm một thông báo lỗi

Tuy nhiên, có thể thiết lập máy công ty HTTP nhằm bất cứ khi nào một tệp trong thư mục hướng đẫn được request không được nhờ cất hộ trở lại, nỗ lực vào đó nó được thực hiện như một chương trình và bất kể output như thế nào của chương trình đó được gửi lại nhằm trình duyệt y hiển thị. Chức năng này được gọi là Common Gateway Interface giỏi CGI và chương trình đó được gọi là CGI scripts. Những chương trình này hoàn toàn có thể là Python Script, Perl script, C or C++.

Sơ đồ bản vẽ xây dựng CGI

*

Cấu hình website server

Trước khi triển khai với lập trình CGI, đk tiên quyết là vps Web Server cung ứng CGI với nó được setup để xử trí chương trình CGI. Tất cả chương trình CGI được tiến hành bởi HTTP server với được lưu trong 1 thư mục được cấu hình sẵn. Folder này được điện thoại tư vấn là CGI Directory cùng theo quy mong nó được lấy tên là /var/www/cgi-bin. Theo quy ước, CGI file bao gồm extension như thể .cgi nhưng bạn cũng có thể giữ extension là .py cũng được.Mặc định, Linux vps được configure để chỉ chạy những scrip trong folder /var/www/cgi-bin. Nếu bạn muốn chỉ định ngẫu nhiên thư mục làm sao khác nhằm chạy CGI script, hãy bình luận những dòng tiếp sau đây trong httpd.conf file

Allow
Override None Options Exec
CGI Order allow,deny Allow from all
Options All
Sau lúc chạy thành công xuất sắc Web server, ta hoàn toàn có thể chạy bất kỳ chương trình CGI nào khác như Perl, Shell, C hoặc C++

First CGI Program

Dưới đấy là một link đơn giản, chúng được links tới một CGI script là hello.py. Tệp tin này được lưu trong /var/www/cgi-bin và có nội dung như dưới. Trước lúc chạy lịch trình CGI, sử dụng câu lệnh chmod 755 hello.py để file được lật sang mod hoàn toàn có thể thực thi được

#!/usr/bin/pythonprint "Content-type:text/html "print ""print ""print "Hello Word - First CGI Program"print ""print ""print "

Hello Word! This is my first CGI program

"print "