사이트 내 전체검색
[linux] CGI 에러코드
로빈아빠
https://cmd.kr/server/398 URL이 복사되었습니다.

본문

CGI 에러코드

CGI프로그램밍작업을 하다보면 여러 가지 에러를 만나게 되고 이런 에러를 잡고 해결하는 작업이 프로그래밍작업중 많은 부분을 차지하게 됩니다.

에러를 만나게 되면 일단 어떤 에러인지를 확인해야하며 확인한 에러가 발생한 원인을 알아낸 다음 조치를 취하게됩니다.

CGI프로그램의 에러에 대한 원인분석을 정확히하는 것이 에러수정(debugging)의 가장기본이며 원인분석을 하기위해서는 서버에서 보내는 각종정보를 참조해야합니다.

서버에서 보내주는 에러정보에는 다음과 같은 것들이 있습니다.

에러로그파일(예, errors)
 
CGI에러코드(3자리 숫자로된 코드)

여기서 첫 번째의 errors는 CGI의 에러뿐아니라 홈페이지 로딩이 되지 않았을때의 모든에러를 포함하고 있습니다.

웹호스팅서비스에 가입한 저희 고객께서는 고객의 홈디렉토리 밑에 있는 www_log라는 디렉토리안에 access_log라는 파일과 함께 쌓이게 됩니다.

그리고 이 디렉토리내에 error_log라는 파일이 있으며 CGI의 에러들은 대부분 이 파일에 그 원인등을 저장하게 됩니다.

그리고 두 번째의 3자리로 된 에러코드는 CGI프로그램이 정상적으로 실행이 되지 않았을 때 아래의 그림과 같이 웹서버에서 웹브라우즈로 에러원인이나 조치사항들에 대한 정보를 보여주게 됩니다.


다음은 이런 에러메시지에 포함되는 에러코드들에 대한 설명이며 의미하는 바는 다음과 같습니다.

4로 시작하는 에러코드 : 실행시킨 CGI에 에러가 발생하여 웹서버에서 웹브라우즈로 보내주는 에러코드
 
5로 시작하는 에러코드 : 실행시킨 CGI가 웹서버에서 실행도중 발생한 에러코드

400 : Bad request

HTTP의 규약에 맞지않는 요청을 했을 경우에 발생하는 에러입니다.

401 : Unauthorized

사용자인증을 요구한 웹브라우즈에서 ID와 패스워드를 입력하게 됩니다.

인증이 되었을 경우에는 웹브라우즈는 웹서버로 ID와 패스워드를 자동으로 보내주게 됩니다.

이 메시지는 인증(허가)되지않는 ID와 패스워드를 입력했을 경우에 나타나는 것입니다.

403 : Forbidden

이 에러코드를 보내게 되는 경우는 다음의 두가지 경우이며 요청한 CGI파일에 대한 권한이 없거나 실행가능한 파일이 아님에도 실행하려할 경우에 발생하는 에러입니다.

404 : Not Found

요청한 CGI파일이 디렉토리에 존재하지않을 경우에 발생하는 에러입니다.

500 : Internal Server Error

이 에러코드는 에러범위가 넓은 경우이며 일반적인 웹서버의 내부적인 에러발생을 의미합니다.

501 : Not Implemented

웹브라우즈에서 요청한 Form METHOD가 웹서버에서 허용하는 것이 아닐경우에 발생하는 에러코드입니다.

502 : Bad Gateway

요청한 웹서버가 프락시서버나 게이트웨이서버로 실행되고 있을 경우에 발생할 수 있는 에러코드입니다.

503 : Server Unavailable

웹브라우즈의 요청에 웹서버가 제대로 처리하지 못할 경우에 발생하는 에러로서 일반적으로 다른 작업처리로 인하여 요청한 처리를 하지못할 경우에 발생하는 하게 됩니다.
이상으로 CGI의 에러코드에 대해서 알아보았습니다.

지금까지 설명드린 에러숫자외에도 2로 시작하는 상태코드와 3으로 시작하는 코드가 있습니다.

2로 시작하는 상태코드는 웹서버에서 정상적으로 실행이 되었을 경우에 보내지는 것이며 3으로 시작하는 상태코드는 웹브라우즈의 요청한 작업의 수행을 위한 다른 작업의 필요성이 있음을 알려주는 코드이므로 에러코드는 아닙니다.

그리고 2나 3으로 시작하는 코드는 웹브라우즈로 나타나지 않는 것이므로 일반적으로 확인할 수 있는 코드가 아니기에 설명을 생략한 것입니다.

댓글목록

등록된 댓글이 없습니다.

1,139 (11/23P)

Search

Copyright © Cmd 명령어 13.59.111.183