Home 메서드 방식 - GET과 POST 차이점
Post
Cancel

메서드 방식 - GET과 POST 차이점

GET 메서드

  GET 요청 보낼 때
본문body이나 페이로드payload를 보내게 되면,
요청 거부당할 수도 있음.
따라서, GET 요청에는 본문, 페이로드 담지 않는 게 바람직함.

  • 요청request에 본문 존재
    : X
  • 성공 응답response에 본문 존재
    : O
  • 안전함
    : O
cf) "안전하다"의 정의
  HTTP 메서드가 서버의 상태state를 바꾸지 않을 시에!
달리 말하면, 읽기 작업만read-only 수행하면!

  모든 안전한 HTTP 메서드는 멱등성도 갖는다.
But, 그 역reverse은 성립 X
  • 멱등성idempotent
    : O
cf) "멱등"의 정의
  HTTP 메서드가
-  동일 요청 한 번 보내는 것과 여러 번 보내는 것이
   같은 효과를 지니고,
-  서버의 상태도 동일하게 남을 때.
==> "해당 HTTP 메서드가 멱등성을 지닌다."
  • 캐시cache 가능
    : O
  • HTML 양식forms에서 사용 가능
    : O

POST 메서드

  보통 HTML 양식forms을 통해 전송.
이로써 서버에 변경사항 만듦.

  <form> 요소elementenctype 특성attribute이나
<input> 요소의 formenctype,
혹은, button 요소의 formenctype
담긴 문자열로 결정됨.

  예시)

  1. 기존 리소스에 주석달기
  2. 게시판, 메일링 리스트 등에 글 게재
  3. 회원가입 모달modal로 새 사용자 추가
  4. 양식 전송 결과 등을
    데이터 처리 프로세스에 전송
  5. 이어붙이기append 연산 통한 DB 확장
  • 요청request에 본문 존재
    : O
  • 성공 응답response에 본문 존재
    : O
  • 안전함
    : X
  • 멱등성idempotent
    : X
    (즉, 한 번 보내는 것과 여러 번 보내는 것이
    그 효과가 다르다.)
  • 캐시cache 가능 여부
    : fresh한 응답이 담겼을 때만!!
    참조
  • HTML 양식forms에서 사용 가능
    : O
Contents