GET과 POST의 차이
HTTP Method
HTTP Method는 클라이언트가 서버에 요청의 목적 및 종류를 알리는 수단입니다.
그 종류에는 GET, POST, PUT ,PATCH, DELETE.. 등 여러가지가 있습니다. 오늘은 가장 많이 쓰이는 GET과 POST에 대해서 알아보겠습니다.
GET
GET 방식은 주로 서버에서 리소스를 조회할때 사용됩니다.
특징
- 캐시가 가능하다
- 리소스를 요청할 때 웹 캐시가 요청을 가로채 리소스 복사본을 반환합니다. HTTP Header에서 cache-control 헤더를 통해 캐시 옵션을 지정할 수 있습니다.
- 브라우저 히스토리에 남습니다.
- GET은 SELECT 성향이 있어 서버에서 데이터 조회하는 용도로 활용됩니다.
- URL에 데이터를 포함하여 요청할 수 있습니다. (쿼리스트링)
- 데이터를 Header에 포함하여 전송합니다.
쿼리스트링은 ?로 시작하여 키(Key) = 값(Value) 형태로 전송할 수 있고 & 기호를 사용하여 다수의 데이터를 전송 할 수 있습니다. 다만 문제는 Header에 데이터가 노출되는 문제가 발생합니다.
POST
POST 방식은 서버에 리소스를 처리할 때 사용됩니다. 주로 데이터를 추가하거나 수정하기 위해 사용됩니다.
특징
- 캐시가 불가능 합니다.
- 브라우저 히스토리에 남지 않습니다.
- URL에 데이터를 노출하지 않고 요청할 수 있습니다.
- 데이터를 Body에 포함하여 전송합니다.
GET과 POST의 차이
- 사용목적
- GET : 데이터 조회
- POST : 데이터 생성 또는 수정
- 데이터 위치
- GET : Header
- POST : Body
- 멱등성(Idempotent) : 연산을 여러 번 하더라도 결과가 달라지지 않는 성질을 의미합니다.
- GET : 멱등성 보장
- POST : 멱등성 보장 X
'일반 > CS' 카테고리의 다른 글
[CS][Spring Security] CORS에 대해서 알아보자 (0) | 2024.12.16 |
---|---|
[CS][Spring Security] CSRF란? (0) | 2024.12.12 |
Maven Central Repository에 라이브러리 등록하기 (0) | 2024.09.19 |
[CS] MVC 패턴 (0) | 2024.04.17 |
URI와 URL의 차이점 (Feat : URN) (0) | 2024.01.21 |