GET
메서드
GET
요청 보낼 때
본문body이나 페이로드payload를 보내게 되면,
요청 거부당할 수도 있음.
따라서, GET
요청에는 본문, 페이로드 담지 않는 게 바람직함.
- 요청request에 본문 존재
: X - 성공 응답response에 본문 존재
: O - 안전함
: O
cf) "안전하다"의 정의
HTTP 메서드가 서버의 상태state를 바꾸지 않을 시에!
달리 말하면, 읽기 작업만read-only 수행하면!
모든 안전한 HTTP 메서드는 멱등성도 갖는다.
But, 그 역reverse은 성립 X
HTTP 메서드가 서버의 상태state를 바꾸지 않을 시에!
달리 말하면, 읽기 작업만read-only 수행하면!
모든 안전한 HTTP 메서드는 멱등성도 갖는다.
But, 그 역reverse은 성립 X
- 멱등성idempotent
: O
cf) "멱등"의 정의
HTTP 메서드가
- 동일 요청 한 번 보내는 것과 여러 번 보내는 것이
같은 효과를 지니고,
- 서버의 상태도 동일하게 남을 때.
==> "해당 HTTP 메서드가 멱등성을 지닌다."
HTTP 메서드가
- 동일 요청 한 번 보내는 것과 여러 번 보내는 것이
같은 효과를 지니고,
- 서버의 상태도 동일하게 남을 때.
==> "해당 HTTP 메서드가 멱등성을 지닌다."
- 캐시cache 가능
: O - HTML 양식forms에서 사용 가능
: O
POST
메서드
보통 HTML 양식forms을 통해 전송.
이로써 서버에 변경사항 만듦.
<form>
요소element의 enctype
특성attribute이나
<input>
요소의 formenctype
,
혹은, button
요소의 formenctype
에
담긴 문자열로 결정됨.
예시)
- 기존 리소스에 주석달기
- 게시판, 메일링 리스트 등에 글 게재
- 회원가입 모달modal로 새 사용자 추가
- 양식 전송 결과 등을
데이터 처리 프로세스에 전송 - 이어붙이기append 연산 통한 DB 확장
- 요청request에 본문 존재
: O - 성공 응답response에 본문 존재
: O - 안전함
: X - 멱등성idempotent
: X
(즉, 한 번 보내는 것과 여러 번 보내는 것이
그 효과가 다르다.) - 캐시cache 가능 여부
: fresh한 응답이 담겼을 때만!!
참조 - HTML 양식forms에서 사용 가능
: O