Network
104. (Network/네트워크) HTTP Rest Api 및 메소드 종류 설명
투케이2K
2024. 10. 10. 19:59
[구 분]
구분 : Network / 네트워크
제목 : HTTP Rest Api 및 메소드 종류 설명
[설 명]
// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------
- 환경 : Web / HTTP
- 제목 : HTTP Rest Api 및 메소드 종류 설명
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[설 명]
// --------------------------------------------------------------------------------------
1. REST 란 Representational State Transfer 약자로 http 통신에서 사용하는 아키텍처 입니다
2. REST 메소드 종류 :
- GET : 서버로부터 데이터를 취득
- POST : 서버에 데이터를 추가, 작성 등
- PUT : 서버의 데이터를 전체 갱신, 수정, 작성 등
- PATCH : 서버의 데이터를 일부 갱신, 수정, 작성 등
- DELETE : 서버의 데이터를 삭제
- HEAD : 서버 리소스의 헤더 (메타 데이터 취득)
- OPTIONS : 리소스가 지원하고 있는 메소드의 취득
- PATCH : 리소스의 일부분을 수정
- CONNECT : 프록시 동작의 터널 접속을 변경
3. GET 메소드 설명 :
- GET 메소드는 주로 데이터를 읽거나(Read) 검색 (Retrieve) 할 때에 사용되는 메소드 입니다
- 클라이언트 GET 요청이 성공적으로 이루어진다면 서버는 TEST , JSON 등과 함께 200 (OK) HTTP 응답 코드를 리턴합니다
- 클라이언트는 GET 방식 요청 시 Body 값을 비우고, Content-Type 은 QueryString 쿼리 파람 형태를 전달하기위해 URL ENCODE 설정을 합니다
- GET 메소드에서 QueryString 전송 시 256 Byte 를 넘지 않게 유의해야하며, URL 길이 제한은 브라우저마다 차이가 있습니다 (ex : 크롬, 사파리, 파이어폭스)
>> 공식적으로 글자수 제한이 나와 있지는 않으며, 브라우저 마다 URL 길이 제한 차이가 있습니다
- 로직 : 서버는 GET API 생성 필요 >> 클라이언트가 GET 방식으로 서버에 요청 하면 >> 서버는 DB 조회 >> 조회 결과를 JSON 형태로 포맷 >> 클라이언트로 반환
4. POST 메소드 설명 :
- POST 메소드는 주로 새로운 리소스를 생성 (create) 할 때 사용됩니다 (부모 리소스의 하위 리소스)
- 클라이언트 POST 요청이 성공적으로 이루어진다면 201 (Created) HTTP 응답 코드를 리턴합니다
- 클라이언트는 POST 방식 요청 시 일반적으로 Body 안에 Json 형식 데이터를 작성해 전송 합니다 (Content-Type : application json)
- 로직 : 서버는 POST API 생성 필요 >> 클라이언트가 POST 방식으로 서버에 요청 하면 >> 서버는 DB 에 데이터 INSERT 삽입 >> 삽입 성공 및 실패 결과를 >> 클라이언트로 반환
5. PUT 메소드 설명 :
- PUT 메소드는 리소스를 생성 및 업데이트하기 위해 서버로 데이터를 보내는 데 사용됩니다
>> PATCH 와 차이점은 PUT 은 리소스 모든 것을 업데이트 하지만, PATCH 는 리소스 일부를 업데이트 합니다
- 클라이언트는 PUT 요청시 Body 에 Json 데이터를 설정 및 Content-Type 에 application json 을 지정해야합니다
- 로직 : 서버는 PUT API 생성 필요 >> 클라이언트가 PUT 방식으로 서버에 요청 하면 >> 서버는 DB 데이터 UPDATE 수정 >> 수정 성공 및 실패 결과를 >> 클라이언트로 반환
6. PATCH 메소드 설명 :
- PATCH 메소드는 리소스를 생성 및 업데이트하기 위해 서버로 데이터를 보내는 데 사용됩니다
>> PUT 와 차이점은 PUT 은 리소스 모든 것을 업데이트 하지만, PATCH 는 리소스 일부를 업데이트 합니다
- 클라이언트는 PATCH 요청시 Body 에 Json 데이터를 설정 및 Content-Type 에 application json 을 지정해야합니다
- 로직 : 서버는 PATCH API 생성 필요 >> 클라이언트가 PATCH 방식으로 서버에 요청 하면 >> 서버는 DB 데이터 UPDATE 수정 >> 수정 성공 및 실패 결과를 >> 클라이언트로 반환
7. DELETE 메소드 설명 :
- DELETE 메서드는 지정된 리소스를 삭제합니다
- DELETE 메서드는 데이터를 삭제하는 것이기 때문에 HTTP 요청시에 Body 값과 Content-Type 값이 비워져있으며, URL을 통해서 어떠한 데이터를 삭제할지 파라미터를 받습니다
- 로직 : 서버는 DELETE API 생성 필요 >> 클라이언트가 DELETE 방식으로 서버에 요청 하면 >> 서버는 DB 데이터 DELETE 삭제 >> 삭제 성공 및 실패 결과를 >> 클라이언트로 반환
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
[Mozilla 사이트]
https://developer.mozilla.org/ko/docs/Web/HTTP/Methods
[HTTP REST 및 메소드 설명 참고 사이트]
https://blog.naver.com/kkh0977/223144835926?trackingCode=blog_bloghome_searchlist
[HTTP GET 메소드 호출 참고 사이트]
https://blog.naver.com/kkh0977/222951679283
[HTTP POST 메소드 호출 참고 사이트]
https://blog.naver.com/kkh0977/222952665953
[HTTP PUT 메소드 호출 참고 사이트]
https://blog.naver.com/kkh0977/223155375182
[HTTP PATCH 메소드 호출 참고 사이트]
https://blog.naver.com/kkh0977/223155377921
[HTTP DELETE 메소드 호출 참고 사이트]
https://blog.naver.com/kkh0977/223154343526
// --------------------------------------------------------------------------------------
반응형