DAY34(1) - GET&POST, 서버 상태 코드
📌 1. GET & POST
- GET과 POST는 HTTP프로토콜을 이용해서 서버에 요청을 전달할 때 사용하는 방식이다.
📍 1-1. GET 방식
- 서블릿에 데이터를 전송할 때 데이터가 URL뒤에
name=value
쌍 형태로 전송된다. 여러 개의 데이터를 전송할 때는 &
로 구분해서 전송한다.
- 장점
- 기본 전송 방식으로 사용이 쉽다.
- 웹 브라우저에서 직접 입력하여 전송 가능하다.
- 캐시가 남아 있어 전송 속도가 빠르다.
SELECT
등의 읽기 기능에 유리하다.
- 단점
- 브라우저에 따른 전송 데이터 크기 제한이 있다.
- 데이터가 드러나 있어 보안에 취약하다.
- 사용법
doGet()
<form>
태그 내에 method="get"
을 추가 또는 생략
(GET
방식이 디폴트로 작동함)
📍 1-2. POST 방식
- 서블릿에 데이터를 전송할 때 TCP/IP 프로토콜 데이터의 HEAD영역에 숨겨진 채 전송된다.
- 장점
- 캐시가 남지 않고 데이터가 숨겨져 있어 보안에 유리하다.
- 전송 데이터 용량에 제한이 없다.
- 서버의 값이나 상태를 바꾸는
INSERT, UPDATE, DELETE
등의 기능에 유리하다.
- 단점
- 전송 시 서블릿에서 다시 가져오는 작업이 필요하므로 처리 속도가
GET
방식보다 느리다.
- 사용법
doPost()
<form>
태그 내에 method="post"
추가
📌 2. 서버 상태 코드
- HTTP 응답 상태 코드는 특정 HTTP 요청에 따른 결과를 알려준다.
총 5개 클래스로 구분되며, 상태 코드의 첫번째 숫자가 응답의 클래스를 정의한다.
- 1xx(정보)
: 요청을 받았으며 프로세스를 계속한다
- 2xx(성공)
: 요청을 성공적으로 받았으며 인식했고 수용했다
- 3xx(리다이렉션)
: 요청 완료를 위해 추가 작업 조치가 필요하다
- 4xx(클라이언트 오류)
: 요청의 문법이 잘못되었거나 요청을 처리할 수 없다
- 5xx(서버 오류)
: 서버가 명백히 유효한 요청에 대해 충족을 실패했다
- 상태 코드 상세