HTTP 에러 코드, 메시지
212
작성한 질문수 96
안녕하세요. HTTP 에러코드, 메시지에 대해서 궁금합니다.
정해진 에러코드(404, 304 등 )에 대해서 강의를 통해서 잘 들었습니다. 그런데 프로젝트를 하다보면 이렇게 정해진 코드 이외에 팀원들끼리 약속해서 새로운 에러코드(ex. 450), 메시지(ex. 필수 파라미터 안 넣었음) 를 약속할 수 있잖아요?
그렇다면,
강의에서 말씀하신 정해진 에러코드를 커스텀 ? 또는 어느 상황때에 우리가 정해진 에러코드를 반환해줘야 한다 => 이 말은 정해진 코드들 역시 저희가 임의대로 다 조작을 할 수가 있다는 말인가요?
즉, 404 Not Found 라는 메시지는 다른 문맥적 의미(해당하는 리소스가 없다는 이외의 의미) 로 반환을 할 수가(기능적인 가능성에 대해서 궁금합니다. 물론 그럴일은 없겠지만) 있다는 말인가요?
흠, 요지는 우리가 인터넷에서 보는 흔한 404 Not Found 라는 메시지는 각각의 수많은 서버들이 모두다 공통적으로 임의로 약속해서 일부러 그런 코드를 반환하는 것인지, 아니면 이미 내부스펙으로 정의를 해놔서 (약속을 따로 하지 않아도) 자동으로 HTTP 에서 내뱉는 코드인지 궁금합니다.
이해가 잘 안되어서 오히려 질문도 좀 뒤죽박죽이네요. 죄송합니다. 아 그리고 강의는 언제나 감사하게 잘 듣고 있습니다. 감사합니다.
답변 1
1
안녕하세요, 허강준 님. 공식 서포터즈 codesweaver 입니다.
.
결론부터 말씀드리면 사용자가 임의의 코드값을 반환할 수 있습니다. 다만 앞번호 (2xx, 3xx, 4xx, 5xx)에 따른 정의는 이미 내정되어 있기에 이것의 의미까지 바꿀순 없습니다. 그리고 404 코드 처럼 이미 그 행동이 브라우저와 서버에 정의되어 있는경우, 사용자가 임의로 뜻을 바꾸어 사용하거나 추가 행동을 하는등의 처리는 적절하지 않습니다.
.
서버는 사실 웹서버 + 웹어플리케이션 간의 커뮤니케이션으로 작동하고 있습니다. 이 때 클라이언트의 요청은 우선 웹서버로 전달됩니다. 그리고 보통은 이 웹서버에서 웹 애플리케이션의 상태를 파악하여 HTTP 상태값을 결정하게 됩니다. (물론, 웹 어플리케이션에서 강제로 HTTP 상태값을 결정할 수도 있습니다). 우리가 어느 사이트를 이용하든 동일한 응답값을 받는이유는 이런 웹서버들이 같은 HTTP 규칙을 준수하고 있기 때문입니다.
.
감사합니다.
0
아하! 이해가 조금 되었어요!
그러면 "웹서버들이 같은 HTTP 규칙을 준수하고 있다" 라는 말은 각각의 웹서버(톰캣 등)이 이미 저러한 코드, 메시지 등을 내부적으로 구현하고 있다는 말인거죠?
캐시 관련 질문입니다.
0
631
1
ETag 질문입니다.
0
741
1
캐시의 설정 주체
0
541
1
영속쿠키 질문입니다.
0
518
1
협상(accept-language)
0
696
1
에러 코드의 구현 주체
0
444
1
웹서버가 구현?
0
603
1
필수헤더?
1
566
1
Host와 Port
0
783
1
다른 도메인이 같은 포트를 사용하는 경우
0
1268
1
표준 헤더와 임의 헤더
0
539
1
POST 등록 후 Location 헤더
0
576
1
프로세스의 상태가 변경되는 경우에 Post 사용
1
1817
1
지속연결에 대해서.
0
698
1
제가 아는 쿼리 파라미터 개념이 맞는지 확인 부탁드립니다.
0
599
1
캐시 내용중 no cache 일때
0
367
1
DNS 서버 관련 질문
1
755
1
캐시로 저장된 파일의 유효기간은 얼마나 되나요?
0
670
1
웹브라우저 요청흐름 질문입니다.
0
853
1
캐시 무효화 질문드립니다
0
565
1
리다이렉트와 리다이렉션 차이?
0
2647
1
쿠키 및 세션 관련 질문드립니다
0
595
1
HTTP 메서드 ( HTTP 메서드의 속성 파트 ) 강의의 멱등 내용에 대하여 질문드립니다.
0
1654
1
header 나 gzip으로 데이터 보낼떄 데이터는 base64로 인코딩되서 가는 건가요?
0
486
1





