HTTP 메소드에 대해 설명해 주세요.
2024. 9. 2. 09:54ㆍ코드잇 스프린트/위클리 페이퍼
HTTP 메소드에 대해 설명해 주세요.
1. HTTP
- HyperText Transfer Protocol
- HTML같은 하이퍼 미디어 문서 전송을 위한 프로토콜
- 클라이언트의 요청과 서버의 응답 통신이 이뤄짐
2. HTTP 요청 메소드
- 클라이언트가 서버에게 요청의 목적이나 종류를 알리는 수단
- 주어진 자원에 수행할 동작을 명시함
- 자원을 다루는 기본 메소드와 통신과 관련된 기타 메소드로 나눌 수 있음
3. 메소드 판단 기준
- 본문 존재 : 요청/응답에 본문이 존재하는가
- 안전성 : 요청이 서버 상태를 유지시키는가
- 멱등성 : 단일 요청과 중복 요청의 결과가 동일한가
- 캐시 가능성 : 응답을 캐싱하여 다음에 재사용이 가능한가
- HTML 폼 가능 : HTML 폼으로 요청 가능한가
4. 기본 메소드
4-1. GET
- 데이터를 받기 위해 사용하는 메소드
- 요청 본문 X, 응답 본문 O
- 안정성 O, 멱등성 O
- 캐시 가능성 O, HTML 폼 O
4-2. POST
- 데이터를 생성/수정(주로 생성)하기 위해 사용하는 메소드
- 중복 요청이 추가적인 생성을 발생시킴
- 요청 본문 O, 응답 본문 O
- 안정성 X, 멱등성 X
- 캐시 가능성 △, HTML 폼 O
4-3. PUT
- 데이터를 생성/수정(주로 수정)하기 위해 사용하는 메소드
- 중복 요청이 서버에 영향을 주지 않음
- 요청 본문 O, 응답 본문 △
- 안정성 X, 멱등성 O
- 캐시 가능성 X, HTML 폼 X
4-4. DELETE
- 데이터를 지우기 위해 사용하는 메소드
- 요청 본문 △, 응답 본문 △
- 안정성 X, 멱등성 O
- 캐시 가능성 X, HTML 폼 X
4-5. PATCH
- 데이터를 부분적으로 수정하기 위해 사용하는 메소드
- 데이터 맥락 안에서 부분을 수정하므로 멱등성을 보장 못함
- 요청 본문 O, 응답 본문 O
- 안정성 X, 멱등성 X
- 캐시 가능성 X, HTML 폼 X
5. 기타 메소드
5-1. HEAD
- 헤더를 받기 위해 사용하는 메소드
- 요청 본문 X, 응답 본문 X
- 안정성 O, 멱등성 O
- 캐시 가능성 O, HTML 폼 X
5-2. OPTION
- 통신 옵션을 받기 위해 사용하는 메소드
- 요청 본문 X, 응답 본문 △
- 안정성 O, 멱등성 O
- 캐시 가능성 X, HTML 폼 X
5-3. CONNECT
- 요청한 리소스에 대해 양방향 연결을 시작하는 메소드
- 주로 프록시 서버, VPN 등 터널링에 사용
- 요청 본문 X, 응답 본문 X
- 안정성 X, 멱등성 X
- 캐시 가능성 X, HTML 폼 X
5-4. TRACE
- 요청한 리소스에 대해 루프백 테스트를 수행하는 메소드
- 해당 요청에 본문이나 개인적이고 민감한 정보를 담으면 안됨
- 요청 본문 X, 응답 본문 O
- 안정성 O, 멱등성 O
- 캐시 가능성 X, HTML 폼 X
6. 참고 자료
'코드잇 스프린트 > 위클리 페이퍼' 카테고리의 다른 글
리액트에서 배열을 렌더링할 때 key를 써야 하는 이유에 대해 설명해 주세요. (1) | 2024.09.07 |
---|---|
리액트에서 Virtual DOM이 무엇인지, 이를 사용하는 이유는 무엇인지 설명해 주세요. (1) | 2024.09.07 |
렉시컬 스코프(Lexical scope)에 대해 설명해 주세요. (0) | 2024.09.02 |
자바스크립트 this에 대해 설명해 주세요. (0) | 2024.09.02 |
이벤트 버블링, 캡쳐링, 위임에 대해 설명해 주세요. (0) | 2024.09.02 |