Справочник за общите променливи на средата на интерфейса на общ шлюз (CGI)

Разкриване на информация Вашата поддръжка помага за поддържането на сайта! Печелим такса за препращане за някои от услугите, които препоръчваме на тази страница.


Първоначално мрежата беше предимно система за изпращане и получаване на HTTP заявки. Браузърът ще поиска да му бъде изпратена страница с HTTP заявка и сървърът да я изпрати на браузъра. Самата страница може да включва неща като препратки към изображения, които браузърът би поискал с повече HTTP заявки. Всичко беше много просто. Но не позволи обработката да се извърши от сървъра. В резултат на това беше разработен общият интерфейс на шлюза (CGI).

С CGI браузърът може да изпрати заявка с входове към сървъра и CGI програма ще изпрати обратно уеб страница, обработена въз основа на изпратените входове. Вземете ранен пример: CGI програма, която върна информация за химичните съединения. Браузърът ще изпрати заявка до CGI програмата със съединението, за което потребителят иска данни и програмата ще изпрати обратно страница, пълна с информация за това съединение.

В крайна сметка бяха разработени езици за програмиране на сървъри като PHP и Python, но в онези дни CGI беше всичко. Все пак CGI имаше уникална способност: беше независим от езика. Ако сървърът може да стартира програмата, CGI може да се справи с нея. Така че това може да бъде компилирана програма C ++ или интерпретиран скрипт на Perl или почти всичко друго.

Днес програмите за CGI са предимно наследство. Но има моменти, когато все още е най-добрият начин за решаване на проблем. Нека разгледаме по-отблизо променливите на средата, които са основата на системата.

Променливи

Ако обмисляте програмиране на CGI, следните променливи ще бъдат много полезни за обработка на различни заявки на сървър за обработка на данни от формуляра, което води до мощни и многостранни програми. За достъп до тези променливи, трябва да извлечете запис от масив от стойности, отнасящи се до средата. Например в Perl, ще извлечете стойности в масива $ ENV, използвайки клавиши с променлива среда, подобни на следното:

$ ENV {$ env_var}

В горния откъс на код, env_var се отнася до ключ или низ от променлива среда като SERVER_NAME. Други езици за програмиране имат свои собствени системи за управление на променливи на средата. Проверете референцията за вашия конкретен език.

Ето CGI променливите и какво правят:

AUTH_TYPE

Някои уеб сървъри защитават достъпа до CGI скриптове, използвайки разрешение. Променливата AUTH_TYPE се отнася до типа оторизация, който сървърът използва за проверка на потребителите. Например, възможна стойност за тази променлива може да бъде Basic, отнасяща се до Basic удостоверяване. Имайте предвид, че не всички сървъри поддържат оторизация.

CONTENT_LENGTH

CONTENT_LENGTH дава дължината на съдържанието, доставено чрез заявката, като брой байтове. Ако дължината е неизвестна, променливата ще бъде зададена на -1.

ТИП СЪДЪРЖАНИЕ

Променливата CONTENT_TYPE съдържа типа файл, който се връща от заявката. Например, ако е поискана уеб страница, променливата CONTENT_TYPE ще бъде зададена на MIME тип текст / html.

GATEWAY_INTERFACE

Ако искате да знаете с каква версия на спецификацията CGI се обработва сървърът, тогава можете да попитате GATEWAY_INTERFACE. Тази променлива ще ви помогне да гарантирате, че използвате правилната версия на спецификацията и валидни команди.

HTTP_ACCEPT

Точно както CONTENT_TYPE предоставя предоставените данни или MIME тип, HTTP_ACCEPT изброява всички възможни типове MIME, които клиентът, отправящ заявката, може да приеме. Списъкът на типовете е разделен със запетаи.

HTTP_USER_AGENT

HTTP_USER_AGENT дава името на програмата, която клиентът използва, за да изпрати заявката. Например, ако потребителят изпълни CGI скрипт от Mozilla Firefox, HTTP_USER_AGENT ще посочи, че потребителят е направил заявка към уеб сървъра чрез Firefox.

PATH_INFO

Променливата PATH_INFO съдържа допълнителна информация, която се вижда след името на скрипта CGI. Например, ако изпълните www.placeholder.com/cgi-bin/hello.pl/index.html, тогава PATH_INFO за това ще бъдат символите, които идват след името на скрипта CGI или /index.html в този пример.

PATH_TRANSLATED

Когато въвеждате адрес на CGI скрипт в уеб браузър, обикновено въвеждате виртуален път, който е картографиран на физическо място на сървъра. Например, ако отидете на http://www.somewebsite.com/cgi-bin/index.cgi и попитате променливата PATH_TRANSLATED, ще получите действителния физически път. Ако сте на споделен unix сървър, това може да е /home/placeholder/public_html/cgi-bin/index.cgi.

