본문 바로가기

개념정리

GET과 POST

GET과 POST가 무엇인지 찾아보면  간단하게 정리하면 다음과 같다.

 

GET은 서버로부터 정보를 조회하기 위해 생성된 메서드 : GET은 요청을 전송할 때 필요한 데이터를 Body에 담지 않고, 쿼리스트링을 통해 전송하는데 쿼리스트링이란 URL의 끝에 ?와 함께 이름과 값으로 쌍을 이루는 요청 파라미터를말한다. 만약 요청 파라미터가 여러개면 &로 연결한다. 따라서 길이에 제한이 있다. 비밀번호와같은 개인정보는 짧은 길이이지만 URL에 드러나면 안되므로 GET요청을 사용하기엔 적합하지않다.

 

POST는 리소스를 생성/변경하기 위해 설계하기 위해 생성된 메서드 : POST는 요청을 전송할 때 필요한 데이터를 Body에 담기 때문에 길이의 제한이 없어 대용량 데이터를 전송하기에 적합하다. 또한 URL에 드러나지 않기때문에 보안이 필요한 개인정보를 전송 시에도 적합하다. (하지만 POST요청도 개발자 도구 등을 통해 확인이 가능하기 때문에 민감한 정보는 꼭 암호화를 거쳐야 한다)

 

GET과 POST의 차이

GET은 Idempotent, POST는 Non-idempotent하게 설계되었다.

Idempotent란 똑같은 연산을 여러번 수행하더라도 동일한 결과가 나타나는것을 말한다. 

따라서 여러번 수행해도 동일한 결과가 나타나는 게시글읽기 등의 조회를 하는것은 GET을 사용,

요청할때마다 결과값이 달라지는 생성, 삭제, 수정 등에는 POST가 사용된다.

'개념정리' 카테고리의 다른 글

로컬스토리지/세션스토리지/쿠키  (0) 2021.05.01
API란? 2  (0) 2021.02.15
API란?  (0) 2021.02.15
★(기본기 다지기)객체지향언어란?  (2) 2021.01.29