📌  相关文章
📜  助理软件工程师的 CGI 面试经验(1)

📅  最后修改于: 2023-12-03 15:22:47.284000             🧑  作者: Mango

助理软件工程师的 CGI 面试经验

介绍

CGI(Common Gateway Interface)是一种用于 Web 服务器和应用程序交互的标准。作为一名助理软件工程师,面试官可能会问到与 CGI 相关的问题。这里列举一些我的面试经验和相关的准备工作。

CGI 的工作原理

CGI 的工作原理主要分为以下三个步骤:

  1. 用户在浏览器访问某个网页时,发起请求
  2. 请求通过 Web 服务器传递到 CGI 程序
  3. CGI 程序生成一个 HTML 页面,返回给用户
CGI 的内容

CGI 程序主要包含以下内容:

  1. HTTP 请求头
  2. HTTP 请求的方法(GET 或 POST 等)
  3. URL 参数或发送过来的 POST 数据
  4. 执行的程序
  5. HTTP 响应头
  6. HTTP 响应体
CGI 的语言

CGI 可以使用不同的编程语言,这里我们稍微介绍一下三种常用的 CGI 语言:

Perl

Perl 一度是 CGI 比较主流的语言,它支持很多字符串和文本处理函数。我们可以在 shell 命令行中直接编写 Perl 脚本,简单易学,上手难度不大。

#!/usr/bin/perl
# hello.pl - Prints "Hello, world!"

use strict;
use warnings;

print "Content-type: text/html\n\n";
print "<html>\n<head>\n<title>Hello, world!</title>\n</head>\n";
print "<body>\n<h1>Hello, world!</h1>\n</body>\n</html>\n";
Python

Python 也是一种比较流行的 CGI 语言,现在已经成为一个应用广泛的语言。它具有很多优秀的库,可用于处理各种各样的任务。

#!/usr/bin/python
# hello.py - Prints "Hello, world!"

print("Content-Type: text/html")
print()
print("<html><head><title>Hello, world!</title></head><body>")
print("<h1>Hello, world!</h1>")
print("</body></html>")
C

C 语言可以使用 CGI,但相较于 Perl 和 Python,C 语言语法比较复杂。我们一般会使用 C++ 来进行 CGI 编程。

#include <iostream>
#include <stdio.h>
using namespace std;

int main()
{
    printf("%s%c%c\n","Content-Type:text/html;charset=gb2312",13,10);
    printf("<html>\n");
    printf("<head><title>Hello, world!</title></head>\n");
    printf("<body>\n");
    printf("<h2>Hello, world!</h2><br>\n");
    printf("</body>\n");
    printf("</html>\n");
    return 0;
}
参考资料
  1. CGI 简介
  2. Perl CGI Tutorial
  3. Python CGI Programming
  4. CGI 使用 C++ 编程

以上就是我对于 CGI 的面试经验和相关准备工作。感谢大家的阅读。