купон за уеб хостинг

Нуждаете се от качествен хостинг на CGI достъп?
GreenGeeks се отчете много добре в нашите тестове за скорост и производителност. Понастоящем читателите могат да спестят до 60% от своите планове. Използвайте тази специална връзка за отстъпки
за да получите сделката.

QUERY_STRING

Обикновено е да видите информация за заявката, приложена към URL адрес след знака на въпроса. За URL адреса http://www.placeholder.com/cgi-bin/hello.cgi?name=Leroy&възклицание = вярно, искането на QUERY_STRING ще се върне в име = Leroy&възклицание = вярно връщане.

REMOTE_ADDR

Променливата REMOTE_ADDR дава IP адреса на клиентския компютър, отправящ заявката. По същество REMOTE_ADDR е REMOTE_HOST разрешен до IP адрес.

REMOTE_HOST

Уеб сървърите постоянно приемат както връзки, така и заявки от клиенти. Променливата REMOTE_HOST се отнася до името на хоста на клиента, който изпълнява заявката. Например, ако вашият уеб хост приеме заявка от webhost2.com, тогава REMOTE_HOST ще бъде попълнен с webhost2.com.

REMOTE_IDENT

Променливата REMOTE_IDENT съхранява идентификационния номер на потребителя, изпълняващ CGI скрипта. Потребителският идентификационен номер се съхранява само ако процесът на идентификация се изпълнява, тъй като идентификаторът връща отговор, съдържащ не само информация за идентификационния номер на потребителя, но и името на операционната система, изпълняваща скрипта.

REMOTE_USER

Запитване за променливата REMOTE_USER ще даде информация за потребителското име на субекта, който прави заявката. Това е валидно само ако е активирана удостоверяването.

REQUEST_METHOD

REQUEST_METHOD дава типа завършена HTTP заявка, която включва стойности като GET, POST и PUT.

SCRIPT_NAME

Ако вместо това искате да получите виртуалния път на скрипта, който се изпълнява, можете просто да заявите променливата SCRIPT_NAME. Например, ако стартирате скрипта http://www.placeholder.com/cgi-bin/ping.sh и извлечете SCRIPT_NAME, ще получите виртуалния път на скрипта или /cgi-bin/ping.sh.

ИМЕ НА СЪРВЪРА

Променливите на SERVER_NAME дават пълното име на вашия сървър. Например, ако питате за тази променлива, резултатът ще бъде името на домейна на уебсайта. Например нещо като www.placeholder.com.

SERVER_PORT

Всеки сървър, работещ в мрежата, има и адрес, и порт. Сървърът използва порт за приемане на връзки и слушане на заявки. Стандартният порт е 80, но могат да бъдат и други номера – особено за специализирани приложения. Запитване за променлива SERVER_PORT ще доведе до стойността на порта за слушане.

SERVER_PROTOCOL

Можете да разберете какъв протокол използва сървър за обработка на заявки. Например, ако сървърът, с който работите, използва протокола HTTP, той ще върне низ като „HTTP / 1.1“, което означава, че сървърът използва HTTP версия 1.1. По принцип върнатият низ е във формат протокол / версия.

SERVER_SOFTWARE

Променливата на средата SERVER_SOFTWARE съдържа името и версията на софтуера, работещ на уеб сървъра. Например, ако изведете стойността на тази променлива и използвате версия на Apache, може да получите нещо подобно на следното:

Apache 2.4.25

заключение

Една от първите стъпки, които можете да предприемете, за да разберете CGI или HTTP протокола, е да се запознаете с основните променливи и синтаксис. Това включва просто описаните променливи на околната среда. Въпреки че CGI рядко се използва днес, много съвременни езици за уеб разработка като PHP също използват много от тези променливи. В резултат на това изучаването им също ще ви помогне да напишете стабилни програми дори за текущи езици за уеб разработка.

Допълнително четене и ресурси

Имаме още ръководства, ръководства и инфографика, свързани с кодирането и разработката:

  • Въведение и ресурси на PHP: това е един от най-големите езици за кодиране в мрежата.
  • CGI Primer: започнете с основите на CGI.
  • Учебни материали и ресурси за CGI: разберете как да приемете CGI, доколкото може.

Какъв код трябва да научите?

Объркани в какъв език за програмиране трябва да се научите да кодирате? Вижте нашата инфография, какъв код трябва да научите? Той не само обсъжда различни аспекти на езиците, а отговаря на важни въпроси като: „Колко пари ще спечеля за програмиране на PHP за прехрана?“

Какъв код трябва да научите?
Какъв код трябва да научите?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map