CGI (Common Gateway Interface) 환경 변수 참조

폭로: 귀하의 지원은 사이트 운영을 유지하는 데 도움이됩니다! 이 페이지에서 권장하는 일부 서비스에 대한 추천 수수료가 발생합니다.


원래 웹은 주로 HTTP 요청을 보내고받는 시스템이었습니다. 브라우저는 HTTP 요청과 함께 페이지를 보내도록 요청하고 서버는 페이지를 브라우저로 보냅니다. 페이지 자체에는 브라우저가 더 많은 HTTP 요청으로 요구하는 이미지에 대한 참조와 같은 것이 포함될 수 있습니다. 모두 매우 간단했습니다. 그러나 서버에서 처리를 수행 할 수 없었습니다. 그 결과 CGI (Common Gateway Interface)가 개발되었습니다..

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 변수는 서버가 사용자를 확인하는 데 사용하는 권한 부여 유형을 나타냅니다. 예를 들어이 변수의 가능한 값은 기본 인증을 참조하는 기본 일 수 있습니다. 모든 서버가 인증을 지원하는 것은 아닙니다..

CONTENT_LENGTH

CONTENT_LENGTH는 요청을 통해 전달 된 컨텐츠 길이를 바이트 수로 제공합니다. 길이를 알 수없는 경우 변수는 -1로 설정됩니다..

컨텐츠 타입

CONTENT_TYPE 변수는 요청에 의해 리턴되는 파일 유형을 포함합니다. 예를 들어, 웹 페이지가 요청되면 CONTENT_TYPE 변수는 MIME 유형 text / html로 설정됩니다..

GATEWAY_INTERFACE

서버가 처리하는 CGI 사양의 버전을 알고 싶다면 GATEWAY_INTERFACE를 쿼리 할 수 ​​있습니다. 이 변수는 올바른 버전의 사양과 유효한 명령을 사용하는 데 도움이됩니다..

HTTP_ACCEPT

CONTENT_TYPE이 전달되는 데이터 또는 MIME 유형을 제공하는 것처럼 HTTP_ACCEPT는 요청하는 클라이언트가 허용 할 수있는 모든 MIME 유형을 나열합니다. 유형 목록은 쉼표로 구분됩니다.

HTTP_USER_AGENT

HTTP_USER_AGENT는 클라이언트가 요청을 보내는 데 사용하는 프로그램의 이름을 제공합니다. 예를 들어, 사용자가 Mozilla Firefox에서 CGI 스크립트를 실행하는 경우 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 변수를 쿼리하면 실제 물리적 경로를 얻게됩니다. 공유 유닉스 서버에있는 경우 /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&느낌표 = true, QUERY_STRING을 요청하면 name = Leroy로 반환됩니다.&느낌표 = true 반환.

REMOTE_ADDR

REMOTE_ADDR 변수는 요청하는 클라이언트 컴퓨터의 IP 주소를 제공합니다. 기본적으로 REMOTE_ADDR은 REMOTE_HOST가 IP 주소로 확인됩니다..

원격 호스트

웹 서버는 지속적으로 클라이언트의 연결과 요청을 모두 수락합니다. REMOTE_HOST 변수는 요청을 수행하는 클라이언트의 호스트 이름을 나타냅니다. 예를 들어 웹 호스트가 webhost2.com의 요청을 수락하면 REMOTE_HOST는 webhost2.com으로 채워집니다..

REMOTE_IDENT

REMOTE_IDENT 변수는 CGI 스크립트를 실행하는 사용자 ID를 저장합니다. ident는 사용자 ID 정보뿐만 아니라 스크립트를 실행하는 OS의 이름을 포함하는 응답을 반환하므로 ident 프로세스가 실행중인 경우에만 사용자 ID가 저장됩니다..

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과 같은 것.

서버 포트

웹에서 실행되는 모든 서버에는 주소와 포트가 모두 있습니다. 서버는 포트를 사용하여 연결을 수락하고 요청을 청취합니다. 표준 포트는 80이지만 특히 특수 응용 프로그램의 경우 다른 숫자 일 수 있습니다. SERVER_PORT 변수를 쿼리하면 수신 포트의 값이됩니다..

SERVER_PROTOCOL

서버가 요청을 처리하기 위해 사용하는 프로토콜을 찾을 수 있습니다. 예를 들어, 작업중인 서버가 HTTP 프로토콜을 사용하는 경우 “HTTP / 1.1″과 같은 문자열을 반환하여 서버가 HTTP 버전 1.1을 사용하고 있음을 나타냅니다. 기본적으로 반환되는 문자열은 프로토콜 / 버전 형식입니다..

SERVER_SOFTWARE

SERVER_SOFTWARE 환경 변수에는 웹 서버에서 실행중인 소프트웨어의 이름과 버전이 포함됩니다. 예를 들어,이 변수의 값을 출력하고 Apache 버전을 실행중인 경우 다음과 유사한 내용이 표시 될 수 있습니다.

아파치 2.4.25

결론

CGI 또는 HTTP 프로토콜을 이해하기 위해 취할 수있는 첫 번째 단계 중 하나는 기본 변수 및 구문에 익숙해지는 것입니다. 여기에는 방금 설명한 환경 변수가 포함됩니다. CGI는 오늘날 거의 사용되지 않지만 PHP와 같은 현재의 많은 웹 개발 언어도 이러한 변수를 많이 사용합니다. 결과적으로 학습하면 현재 웹 개발 언어를위한 강력한 프로그램 작성에도 도움이됩니다..

추가 자료 및 자료

코딩 및 개발과 관련된 더 많은 가이드, 자습서 및 인포 그래픽이 있습니다.

  • PHP 소개 및 리소스 : 웹에서 가장 큰 코딩 언어 중 하나입니다..
  • CGI 입문서 : 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