HTTP(Hypertext Transfer Protocol)는 웹에서 데이터를 주고받는 프로토콜로, 클라이언트와 서버 간의 상호작용에 사용됩니다.
HTTP 메소드는 클라이언트가 서버에게 어떤 동작을 요청하는 데 사용됩니다.
GET
GET 메소드는 서버로부터 데이터를 요청할 때 사용됩니다.
URL에 데이터를 첨부하여 요청하며, 데이터를 전달하는 방식으로 쿼리 파라미터(Query Parameter)를 사용합니다.
보통 데이터의 조회나 검색과 같은 요청에 사용됩니다.
데이터 요청에 대한 응답은 body에 데이터를 담아서 전달됩니다.
데이터가 URL에 노출되므로 보안에 취약합니다. 민감한 정보를 GET 방식으로 전송하는 것은 적절하지 않습니다.
브라우저 주소창에 직접 입력하여 호출하거나, 링크를 클릭하여 호출할 수 있습니다.
POST
POST 메소드는 서버로 데이터를 제출할 때 사용됩니다.
데이터를 요청 본문(Request Body)에 담아서 서버로 전송합니다.
주로 새로운 데이터를 생성하거나 서버의 상태를 변경하는 작업에 사용됩니다. (회원가입, 로그인, 데이터 등록과 같은 요청)
서버는 POST 요청을 처리하여 새로운 리소스를 생성하거나 요청에 대한 응답으로 데이터를 반환할 수 있습니다.
HTML 폼(form)을 통해 데이터를 전송하거나, AJAX를 이용하여 비동기적으로 데이터를 전송할 때 주로 사용됩니다.
데이터의 길이에 제한이 없어 대용량 데이터 전송이 가능합니다.
PUT
PUT 메소드는 서버에 데이터를 저장 또는 업데이트할 때 사용됩니다.
데이터를 요청 본문(Request Body)에 담아서 해당 리소스를 대체합니다.
일반적으로 해당 리소스의 전체 내용을 업데이트하는데 사용됩니다.
DELETE
DELETE 메소드는 서버에서 데이터를 삭제할 때 사용됩니다.
해당 리소스를 삭제하거나 비활성화하는 데 사용됩니다.
PATCH
PATCH 메소드는 서버에서 리소스의 일부분만 업데이트할 때 사용됩니다.
PUT과 달리 전체 리소스를 대체하지 않고, 일부 필드만 업데이트합니다.
서버는 요청 본문에 포함된 일부 데이터를 이용하여 해당 리소스를 업데이트합니다.
HEAD
HEAD 메소드는 GET 메소드와 유사하지만, 실제 데이터를 요청하지 않고 리소스의 메타데이터만을 요청합니다.
즉, 헤더 정보만을 얻고자 할 때 사용됩니다. 주로 헤더 정보를 검사하여 리소스의 상태를 확인할 때 사용됩니다.
OPTIONS
OPTIONS 메소드는 서버가 지원하는 HTTP 메소드를 확인할 때 사용됩니다.
서버에서 지원하는 메소드와 리소스에 대한 정보를 얻고자 할 때 사용됩니다.