티스토리 뷰

IT/TIP

HTTP 에러코드(오류코드)

인포맥스시스템 2013. 3. 4. 17:04

 

 

인터넷을 사용하다 보면 오류코드를 보실 수 있습니다.

자주 보면 안되겠지만, 오류가 나타날 경우 다음과 같은 의미이니 이제 당황하지 마세요!

 

 

 

 

 

 

200 OK

응답이 성공적임.

202 Accepted

응답이 여전히 처리 중이지만 성공적임.

204 No response

응답이 처리되었지만 클라이언트에 보낼 데이터가 없음

031 Moved

문서가 새로운 위치에 영구적으로 이동됨.

302 Found

문서가 서버상에서 다른 위치에 있음. 응답에는 일반적으로 브라우저를 새로운 문서에 연결시키는 위치를 포함하고 있다.

304 

Use Local Copy

문서를 찾았지만 마지막 응답으로부터 변경되지 않음.

400 Bad Request

브라우저의 응답 문법을 인식하지 못함.

401 Unauthorized

서버가 문서를 보는데 제한하고 있음. 일반적으로 문서는 패스워드나 IP주소로 보호받고 있어서 확인이 실패됨.

403 Forbidden

일반적으로 액세스 권한으로 인하여 응답이 사라짐.

404 Not Found

서버가 문서를 찾지 못함.

500 Internal Error

서버가 응답을 전달할 수 없지만 뚜렷한 이유가 없음. 다 목적용 에러.

501

Not Implemented

송신기가 요구된 서비스를 알지만 처리법을 모름

502

Service Is Overloaded

송신기는 현재 처리하는 것보다 요구가 너무 많아서 처리하지 못함

204

(No ResPonse)

이 일반적인 응답은 스크립트가 성공적으로 실행되었지만 어떤 "Content-type:text/html"와는 다른 HTML 데이터를 반환하기 전에 실패하거나 빠져나갈 때 주어진다. 이 상태 코드에 대한 문제 해결 기술은 기본적으로 나중에 설명할 500을 해결하는데 사용하는 방법과 동일하다.

그러나 여기서 성능 검사하는 아이템은 특정 디렉토리나 파일에 있는 권한(permission)이다. 스크립트는 작업하려는 특정 데이터 파일이나 서브 디렉토리에 대한 create, write, read 권한을 가지고 있지 않다.

이때 스크립트는 모든 CGI 스크립트에서 출력되는 "Content-type: text/html\n\n"메시지를 프린트할 때까지 동작할 것이다. 그러나 파일을 찾을 수 없거나 만들 수 없으므로 프로그램 로직의 나머지는 데이터 파일의 내용에 기반을 둔 동적 HTML을 생성할 수 없을 것이다.

결과적으로 "Document Contains No Data" "No Reponse" 메시지가 나올 것이다. 스크립트에서 요구되는 특정 서브 디렉토리가 생성되고 적당한 수준으로 액세스할 수 있는지를 확인하라. 예를 들어  애플리케이션이 세션과 같이 서브 디렉토리의 파일을 작성하려고 할 때 여러분은  서버에게 서브 디렉토리를 write 액세스 할 수 있도록 하는 필요를 느낄 것이다.

401 (Unauthorized)

 코드는 스크립트가 웹 서버의 보호 지역에 위치해 있고 확인이 실패했음을 의미한다. 스크립트는 문서를 읽기 위해서 특정 IP 주소나 인터넷 호스트를 허가함으로써 보호된다. , 사용자 이름/패스워드 조합으로 제한된다. 이 문제에 대한 해결책은 스크립트를 비보호 지역에 놓거나 보안 제한을 안정화시키는 방법을 알아내는 것이다.

403

Forbidden / Permission Denied

CGI의 실행에 있어서 권한이 없는 경우 발생하는 에러이다. 유닉스, 리눅스와 같이 많은 사람이 동시에 사용 가능한 서버의 경우 특정한 사용자만이 해당 파일과 디렉토리를 사용할 수 있도록 퍼미션(permission)이라는 것이 존재한다. 물론 윈도우 95/NT의 경우 해당되지 않는다.

아래는 방명록을 설치하였을 경우를 예로 들어 해결하는 방법을 보여주고 있다. ls -al 이라는 파일과 디렉토리에 관한 정보를 보여주는 명령을 입력하였을 경우의 화면의 일부이다.

