Site icon Knowledge Base| Kiến thức Dịch vụ P.A Việt Nam

CGI là gì? Cách thức hoạt động của CGI như thế nào?

Bạn đang học về web và vô tình thấy rằng CGI vốn quen thuộc là kĩ xảo điện ảnh, nay lại trở thành một khái niệm gì đó xa lạ trong web? Vậy CGI là gì? Cách thức hoạt động của CGI như thế nào?

1. CGI là gì?

CGI là viết tắt của Common Gateway Interface, tạm dịch là giao diện cổng chung. CGI cung cấp một phần mềm trung gian giữa các máy chủ với cơ sở dữ liệu và nguồn thông tin bên ngoài. Trong đó máy chủ HTTP và 1 CGI script sẽ chịu trách nhiệm phản hồi yêu cầu từ người dùng.

2. Lịch sử hình thành của CGI

Máy chủ web tĩnh được sinh ra để phục vụ cho những yêu cầu từ máy trạm bằng cách lấy các thông tin được lưu trữ trên 1 thiết bị ra. Tuy nhiên, lượng thiết bị máy tính ngày càng nhiều, cơ chế này hoạt động sẽ kém hiệu quả hơn nhiều.

Sự phát triển mạnh mẽ của các website động chứ các ngôn ngữ kịch bản (script) ngày càng nhiều. Cơ chế hoạt động của máy chủ web cũng phải thay đổi để phù hợp với hiện tại.

Khi một máy trạm truy cập vào trang web động, máy chủ nhận yêu cầu và đưa đến 1 ứng dụng thứ 3. Ứng dụng này sẽ xử lý các script độc lập và trả về lại máy chủ web; máy chủ web sẽ chuyển tiếp các phản hồi lại cho khách hàng.

Cho đến năm 1993, một nhóm nghiên cứu của National Center for Supercomputing Applications (NCSA) tạm dịch Trung tâm nghiên cứu về siêu ứng dụng máy tính của Mĩ đã viết các đặc tả nhằm gọi các tệp thực thi dòng lên trên danh sách gửi thư www-talk.

Các nhà phát triển máy chủ web khác đã áp dụng nó và trở thành một tiêu chuẩn cho các máy chủ web kể từ lúc đó.

Đến năm 1997, nhóm nghiên cứu do Ken Coar chủ trì thuộc NCSA tập trung phát triển và đưa ra định nghĩa rõ ràng hơn về CGI, công việc này của họ dẫn đến RFC 3875, trong đó phiên bản đầu tiên của CGI là 1.1.

Các tác giả chính thức được ghi nhận như sau:

3. Các tính năng của CGI

4. CGI hoạt động như thế nào?

CGI là một giao thức trao đổi giữa máy chủ web và các ứng dụng cổng (gateway application) như PHP, Python,…

Trong thực tế CGI sẽ hoạt động như sau:

  1. Máy trạm gửi yêu cầu đến máy chủ web, máy chủ web nhận yêu cầu và chuyển tiếp cho ứng dụng cổng. CGI sẽ thực thi một câu lệnh tương ứng phù hợp với ứng dụng đó.
  2. Các thông tin chi tiết về yêu cầu được ứng dụng truyền qua bằng các biến môi trường, trong khi đó dữ liệu bằng các phương pháp POST hoặc PUT sẽ được truyền qua các cổng nhập tiêu chuẩn. Tức là CGI xử lý dữ liệu của nó song song với dữ liệu chính.
  3. Ứng dụng sẽ viết nội dung cần trả lời để máy chủ trả thông tin về cho người yêu cầu.

Nghe quá trình này khá đơn giản và hiệu quả. Tuy nhiên, hình thức này dần bộc lộ một số hạn chế như:

5. Ưu và nhược điểm của CGI

Ưu điểm

Code sẵn có để áp dụng vào phần mềm của bạn mà không phải code lại từ đầu.

CGI mạnh mẽ tương thích hầu hết với các ngôn ngữ và bất cứ nền tảng nào, miễn chúng có những đặc điểm kỹ thuật phù hợp.

Các tác vụ nâng cao vốn khó trong Java giờ có thể thực hiện dễ dàng hơn với CGI.

Nhược điểm

CGI rất tốn thời gian để xử lý.

Không lưu lại cache sau mỗi lần tải lại trang.

Mỗi lần tải lại sẽ tốn thêm thời gian do phải tải lại các chương trình vào bộ nhớ.


P.A Việt Nam cung cấp đa dạng các Plan Hosting đáp ứng yêu cầu của khách hàng
Hosting Phổ Thông
Hosting Chất Lượng Cao

Tham khảo các ưu đãi: https://www.pavietnam.vn/vn/tin-khuyen-mai/

Tham khảo các bài viết khác về hosting cPanel : https://kb.pavietnam.vn/category/linux-hosting/whm-cpanel

Rate this post
Exit mobile version