1. HTTP 메소드란?
- 클라이언트와 서버 사이에 이루어지는 요청과 응답 데이터를 전송하는 방식
- 서버에 주어진 리소스에 수행하길 원하는 행동
- 서버가 수행해야할 동작
* 복습!! Response Request 메시지 구조
Request line(start line) : HTTP 메소드 + URI + HTTP 버전
2. HTTP 메소드의 종류
=> GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS, CONNECT, TRACE
1) GET
- 리소스를 조회하는 메소드
- POST메소드로 조회할 수 있으나, GET은 캐싱이 가능하다는 장점이 있다
(*캐시 : 어떤 특징이 있는 데이터 하위 집합을 저장하는 고속 데이터 스토리지 계층, 이를 사용하면 해당 데이터에 대한 요청이 있을 경우 데이터의 기본 스토리지 위치에 액세스할 때보다 더 빠르게 요청을 처리할 수 있음)
- 서버에 전달하고 싶은 데이터는 쿼리 파라미터 또는 쿼리 스트링에 담아 전달
- 정적 데이터 조회 과정 (쿼리 파라미터 없이 조회 가능)
(1) 클라이언트에서 /members/100 으로 100번 멤버를 조회할 것을 요청함
(2) 서버에서 요청 메세지를 분석해 결과 Response를 만들고 응답
- 1xx : 정보만 담긴 메세지
- 2xx : 요청에 대한 응답이 정상적으로 이루어짐
- 3xx : 클라이언트를 다른 URL로 리다이렉트
- 4xx : 클라이언트측 에러 발생
- 5xx : 서버측 에러 발생
- 동적 데이터 조회 과정
- 쿼리 파라미터가 필요함 (member?key1=value1&key2=value2...)
(1) 요청 URL뒤에 쿼리파라미터를 입력하여 상세한 데이터를 요청한다
(2) 쿼리 파라미터를 기반으로 정렬하고 걸러내어 결과를 동적으로 생성한다
2) POST
- 전달한 데이터 처리/생성 요청 메서드
- 메시지 본문(body)를 통해 서버로 데이터를 요청
- 서버는 요청받은 데이터를 업데이트
- 전달받은 새로운 리소스를 등록하는 메서드
- Json 데이터 전송 과정
(1) 클라이언트는 body에 등록할 회원정보를 JSON형태로 담아 서버로 전달
(2) 서버에서는 받은 메세지를 분석해 로직대로 처리
(3) 신규회원에 대한 데이터를 본문에 담아서 응답
3) PUT
- 서버에 리소스를 업데이트하거나 생성하기 위해 사용됨
- 데이터를 HTTP 메세지 본문을 통해 서버로 데이터를 전송
- 만약 리소스가 없으면 새로 생성하고
- 리소스가 있다면 업데이트함
- 일부만 업데이트가 필요한 경우, PATCH가 더 적절할 수 있음
4) PATCH
- 서버 리소스의 필요한 부분만 업데이트 (부분적인 업데이트)
5) DELETE
- 서버에서 특정 리소스를 삭제하기 위해 사용됨
- 요청한 URI의 리소스를 삭제
6) OPTIONS
- 주어진 URL 또는 서버에 대해 허용된 통신 옵션을 요청
- URL을 직접 지정하거나, *을 사용해 전체 서버를 참조할 수 있음
7) TRACE
- 요청 리소스가 수신되는 경로를 보여줌.
- 자기 앞으로 요청 메세지를 반환(루프백) 시험
'자유게시판 > 스터디' 카테고리의 다른 글
캡슐, 상속 (1) | 2024.01.09 |
---|---|
[WEB] Restful API (2) | 2024.01.08 |
[Web] 구글을 주소창에 검색했을 때 화면이 나오기까지의 과정 (0) | 2024.01.01 |
[WEB] HTTP란? (0) | 2024.01.01 |
스터디 7주차 (0) | 2023.03.26 |