728x90
Request를 요청했을 때 GET과 POST 방식이 있다는 것은 개발자라면 알고 있을 내용입니다.
그래서 GET과 POST를 비교하고 특징을 정리하겠습니다!
GET 메소드란?
GET은 HTTP 프로토콜에서 가장 일반적으로 사용되는 메소드 중 하나로, 특정 리소스의 표현을 요청하는 데 사용됩니다.
GET 메소드의 특징
- GET 요청은 URL에 매개변수를 추가하여 서버에 데이터를 전송합니다.
- GET은 주로 조회 작업을 수행할 때 사용됩니다.
- GET 요청은 브라우저에 캐시할 수 있습니다.
- URL에 매개변수가 포함되므로 길이 제한이 있습니다.
- 보안이 필요한 데이터(예 : 비밀번호)를 전송하는 데는 적합하지 않습니다.
POST 메소드란?
POST는 클라이언트가 서버의 리소스를 생성하거나 업데이트 하려 할 때 주로 사용하는 HTTP 메소드입니다.
POST 메소드의 특징
- POST 요청은 HTTP 메시지 본문에 데이터를 포함하여 서버에 전송합니다.
- POST는 주로 서버 상태 변경을 위해 사용됩니다.
- POST 요청은 기본저그오 브라우저에 캐시되지 않습니다
- URL에 데이터가 포함되지 않으므로 GET보다 많은 양의 데이터를 보낼 수 있으며, 이론상으로 크기 제한이 없습니다.
- 본문(body)내부에 데이터가 포함되므로, 비밀번호 같은 보안 정보도 안전하게 전송할 수 있습니다.
GET과 POST 비교
- 데이터 위치 : GET방식은 URL 내부(query string)에 정보가 들어있고, POST방식은 HTTP body 안에 정보가 들어감
- 데이터 길이 : GET방식의 경우 URL길이 제한 때문에 보낼 수 있는 정보량이 제한적이지만 POST는 이론적으로 무제한의 양을 전달 가능
- 보안 : GET방식은 모든 파라미터들이 URL 상에 나타나기 때문에 중요 정보(비밀번호 등)를 다루기 어려운 반면, POST 방식에서는 body부분에서 처리하기 때문에 상대적으로 안전
- 캐싱과 북마크 : GET 요청된 결과들을 웹브라우저에서 캐싱할 수 있으며, 북마크로 저장가능하지만 POST 불가능
- 용도 : GET은 서버의 리소스를 조회하는 데 사용, POST는 서버의 상태를 변경하거나 새 리소스를 생성하는데 사용
- Idempotent(멱등성) : GET메소드는 멱등성을 가지지만 POST메소드는 멱등성이 없습니다.(** 멱등성 : 동일한 요청을 여러번 보내도 결과 동일)
즉,
데이터를 조회할 때는 GET 방식, 데이터를 전송하거나 리소스 생성이라면 POST 방식을 사용하는게 안전하겠습니다!
728x90
'프론트 > 프론트엔드' 카테고리의 다른 글
[JSP] JSP에서 포워드(forward)와 리다이렉트(redirect), 특정 페이지로 이동 방법 (0) | 2023.10.20 |
---|---|
[프론트엔드] Redux란? (0) | 2023.10.13 |
[프론트엔드] Web Server란? (0) | 2023.10.13 |
[프론트 엔드] HTTP 프로토콜과 상태 코드 (0) | 2023.10.13 |
[프론트엔드] AJAX란? (2) | 2023.10.11 |