티스토리 뷰
728x90
HTTP Method 란?
HTTP 메서드란 클라이언트와 서버 사이에 이루어지는 요청(Request)과 응답(Response) 데이터를 전송하는 방식을 일컫는다. 쉽게 말하면 서버에 주어진 리소스에 수행하길 원하는 행동, 서버가 수행해야 할 동작을 지정하는 요청을 보내는 방법이다.
- 주요 메소드
- GET : 리소스 조회
- POST: 요청 데이터 처리, 주로 등록에 사용
- PUT : 리소스를 대체(덮어쓰기), 해당 리소스가 없으면 생성
- PATCH : 리소스 부분 변경 (PUT이 전체 변경, PATCH는 일부 변경)
- DELETE : 리소스 삭제
- 기타 메소드
- HEAD : GET과 동일하지만 메시지 부분(body 부분)을 제외하고, 상태 줄과 헤더만 반환
- OPTIONS : 대상 리소스에 대한 통신 가능 옵션(메서드)을 설명(주로 CORS에서 사용)
- CONNECT : 대상 자원으로 식별되는 서버에 대한 터널을 설정
- TRACE : 대상 리소스에 대한 경로를 따라 메시지 루프백 테스트를 수행
Get
- 리소스 조회 메서드 (Read)
- 만일 틀서버에 전달하고 싶은 데이터는 쿼리스트링를 통해서 전달
- ex) GET /members/100?username=inpa&height=200
- 쿼리스트링 외에 메시지 바디를 사용해서 데이터를 전달할 수 있지만, 서버에서 따로 구성해야 되기 때문에 지원하지 않는 곳이 많아서 권장하지 않음
- 조회할 때 POST도 사용할 수 있지만, GET 메서드는 캐싱이 가능하기에 GET을 사용하는 것이 유리하다.
- 데이터를 조회하는 것이기 때문에 요청시에 Body 값과 Content-Type 가 비워져있다. 조회할 데이터에 대한 정보는 URL을 통해서 파라메터를 받고 있는 모습을 볼 수 있다.
- 데이터 조회에 성공한다면 Body 값에 데이터 값을 저장하여 성공 응답을 보낸다.
Post
- 전달한 데이터 처리/생성 요청 메서드 (Create)
- 메시지 바디(body)를 통해 서버로 요청 데이터 전달하면 서버는 요청 데이터를 처리하여 업데이트
- 전달된 데이터로 주로 신규 리소스 등록, 프로세스 처리에 사용
- 만일 데이터를 GET 하는데 있어, JSON으로 조회 데이터를 넘겨야 하는 애매한 경우 POST를 사용
- 데이터를 생성하는 것이기 때문에 요청시에 Body 값과 Content-Type 값을 작성해야한다.
- URL을 통해서 데이터를 받지 않고, Body 값을 통해서 받는다.
- 데이터 조회에 성공한다면 Body 값에 저장한 데이터 값을 저장하여 성공 응답을 보낸다.
POST /member
body : {date : "example"}
Content-Type : "application/json"
Put
- 리소스를 대체(수정)하는 메서드 (Update)
- 만일 요청 메세지에 리소스가 있으면 덮어쓰고, 없으면 새로 생성한다.
- /members/100 데이터가 존재하면 기존에 것을 완전 대체 한다.
- /members/100 데이터가 없으면 대체 할게 없으니까 새로 생성한다.
- 데이터를 대체해야 하니, 클라이언트가 리소스의 구체적인 전체 경로를 지정해 보내주어야 한다.
- POST /members : 멤버 새로 추가
- PUT /members/100 : 100번째 멤버 수정
- 데이터를 수정하는 것이기 때문에 요청시에 Body 값과 Content-Type 값을 작성해야한다.
- URL을 통해서 어떠한 데이터를 수정할지 파라메터를 받는다. 그리고 수정할 데이터 값을 Body 값을 통해서 받는다.
- 데이터 조회에 성공한다면 Body 값에 저장한 데이터 값을 저장하여 성공 응답을 보낸다.
PUT /member/1
body : {date : "update example"}
Content-Type : "application/json"
DELETE
- DELETE 메서드는 지정된 리소스를 삭제한다.
- 데이터를 삭제하는 것이기 때문에 요청시에 Body 값과 Content-Type 값이 비워져있다.
- URL을 통해서 어떠한 데이터를 삭제할지 파라메터를 받는다.
- 데이터 삭제에 성공한다면 Body 값 없이 성공 응답만 보내게 된다.
- ex) DELETE /user/1
PATCH
- 리소스 일부 부분을 변경하는 메소드 (Update)
- 만일 PATCH를 지원하지 않는 서버에서는 대신에 POST를 사용할 수 있다.
HEAD
- GET과 동일하지만 서버에서 Body를 Return 하지 않음
- 응답의 상태 코드만 확인할때와 같이 Resource를 받지 않고 오직 찾기만 원할때 사용 (일종의 검사 용도)
- 서버의 응답 헤더를 봄으로써 Resource가 수정 되었는지 확인 가능
TRACE
- 이 메서드도 일종의 검사용
- 서버에 도달 했을 때의 최종 패킷의 요청 패킷 내용을 응답 받을 수 있다.
- 요청의 최종 수신자는 반드시 송신자에게 200(OK) 응답의 내용(Body)로 수신한 메세지를 반송해야 한다.
- 최초 Client의 요청에는 Body가 포함될수 없다.
OPTIONS
- 예비 요청(Preflight)에 사용되는 HTTP 메소드
- 예비 요청이란 본 요청을 하기 전에 안전한지 미리 검사하는 것이라고 보면 된다
- 서버의 지원 가능한 HTTP 메서드와 출처를 응답 받아 CORS 정책을 검사하기 위한 요청이다.
728x90
'Tech Interview > 기술 면접 준비' 카테고리의 다른 글
[Backend 개발자 면접 준비] MVC 패턴 구조 (0) | 2023.08.22 |
---|---|
[Backend 개발자 면접 준비] 정렬 알고리즘 (버블, 선택) (0) | 2023.08.18 |
[Backend 개발자 면접 준비] 동일성(Identity)과 동등성(Equality) (0) | 2023.08.16 |
[Backend 개발자 면접 준비] 자바에서 null을 다루는 방법 (0) | 2023.08.15 |
[Backend 개발자 면접 준비] List 와 Set 차이 (0) | 2023.08.14 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 프로그래머스 카카오
- 코딩테스트
- 백엔드 개발자 기술 면접 준비
- 프로그래머스
- 백엔드 개발자
- 코딩테스트 공부
- 백준
- 제로베이스 백준 장학금
- 코딩테스트공부
- 코딩테스트 준비
- 코테공부
- 자바
- 개발자 면접 준비
- 취업 준비
- 취업준비
- 알고리즘 공부
- 주니어 개발자 취업 준비
- 개발자 취준
- 코테준비
- 백엔드 개발자 취업 준비
- java
- 알고리즘
- 제로베이스 백엔드 스쿨
- 코테 준비
- 기술 면접 준비
- 자바공부
- 개발자 취업 준비
- 알고리즘공부
- 프로그래머스 자바
- 취준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함