ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • REST API란 무엇인가?
    Dev/cs 2024. 4. 22. 23:03
    반응형

    REST API란 무엇인가?

    REST API란 REST를 기반으로 만들어진 API를 의미한다. REST API를 알기 위해 REST부터 알아야 한다.

    REST

    REST(Representational State Transfer)의 약자로 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 의미.

    HTTP URI를 통해 자원을 명시하고, HTTP Method (POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD OPERATION을 적용하는 것을 의미한다.


    참고 : PUT vs PATCH

    • PUT : 리소스의 모든 것을 업데이트 한다. 덮어씌운다는 느낌. 보내지 않은 데이터는 null로 반환.
    • PATCH : 리소스의 일부를 업데이트 한다. 일부를 수정하는 느낌. 보낸 데이터만 수정됨.

    참고 : Get은 왜 body에 데이터를 넣으면 안될까?

    • GET 요청은 서버에서 리소스를 검색하기 위해 설계되었다.
    • HTTP 명세서에서 GET 요청에서 메시지 바디를 사용하지 않는 것은 캐시 및 보안 문제를 일으킬 수 있기 때문이다.

    REST API

    REST의 원리를 따르는 API.

    1. URL은 동사보다는 명사, 대문자보다는 소문자를 사용한다.
    2. 슬래시(/)는 계층 관계를 나타내는데 사용한다.
    3. 마지막은 슬래시(/)를 포함하지 않는다.
    4. 언더바(_)대신 하이픈(-)을 사용한다.
    5. 파일확장자는 URL에 포함하지 않는다.

    또한, REST API는 URI만 잘 설계된 것이 아닌 그 리소스에 대한 응답을 잘 내어주는 것까지 포함되어야 한다.


    자주 사용되는 상태코드

    상태코드 상태 설명
    200 OK 서버가 요청을 성공적으로 처리하였다.
    201 Created 요청이 처리되어서 새로운 리소스가 생성되었다.
    202 Accepted 요청은 접수하였지만, 처리가 완료되지 않았다.
    400 Bad Request 잘못된 요청으로 서버가 요청사항을 이해하지 못했다.
    401 Unauthorized 지정한 리소스에 대한 액세스 권한이 없다.
    403 Forbidden 지정한 리소스에 대한 액세스가 금지되었다.
    404 Not Found 지정한 리소스를 찾을 수 없다.
    500 Internal Server Error 서버에 에러가 발생하였다.
    501 Not Implemented 요청한 URI의 메소드에 대해 서버가 구현하고 있지 않다.
    502 Bad Gateway 웹서버가 다른 서버로부터의 잘못된 응답을 받았을 때 발생한다.

    참고 : 4xx vs 5xx

    • 4xx : 클라이언트 에러
    • 5xx : 서버 에러

    RESTful

    REST API의 모든 설계 규칙을 올바르게 지킨 시스템을 RESTful하다 라고 한다.


    REST API란

    RESTful API란

    REST API 제대로 알고 사용하기

    http 상태코드

    제대로 이해하는 REST API

    반응형

    'Dev > cs' 카테고리의 다른 글

    네트워크 성능 분석 명령어  (1) 2023.08.24
    네트워크 토폴로지(Network topology)  (1) 2023.08.24
    디자인 패턴 - MVC 패턴은 무엇인가?  (0) 2023.08.23

    댓글

Designed by Tistory.