JSP HTTP 상태 코드
HTTP 요청과 HTTP 응답의 형식은 유사하며 둘 다 다음과 같은 구조를 갖습니다.
상태 줄 + CRLF(캐리지 리턴 및 줄 바꿈)로 시작
0개 또는 여러 줄 헤더 모듈 +CRLF
CRLF
와 같은 빈 줄 파일, 쿼리 데이터, 쿼리 출력과 같은 선택적 메시지 본문
예를 들어 서버 응답 헤더는 다음과 같습니다.
HTTP/1.1 200 OK Content-Type: text/html Header2: ... ... HeaderN: ... (Blank Line) <!doctype ...> <html> <head>...</head> <body> ... </body> </html>
다음 표에는 서버에서 반환될 수 있는 HTTP 상태 코드 및 관련 메시지가 나열되어 있습니다.
상태 코드 | 메시지 | 설명 |
---|---|---|
100 | 계속 | 요청의 일부만 서버에서 수신되지만 서버에서 거부되지 않는 한 클라이언트는 요청을 계속합니다 |
101 | 프로토콜 전환 | 서버 스위치 프로토콜 |
200 | 알았어 | 요청 확인됨 |
201 | 생성됨 | 요청 시 완료, 새로운 리소스가 생성됩니다 |
202 | 수락됨 | 요청이 수락되었지만 처리되지 않았습니다. |
203 | 신뢰할 수 없는 정보 | |
204 | 내용 없음 | |
205 | 콘텐츠 재설정 | |
206 | 일부 내용 | |
300 | 객관식 | 하이퍼링크 테이블 사용자는 하이퍼링크를 선택하여 액세스할 수 있습니다. |
301 | 영구 이전 | 요청하신 페이지가 새 URL로 이동되었습니다 |
302 | 찾았다 | 요청하신 페이지가 새로운 URL로 임시 이동되었습니다 |
303 | 기타보기 | 요청한 페이지는 다른 URL에서 찾을 수 있습니다 |
304 | 수정되지 않음 | |
305 | 프록시 사용 | |
306 | 미사용 | 이 상태 코드는 더 이상 사용되지 않지만 상태 코드는 유지됩니다. |
307 | 임시 리디렉션 | 요청하신 페이지가 새 URL로 임시 이동되었습니다 |
400 | 잘못된 요청 | 서버가 요청을 인식하지 못합니다 |
401 | 무단 | 요청한 페이지에는 사용자 이름과 비밀번호가 필요합니다 |
402 | 결제 필요 | 이 상태 코드는 아직 사용할 수 없습니다 |
403 | 금지 | 요청한 페이지에 대한 접근이 금지되어 있습니다 |
404 | 찾을 수 없음 | 서버가 요청한 페이지를 찾을 수 없습니다 |
405 | 허용되지 않는 방법 | 요청에 지정된 방법은 허용되지 않습니다 |
406 | 불가 | 서버는 클라이언트가 받아들일 수 없는 응답만 생성할 수 있습니다 |
407 | 프록시 인증 필요 | 요청을 처리하기 전에 프록시 서버를 인증해야 합니다 |
408 | 요청 시간 초과 | 요청 시간이 서버가 대기할 수 있는 시간을 초과하여 연결이 끊어졌습니다 |
409 | 갈등 | 요청 충돌 |
410 | 사라짐 | 요청한 페이지는 더 이상 사용할 수 없습니다. |
411 | 길이 필요 | "Content-Length"가 정의되지 않았습니다. 서버가 요청 수락을 거부했습니다. |
412 | 전제조건 실패 | 요청한 전제조건이 서버에 의해 거짓으로 평가되었습니다 |
413 | 요청 항목이 너무 큼 | 요청한 엔터티가 너무 커서 서버가 요청 수락을 거부했습니다 |
414 | 요청 URL이 너무 깁니다 | URL이 너무 길기 때문에 서버가 요청 수락을 거부했습니다."POST" 요청을 "GET" 요청으로 변환하면 대량의 쿼리 정보가 나타납니다 |
415 | 지원되지 않는 미디어 유형 | 미디어 유형이 지원되지 않기 때문에 서버가 요청 수락을 거부했습니다. |
417 | 기대 실패 | |
500 | 내부 서버 오류 | 요청이 불완전하고 서버에 예상치 못한 상황이 발생했습니다. |
501 | 구현되지 않음 | 요청이 불완전하며 서버가 필요한 기능을 제공하지 않습니다 |
502 | 나쁜 게이트웨이 | 요청이 불완전했고 서버가 업스트림 서버로부터 잘못된 응답을 수락했습니다. |
503 | 서비스 이용 불가 | 요청이 완료되지 않아 서버가 일시적으로 다시 시작되거나 종료됩니다 |
504 | 게이트웨이 시간 초과 | 게이트웨이 시간 초과 |
505 | HTTP 버전은 지원되지 않습니다 | 서버가 지정된 HTTP 버전을 지원하지 않습니다 |
HTTP 상태 코드 설정 방법
다음 표에는 HttpServletResponse 클래스에서 상태 코드를 설정하는 데 사용되는 방법이 나열되어 있습니다.
S.N. | 방법 및 설명 |
---|
S.N. | 方法 & 描述 |
---|---|
1 | public void setStatus ( int statusCode ) |
2 | public void sendRedirect(String url) |
3 | public void sendError(int code, String message) |
1
public void setStatus( int statusCode )
이 메서드는 모든 상태 코드를 설정할 수 있습니다. 응답에 특수 상태 코드와 문서가 포함된 경우 PrintWriter로 항목을 반환하기 전에 setStatus 메소드
를 호출해야 합니다. 2<🎜>public void sendRedirect(문자열 URL)<🎜><🎜> 이 메소드는 302 응답을 생성하고 URL에 새 문서 <🎜><🎜><🎜><🎜>를 알려주는 Location 헤더도 생성합니다. 3<🎜><🎜>public void sendError(int 코드, 문자열 메시지)<🎜>
<🎜> 이 방법은 상태 코드(일반적으로 404)와 짧은 메시지를 HTML 문서에 자동으로 삽입하고 이를 클라이언트로 다시 보냅니다. <🎜><🎜><🎜><🎜><🎜><🎜> HTTP 상태 코드 프로그램 예 <🎜><🎜>다음 예는 407 오류 코드를 브라우저에 보내고 브라우저는 "인증 필요!!!"라고 알려줄 것입니다. <🎜>
<html> <head> <title>Setting HTTP Status Code</title> </head> <body> <% // 设置错误代码,并说明原因 response.sendError(407, "Need authentication!!!" ); %> </body> </html><🎜>위의 JSP 페이지에 액세스하면 다음과 같은 결과를 얻을 수 있습니다. <🎜><🎜><🎜>또한 다른 상태 코드를 사용하여 예상치 못한 결과가 나타나는지 확인할 수도 있습니다. <🎜><🎜>