REST API 는 무엇이냐
서버를 만들때 REST API 에 의거하여 만들어야 좋다고 한다.
이게 뭐냐면
일단 API (Application Programing Interface)
웹개발에서 API 는
서버와 클라이언트 간의 소통방법 이다.
어떻게 통신을 할지 정한 규약
server.js 에 써놓은 코드가 API다.
이것을 Restful 하게 짜면 REST API 임
그럼 어떻게 restful 하게 짜야하냐?
Roy Fielding 이란 개발자가 만든 잘 짜여진 원칙에 의해서 쓰면 좋을것 같다 라고 논문을 썻는데
이게 유명해져서 정론으로 받아들여짐
논문 내용중에 있는
REST 원칙 6개
1. Unuform interface
- 하나의 자료는 하나의 URL로
- URL 하나를 알면 둘을 알 수 있어야함
- 요청과 응답은 정보가 충분히 들어있어야함
2. Client-Server 역할 구분
- 브라우저는 요청만 한다.
- 서버는 응답만 한다.
3. Stateless
- 요청1과 요청2는 의존성이 없어야함
4. Cacheable
- 서버에서 보내주는 정보들은 캐싱이 가능해야함
- 캐싱을 위한 버전같은 것도 관리해야함(브라우저가 알아서 잘해줌)
5. Layered System
6. Code on Demand
가장 중요한건 1번임.
간결하고 일관적이고 누가봐도 대충 뭐하는 페이지 인지 파악이 가능해야함
좋은 REST API 예시
이름짓기 원칙
- URL을 왠만하면 명사로 작성
- 하위문서를 나타낼 땐 "/"
- 파일확장자 사용금지
- 띄어쓰기는 대시(-) 이용
- 자료하나당 하나의 URL
메서드
개발자는 종종 Hypertext Transfer Protocol(HTTP)을 사용하여 RESTful API를 구현합니다. HTTP 메서드는 리소스에 수행해야 하는 작업을 서버에 알려줍니다. 다음은 4가지의 일반적인 HTTP 메서드입니다.
GET
클라이언트는 GET을 사용하여 서버의 지정된 URL에 있는 리소스에 액세스합니다. GET 요청을 캐싱하고 RESTful API 요청에 파라미터를 넣어 전송하여 전송 전에 데이터를 필터링하도록 서버에 지시할 수 있습니다.
POST
클라이언트는 POST를 사용하여 서버에 데이터를 전송합니다. 여기에는 요청과 함께 데이터 표현이 포함됩니다. 동일한 POST 요청을 여러 번 전송하면 동일한 리소스를 여러 번 생성하는 부작용이 있습니다.
PUT
클라이언트는 PUT을 사용하여 서버의 기존 리소스를 업데이트합니다. POST와 달리, RESTful 웹 서비스에서 동일한 PUT 요청을 여러 번 전송해도 결과는 동일합니다.
DELETE
클라이언트는 DELETE 요청을 사용하여 리소스를 제거합니다. DELETE 요청은 서버 상태를 변경할 수 있습니다. 하지만 사용자에게 적절한 인증이 없으면 요청은 실패합니다.
출처 : https://aws.amazon.com/ko/what-is/restful-api/
그밖의 API
'개발 일지 > JavaScript' 카테고리의 다른 글
Parameter 와 Argument (0) | 2023.03.28 |
---|---|
호이스팅 과 TDZ (0) | 2023.03.28 |
웹페이지가 브라우저에 렌더링 되는 과정 (0) | 2023.03.27 |
JavaScript async/await (0) | 2022.12.20 |
JavaScript Promise (0) | 2022.12.20 |