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

// --------------------------------------------------------------------------------------

 

반응형