클라이언트가 서버로 요청을 보내는 방법인 Http Method 중 가장 많이 쓰이는 방식 2개
Get - '가져오다' 라는 뜻
어떠한 정보를 가져와서 조회하기 위해서 사용되는 방식
캐싱 : 한 번 접근 후, 또 다시 접근할 시 빠르게 접근하기 위해 레지스터에 데이터를 저장해 두는 것
Post - 부치다, 제출하다
데이터를 서버로 제출하여 추가 또는 수정하기 위해서 사용하는 방식
- 사용 목적
Get은 서버의 리소스에서 데이터를 요청할 때, Post는 서버의 리소스를 새로 생성하거나 업데이트할 때 사용 (DB로 따지면, Get은 Select에 가깝고, Post는 Create에 가깝다)
Get - 브라우저에서 웹페이지를 열어보거나 게시글을 읽는 등 "조회"를 하는 행위에 사용
Post - 서버의 상태를 변화시킬 때 사용 (예 : 게시글 쓰기, 삭제하기 등)
- 요청에 Body 유무
Get은 URL 파라미터에 요청하는 데이터를 담아 보내기 때문에 HTTP 메시지에 Body가 없다. Post는 Body에 데이터를 담아 보내기 때문에 당연히 HTTP 메시지에 Body가 존재한다.
- 멱등성
Get 요청은 멱등이며, Post 요청은 멱등이 아니다.
Get 요청은 서버에게 동일한 요청을 여러 번 전송하더라도 동일한 응답이 돌아와야 함
Post 요청은 서버에게 동일한 요청을 여러 번 전송하면 응답은 항상 다를 수 있음
Idempotent : 멱등법칙, 멱등성 | 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질
- 표로 정리하기
- URL 예시
Get : http://localhost:8080/Boardlist?name=바다&contetns=바다는비에젖지않는다
Post : http://localhost:8080/addBoard