수정)
이 글을 많은 사람들이 접속하는 것 같아서 여러분의 시간 절약을 위해 결론부터 말하면
504 Gateway Time-out 에러는 보통 클라이언트에서 발생하는 문제가 아니기 때문에 시간을 갖고 나중에 다시 접속을 해보거나 관리자에게 문의를 하면 해결이 된다고 한다.
즉, 지금 서버가 접속할 수 없는 상황이니까 잠시 기다렸다가 재접속해보는게 최선이고, 그래도 안되면 해당 관리자한테 문의를 하면 된다!
아래는 제가 이 글을 처음 적을 때 열렸던 아무말 대잔치니까 시간되면 보고 가시구 아니면 위에 말한 내용이 전부니까 시간이 없으시다면 나가셔도 좋습니다ㅎ_ㅎ
그럼 재시작!
드디어 마음먹고 백준 알고리즘 사이트에서 자기전에 시간내서 공부를 하고 자려고 했더니 방금까지 접속이 잘되던게 갑자기 저 오류가 뜨고 접속이 아예 되지 않는다;;
그래서 오늘은 HTTP 서버의 504 오류에 대해 간단히 정리해보고 자려고 한다(?)
뭐 어차피 산학협력에서 웹서버 관련해서 공부를 해야하긴 하니까 좋은게 좋은거라고 생각하지뭐~~(긍정충)
우선 HTTP의 에러 코드들은 다음과 같다.
100 : Continue
101 : Switching protocols
200 : OK, 에러없이 전송 성공
201 : Created, POST 명령 실행 및 성공
202 : Accepted, 서버가 클라이언트 명령을 받음
203 : Non-authoritative information, 서버가 클라이언트 요구 중 일부 만 전송
204 : No content, 클라언트 요구을 처리했으나 전송할 데이터가 없음
205 : Reset content
206 : Partial content
300 : Multiple choices, 최근에 옮겨진 데이터를 요청
301 : Moved permanently, 요구한 데이터를 변경된 임시 URL에서 찾았음
302 : Moved temporarily, 요구한 데이터가 변경된 URL에 있음을 명시
303 : See other, 요구한 데이터를 변경하지 않았기 때문에 문제가 있음
304 : Not modified
305 : Use proxy
400 : Bad request, 클라이언트의 잘못된 요청으로 처리할 수 없음
401 : Unauthorized, 클라이언트의 인증 실패
402 : Payment required, 예약됨
403 : Forbidden, 접근이 거부된 문서를 요청함
404 : Not found, 문서를 찾을 수 없음
405 : Method not allowed, 리소스를 허용안함
406 : Not acceptable, 허용할 수 없음
407 : Proxy authentication required, 프록시 인증 필요
408 : Request timeout, 요청시간이 지남
409 : Conflict
410 : Gone, 영구적으로 사용할 수 없음
411 : Length required
412 : Precondition failed, 전체조건 실패
413 : Request entity too large,
414 : Request-URI too long, URL이 너무 김
415 : Unsupported media type
500 : Internal server error, 내부서버 오류(잘못된 스크립트 실행시)
501 : Not implemented, 클라이언트에서 서버가 수행할 수 없는 행동을 요구함
502 : Bad gateway, 서버의 과부하 상태
503 : Service unavailable, 외부 서비스가 죽었거나 현재 멈춤 상태
504 : Gateway timeout
505 : HTTP version not supported
(출처: https://webprogrammer.tistory.com/1034 [개발자(開發者) a developer])
시스템프로그래밍 실습 수업 마지막 과제에서 이거랑 비슷한 걸 본적이 있긴한데 그 때는 에러 메세지에 대해서 다룬게 아니라 그냥 성공하면 저런 코드를 띄우는 게 과제였어서 자세하게는 모르겠다. 컴퓨터네트워크 시간에도 이런걸 다룬거같은데 복습해야지...
일단 이 중에서 504 오류는 리버스 프록시 프로그램에서 해당 프록시와의 통신이 오래 걸려 프로그램에서 지정한 시간 제한을 초과해서 발생한 오류라고 한다. 이게 무슨 소리지??
우선 Gateway에 대해 먼저 알아보자!
게이트웨이는 통신 계층에서 서로 다른 네트워크 연결을 위한 출입구를 의미한다. (이건 컴퓨터네트워크 시간에 배운게 기억이 난다!)
그렇다면 Gateway Timeout은 무엇인가?
?? : 말 그대롭니다. Gateway는 게이트웨이, Timeout은 시간지연, 게이트웨이의 시간 지연으로 인한 오류를 말합니다^^
즉, 인터넷의 반대편에 있는 서버와 서버 간의 네트워크 오류이다. 브라우서에서 서버 A에 HTTP 요청이 전송되면 먼저 요청을 받은 A가 서버 B에 요청을 보내지만, 서버 B가 일정 시간 내에 응답이 되돌아 오지 않으면 서버 A의 브라우저에 504 오류가 반환되게 되는 것이다. 이건 컴네 시간에 한 rdt?랑 비슷한 것 같다. (같은건가?) 거기서도 Sender가 receiver가 정해놓은 시간 내에 ack를 보내지 못하면 sender가 ack를 뒤늦게 보냈더라도 time out이 발생하여 receiver가 다시 Sender에게 요청을 보냈다. 이건 컴네 복습을 다시 하면서 개념을 명확히 해야겠다.
아무튼 504 에러는 보통 클라이언트에서 발생하는 문제가 아니기 때문에 시간을 갖고 나중에 다시 접속을 해보거나 관리자에게 문의를 하면 해결이 된다고 한다. 혹시나 해서 이 글을 쓰다가 중간에 백준 알고리즘 사이트를 다시 접속해보니 해결되었다;; 뭐 해결도 되었고 공부도 했으니 일석이조라고 생각하려고 한다ㅎㅎ
이제 찐으로 백준 알고리즘 공부를 해보도록 하자!!
'코딩테스트 > BOJ' 카테고리의 다른 글
BOJ 입출력 문제 3 (0) | 2020.08.06 |
---|---|
BOJ 입출력 문제 2 (0) | 2020.08.05 |
BOJ 입출력 문제 1 (0) | 2020.08.05 |
1단계 - 입출력과 사칙연산 (0) | 2020.08.01 |
백준 알고리즘 공부 시작! (0) | 2020.07.27 |
댓글