Computer >> Máy Tính >  >> Lập trình >> Python

CGI trong Python là gì?


  • Giao diện cổng chung, hoặc CGI, là một tiêu chuẩn cho các chương trình cổng bên ngoài để giao tiếp với máy chủ thông tin, chẳng hạn như máy chủ HTTP.
  • Phiên bản hiện tại là CGI / 1.1 và CGI / 1.2 đang được hoàn thiện.

Duyệt web

Để hiểu khái niệm về CGI, chúng ta hãy xem điều gì sẽ xảy ra khi chúng ta nhấp vào một liên kết siêu để duyệt qua một trang web hoặc URL cụ thể.

  • Trình duyệt của bạn kết nối với máy chủ web HTTP và yêu cầu URL, tức là tên tệp.
  • Máy chủ Web phân tích cú pháp URL và tìm kiếm tên tệp. Nếu nó tìm thấy tệp đó, hãy gửi nó trở lại trình duyệt, nếu không sẽ gửi thông báo lỗi cho biết rằng bạn đã yêu cầu một tệp sai.
  • Trình duyệt web nhận phản hồi từ máy chủ web và hiển thị tệp đã nhận hoặc thông báo lỗi.

Tuy nhiên, có thể thiết lập máy chủ HTTP để bất cứ khi nào tệp trong một thư mục nhất định được yêu cầu, tệp đó sẽ không được gửi lại; thay vào đó, nó được thực thi như một chương trình và bất cứ thứ gì mà chương trình đó xuất ra đều được gửi lại để trình duyệt của bạn hiển thị. Chức năng này được gọi là Giao diện cổng chung hoặc CGI và các chương trình được gọi là tập lệnh CGI. Các chương trình CGI này có thể là Tập lệnh Python, Tập lệnh PERL, Tập lệnh Shell, chương trình C hoặc C ++, v.v.

Sơ đồ kiến ​​trúc CGI

CGI trong Python là gì?

Hỗ trợ và cấu hình máy chủ web

Trước khi bạn tiếp tục Lập trình CGI, hãy đảm bảo rằng Máy chủ Web của bạn hỗ trợ CGI và nó được cấu hình để xử lý các Chương trình CGI. Tất cả các Chương trình CGI được thực thi bởi máy chủ HTTP được lưu giữ trong một thư mục được cấu hình trước. Thư mục này được gọi là Thư mục CGI và theo quy ước, nó được đặt tên là / var / www / cgi-bin. Theo quy ước, các tệp CGI có phần mở rộng là. cgi, nhưng bạn cũng có thể giữ các tệp của mình bằng phần mở rộng python .py.

Theo mặc định, máy chủ Linux được định cấu hình để chỉ chạy các tập lệnh trong thư mục cgi-bin trong / var / www. Nếu bạn muốn chỉ định bất kỳ thư mục nào khác để chạy các tập lệnh CGI của mình, hãy nhận xét các dòng sau trong tệp httpd.conf -

<Directory "/var/www/cgi-bin">
   AllowOverride None
   Options ExecCGI
   Order allow,deny
   Allow from all
</Directory>
<Directory "/var/www/cgi-bin">
Options All
</Directory>

Ở đây, chúng tôi giả định rằng bạn đã thiết lập và chạy thành công Máy chủ Web và bạn có thể chạy bất kỳ chương trình CGI nào khác như Perl hoặc Shell, v.v.