비정상적인 설정 -rw-r--r-- 1 아이디 user 21230 Jun 20 05:00 .cgi*

해결책 chmod 755 .cgi

정상적인 설정 -rwxr-xr-x 1 아이디 user 21230 Jun 20 05:00 .cgi*

404

Not Found / Requested File Not Found

이것은 브라우져가 서버에 요청한 파일이 없다는 말이다. 대부분의 경우 ftp프로그램을 이용하여 서버에 파일을 전송 할 경우 대문자로 전송되는 경우가 있다.

유닉스,리눅스 계열의 서버는 파일명의 대문자와 소문자를 구분한다. 이것은 mv와 같은 유닉스, 리눅스 명령으로 이름을 변경하시면 된다. 또는 정말로 파일명이 틀렸을 경우도 있고, 정확한 경로를 지정하지 않았을 경우도 있다.

500

Server Error / Internal Server Error

이 에러의 경우 여러 가지 원인으로 발생 할 수 있다. 서버내의 에러, 즉 스크립트의 어디엔가 문법에 틀린 부분이 존재 한다는 것이다. 정리하면 아래 세가지 경우 중 하나가 대부분이다.

 

첫째, Perl스크립트의 첫째 줄에 Perl의 경로를 지정하는데 이것이 틀린 경우가 있다. 이것은 where is perl 이라는 명령으로 Perl의 위치를 알아낸 후 그 경로를 써주면 된다.

 

두째, Perl 스크립트 내부에 필요 없는(?) 문자가 삽입되었을 경우이다. 이것이 ^M인데, 자신의 PC에서 서버로 ftp를 통해 전송할 때 ascii모드로 전송하지 않고 binary모드로 전송하였을 경우 CR/LF의 유닉스형태 변형이 제대로 이루어지지 않았을 경우 발생한다. 이것은 vi에디터로 들어간 후 ESC를 눌러 명령모드로 전환한 후, :1,$ s/^M//g을 입력하면 된다. 여기서 ^M Ctrl+V를 누른 후 M을눌러 만듭니다.

 

셋째, 사용자의 실수로 소스를 수정하다 필요 없는 부분까지 실수로 수정하여 고생을 자처하는 경우가 있겠습니다. 이 경우 쉘 프롬프트에서 perl -c 파일명.cgi를 입력하면 스크립트를 실행하지 않고 문법에러만 확인하여 잘못 건드린 부분을 잡아낸다. 그 다음 그 부분을 수정하면 된다.

503 Service Unavailable

(503 서비스 불가)

해당  사이트의 서버에 과부하가 걸린 경우이다. 몇 초 후에 다시 시도해 본다.

Bad file request (잘못된 파일 요청)

온라인 폼 또는 HTML 코드가 잘못된 경우이다.

Connection refused by host (호스트의 접속 거부)

위에 있는 ‘403 Forbidden/Access Denied’ 에러와 유사한 상황이다.

Failed DNS lookup (DNS 찾기 실패)

해당  사이트의 URL이 적절한 IP 주소로 전환될 수 없는 경우이다. 이런 에러는 상용 사이트에서 빈번하게 발생하는데 IP 주소 전환을 담당하는 컴퓨터들이 과부하 상태에 놓이기 때문이라고 한다. 물론, 주소를 잘못 입력한 경우에도 발생할 수 있다. 주소를 다시 한 번 입력해 보거나, 혼잡하지 않을 것 같은 시간에 다시 시도해 본다.

Helper application not found

보조 응용프로그램(helper application)을 필요로 하는 파일을 다운받으려 하는데, 인터넷 익스플로러가 찾지 못하는 경우이다.

이런 경우에는 아무 Windows 창이나 열어서 ‘보기(V)’의 ‘폴더 옵션(O)’에 있는 ‘파일 형식’ 탭을 선택하여 보조 응용프로그램을 위한 디렉토리 및 파일명이 정확하게 입력되도록 한다.

Not found (찾을 수 없음)

하이퍼링크가 가리키는  페이지가 더 이상 존재하지 않음을 나타낸다.

Site unavailable (사이트 사용 불가)

너무 많은 사람들이 동시에 액세스하려 하면 온라인상에 노이즈가 생겨 해당 사이트가 다운될 수도 있고, 아니면 더 이상 그 사이트가 존재하지 않는 경우일 수도 있다. 주소를 잘못 입력해도 나올 수 있다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

댓글