Cgi Là Gì?

Thảo luận trong 'Công Nghệ' bắt đầu bởi Táo Ngọt, 15 Tháng bảy 2021.

  1. Táo Ngọt

    Táo Ngọt Member

    Bài viết:
    Tìm chủ đề
    555
    CGI là gì?

    CGI là gì?

    [​IMG]

    Giao diện cổng vào chung (CGI) là giao điểm giữa các máy chủ web, qua đó có thể trao đổi dữ liệu chuẩn hóa giữa các ứng dụng bên ngoài và máy chủ. Nó thuộc về những công nghệ giao diện trực tuyến lâu đời nhất hiện có và vẫn được sử dụng thường xuyên cho đến ngày nay. Khi sử dụng CGI, các trang HTML không cần phải được lưu trữ trên máy chủ mà có thể được tạo động khi người dùng thực hiện truy vấn trang web.

    Phương thức hoạt động và ứng dụng


    Khi người dùng thực hiện một mục nhập trên một trang web, dữ liệu không được chuyển trực tiếp đến máy chủ mà cần được xử lý trước. Quá trình xử lý này xảy ra thông qua phần mềm bên ngoài (ví dụ: Tập lệnh CGI) chứ không phải trực tiếp qua máy chủ web. Chương trình truyền dữ liệu thông qua một giao điểm CGI được tiêu chuẩn hóa tạo ra thông tin trong HTML. Các chương trình CGI thường được giữ lại trong một thư mục đặc biệt trên máy chủ web.

    Tập lệnh CGI có thể được soạn bằng các ngôn ngữ lập trình khác nhau. Giao diện Cổng chung đảm bảo rằng - bất kể ngôn ngữ nào đang được sử dụng - máy chủ web và tập lệnh giao tiếp với nhau.

    Ví dụ về ứng dụng của Giao diện cổng chung


    [​IMG]

    - Giỏ hàng: Khi khách hàng thêm một sản phẩm vào giỏ mua sắm trực tuyến của họ, thông tin sẽ tự động được xử lý bằng tập lệnh CGI và được gửi đến máy chủ.

    - Nhận xét: Khi người dùng điền vào phần bình luận và nhấn "Gửi", văn bản trước tiên được truyền tới tập lệnh CGI, sau đó sẽ chuyển nó đến máy chủ.

    - Biểu mẫu: Các mục nhập ở dạng trực tuyến được sử dụng cho các ứng dụng hoặc tin nhắn được Giao diện cổng chung xử lý trước khi chúng được truyền đến máy chủ.

    - Thống kê trang web: Nếu một trang web hiển thị tỷ lệ truy cập của khách truy cập, nó thường sử dụng CGI.

    - Phía máy chủ Bao gồm: Nhờ Giao diện cổng chung, nội dung văn bản có thể được tải động vào một trang web.

    - Kiểm tra phần mềm: Các nhà phát triển có thể sử dụng các tập lệnh CGI để kiểm tra các chức năng của các ứng dụng trực tuyến bên ngoài cho các trang web thông qua trình duyệt của họ.

    Một tập lệnh có đang được xử lý hay không là rõ ràng bằng cách kiểm tra URL. Ngay cả những người dùng có ít hoặc không có kiến thức lập trình cũng có thể nhận ra một tập lệnh đang được xử lý. Sử dụng một chuỗi ký tự chuyên dụng, máy chủ nhận tất cả thông tin liên quan từ tập lệnh. Chúng tôi thường phân biệt giữa ba phương pháp truyền dữ liệu khác nhau:

    - QUERY_STRING: Được sử dụng cho hầu hết các truy vấn của người dùng

    - PATH_INFO: Được sử dụng để truyền thông tin theo ngữ cảnh đến một trang web

    - Stdin: Được sử dụng để xử lý các mục nhập bổ sung của người dùng

    Ưu điểm và nhược điểm của Giao diện Cổng chung


    [​IMG]

    Mặc dù đã có tuổi đời nhưng Giao diện Cổng chung vẫn là một trong những giao diện được sử dụng phổ biến nhất trong phát triển web. Mặc dù công nghệ này mang lại nhiều ưu điểm nhưng nó cũng có một số nhược điểm.

    Ưu điểm

    CGI là một phương pháp đơn giản và hiệu quả để tạo nội dung trang web động. Đồng thời, các ứng dụng CGI không phải được lưu trên máy chủ, do đó không có tài nguyên nào được sử dụng một cách không cần thiết. Ngoài ra, Giao diện Cổng chung tương thích với nhiều ngôn ngữ lập trình được tích hợp dễ dàng vào cơ sở hạ tầng hiện có. Cuối cùng nhưng không kém phần quan trọng, tiêu chuẩn nguồn mở miễn phí và có thể được các nhà phát triển sử dụng ngay lập tức.

    Nhược điểm

    Trong số những điểm yếu lớn nhất của Giao diện cổng chung là thời gian trả lời các ứng dụng CGI có thể tương đối lâu. Chương trình cần được khởi động lại với mỗi mục nhập mới. Đây có thể là vấn đề đối với các trang web có lưu lượng truy cập cao trong đó các máy chủ thường chỉ hỗ trợ một số ít ứng dụng CGI tại một thời điểm và các truy vấn bổ sung được thêm vào hàng đợi hoặc bị từ chối.

    Giao diện cổng chung, giống như bất kỳ giao diện nào, có thể gây ra rủi ro bảo mật nếu không có biện pháp an toàn bổ sung nào được áp dụng. Về mặt lý thuyết, các chương trình bên ngoài có quyền truy cập vào dữ liệu máy chủ web thông qua CGI. Do đó, cần có những hạn chế để các tập lệnh CGI không gây ra bất kỳ thiệt hại nào.

    Các lựa chọn thay thế cho Giao diện cổng chung

    Trong vài năm qua, nhiều công nghệ giao diện khác nhau đã được phát triển mở rộng trên CGI. Đồng thời, họ đang cố gắng giải quyết một trong những thiếu sót chính của nó: Tải lại tập lệnh với mỗi truy vấn người dùng mới.

    ASP (Active Server Pages) : ASP được phát triển bởi Microsoft cho máy chủ của riêng mình, nhưng hiện đã có sẵn cho các loại máy chủ khác nhau. Trình thông dịch ASP được tích hợp trong máy chủ web, do đó không cần bắt đầu một quy trình mới để sử dụng. Các lệnh ASP có thể được viết trực tiếp vào các trang HTML. Giống như CGI, ASP có thể được sử dụng trên nhiều ngôn ngữ lập trình.

    PHP: Bên cạnh Perl, PHP là một trong những ngôn ngữ script được sử dụng rộng rãi nhất trong phát triển web. Phần lớn những gì mà một tập lệnh CGI có thể làm, thì PHP cũng có thể làm được. Tuy nhiên, trình thông dịch PHP được tích hợp trực tiếp với máy chủ web.

    ColdFusion: ColdFusion ban đầu được phát triển cho Windows, nhưng hiện đã có sẵn cho các nền tảng Unix khác nhau. Trình thông dịch ColdFusion được tích hợp vào máy chủ web, giống như các lựa chọn thay thế CGI khác. Sử dụng các thẻ hiện có hoặc các phần tử điều khiển riêng lẻ, các trang HTML có thể được sửa đổi. Ngoài ra, ColdFusion cung cấp cho các nhà phát triển một loạt các chức năng tiêu chuẩn.

    FastCGI: Khi sử dụng FastCGI, các truy vấn động từ máy chủ web có thể được xử lý trực tiếp thông qua giao diện Perl mà không cần phải khởi động lại bộ xử lý. FastCGI tương thích với CGI và được hỗ trợ bởi một loạt các máy chủ web.
     

Chia sẻ trang này

Đang tải...