игра брюс 2048
Главная / Интернет-технологии / Введение в CGI / Тест 4

Введение в CGI - тест 4

Упражнение 1:
Номер 1
Какую дополнительную операцию необходимо выполнять при написании скриптов на C, которая не требуется при программировании и исполнении скриптов на Perl?

Ответ:

 (1) настройку среды программирования 

 (2) компиляцию 

 (3) порядок программирования и исполнения скриптов для обоих языков одинаковый 


Номер 2
Какие из аргументов главной процедуры используются при программировании CGI-скриптов?

Ответ:

 (1) argc 

 (2) argv 

 (3) env 


Номер 3
Будет ли работать следующий скрипт?

#include <stdio.h>
main()
{
 printf("Content-type:text/html\n\n");
 printf("<h1>C и CGI</h1>");
}

Ответ:

 (1) не будет, из-за неправильной структуры HTML-документа 

 (2) не будет, из-за неправильной структуры HTTP-отклика 

 (3) будет 


Упражнение 2:
Номер 1
Как определить конец списка переменных окружения в С?

Ответ:

 (1) этого сделать нельзя 

 (2) по значению одного из аргументов главной процедуры 

 (3) при обращении к очередному элементу массива переменных окружения его нельзя будет использовать, например while(env[i]) 


Номер 2
Как получить значение первого аргумента командной строки?

Ответ:

 (1) argv[0] 

 (2) argv[1]  

 (3) argv[2] 

 (4) env[0] 


Номер 3
Можно ли в С считывать стандартный ввод посимвольно?

Ответ:

 (1) можно, при помощи функции getc() 

 (2) нельзя 

 (3) можно, при помощи функции read() 


Упражнение 3:
Номер 1
Есть ли в С оператор redo?

Ответ:

 (1) есть, в Perl он попал именно отсюда 

 (2) нет 

 (3) в некоторых версиях 


Номер 2
Можно ли организовать в С-CGI-скрипте отложенное выполнение команд?

Ответ:

 (1) можно, это же CGI-скрипт 

 (2) нельзя, очень маленький стек 

 (3) нельзя, скрипты на С компилируются, а не интерпретируются 


Номер 3
В чем отличие между перебором аргументов командной строки CGI-скрипта, написанного на С, и перебором переменных окружения этого же скрипта?

Ответ:

 (1) число аргументов командной строки известно (argc), а число переменных окружения - нет 

 (2) переменные окружения и аргументы командной строки относятся к разным типам данных, поэтому их перебор организован по-разному 

 (3) отличий нет 


Упражнение 4:
Номер 1
Необходим ли дополнительный оператор printf для формирования правильной структуры HTTP-сообщения?

Ответ:

 (1) необходим, только так можно отделить заголовок от тела сообщения 

 (2) нет, можно воспользоваться последовательностью "\n\n

 (3) сообщение формируется не скриптом, а сервером 


Номер 2
Укажите правильное обращение в С к переменной окружения по имени:

Ответ:

 (1) $CONTENT_LENGTH 

 (2) getenv("CONTENT_LENGTH"); 

 (3) getenv(CONTENT_LENGTH); 


Номер 3
Что передается в качестве первого аргумента командной строки скрипта, написанного на С?

Ответ:

 (1) имя исполняемого файла 

 (2) значение первого аргумента командной строки 

 (3) число аргументов командной строки 


Упражнение 5:
Номер 1
Укажите правильный способ чтения данных из стандартного ввода С-CGI-скриптом при обращении к нему по методу POST:

Ответ:

 (1) Length=atoi(getenv("CONTENT_LENGTH")); for(i=0;i<Length;i++){query[i]=getc();} 

 (2) Length=atoi(getenv("CONTENT_LENGTH")); fread(query,Length,1,STDIN); 

 (3) read(query) 


Номер 2
Нужно ли перекодировать строку запроса в C-CGI-скрипте из шестнадцатеричных чисел в символьные коды?

Ответ:

 (1) нет, это происходит автоматически 

 (2) нужно, в тех же случаях, когда это требуется спецификацией CGI 

 (3) все зависит от настроек сервера 


Номер 3
Можно ли прочитать данные, посланные методом PUT?

Ответ:

 (1) можно 

 (2) нельзя 

 (3) нет такого метода 


Упражнение 6:
Номер 1
Имеет ли особенности обработка переменных окружения скриптом на C при запуске его сервером или пользователем из командной строки?

Ответ:

 (1) имеет, т.к. список переменных окружения будет разный 

 (2) не имеет, если заранее позаботиться о списке и значениях переменных окружения скрипта 

 (3) не имеет, если скрипт не использует данных, передаваемых от пользователя 


Номер 2
Можно ли использовать CGI скрипт на C в качестве SSI?

Ответ:

 (1) нельзя, скрипт сам формирует HTTP заголовок 

 (2) можно, если только не формировать HTTP заголовок 

 (3) можно если формировать http заголовок 


Упражнение 7:
Номер 1
Можно ли использовать CGI скрипт на C в качестве загружаемого модуля Apache?

Ответ:

 (1) можно, ведь Apache тоже написан на C 

 (2) нельзя, скрипты и модули – это совершенно разные вещи 

 (3) можно, если есть соответствующий модуль Apache 


Номер 2
Как узнать размер списка переменных окружения CGI скрипта на C?

Ответ:

 (1) по аргументу argc функции main 

 (2) по аргументу env функции main 

 (3) по неопределенному указателю списка env функции main 




Главная / Интернет-технологии / Введение в CGI / Тест 4