Rest Api

Rest Api에 대해서 웹 쪽 관련해서 취업할때 상당히 많이 요구 사항에 들어가있다 

Rest Api가 뭘까요?

Rest는 Representational State Transfer의 줄인말이다

즉 번역해보면 '대표 상태 이전' 이게 무슨말인지 감도 안온다.

쉽게 위키를 보면 

현실적으로 온라인 '네트워크'의 지분 중 태반을 차지하는게 월드 와이드 웹이기 때문에 '웹' 기반의 전송을 위해 쓰이는 경우가 대부분이다. 태생 자체가 데이터 송수신에 최적화 되어 있다보니 이를 위한 웹 API 쪽에서 굉장히 많이 쓰인다. 이를 'REST API'라고 부르는데, 이제는 그냥 '웹 API'와 동일하다고 볼 수 있을 정도로 보편화되었다.

 -위키-

즉 웹개발에서 HTTP기반의 웹 API를 구현하면 그건  Rest를 준수한다고 생각하면된다.

좀더 쉽게 말하면 네트워크 웹 구조 설계를 의미한다. 

그렇다면 Rest Api의 조건은 뭘까 ?

이것도 위키에서 빌려오겠다.

Client-Server

가장 심플하며 프로그래밍에서 네트워크 통신의 기본중에 기본 즉 서버와 클라이언트 관계이다. 

Stateless

상태 정보를 따로 저장하지않고 다수의 이용자가 어디서든 접근해도 관계없이 동일한 결과를 얻는것이다.

이것도 네이버,다음 같은 웹도 다수의 사람들이 여러곳에서 접근해도 변하지않고 동일한 웹사이트를 보여준다.

Cache

 Http를 비롯한 네트워크 프로토콜에서 제공하는 케싱 기능을 적용한다.

케시는 말그대로 빠르게 데이터를 가지고 오는 역활을 하는데 일반적으로 이미지 같은것들이나 반복적인 작업이 보여주는것들은 Cache를 사용한다.

Uniform Interface

데이터가 표준 형식으로 전송될수 있도록 구성 요소 간 통합 인터페이스이다. 

(이부분은 조금 추후에 설명하도록 하겠다 이걸 설명하려면 일단 좀 길어져서 다음에 설명하도록 하겠다)

Self-descriptiveness

API를 통해 전송되는 내용은 별도 문서 없이 쉽게 이해할 수 있도록 자체 표현 구조를 지녀야 한다.

쉽게 설명하면 JSON,XML이라고 생각하면 좋을것같다.

JSON,XML은 말그대로 클라이언트에 데이터를 보내는 양식이다.

 

이런구조라고 가볍게 넘어가자 혹시나 틀리부분이 있다면 지적해주면 정말로 감사합니다. 

 

 

' > Spring' 카테고리의 다른 글

spring 어노테이션01  (0) 2022.07.09
spring gradle junit4->junit5 설정  (0) 2022.07.03
assertThat의 경우 junit5에서 바로 지정되지 않는 이유가 발생!  (0) 2022.06.30
<Spring>Entity  (0) 2020.12.14
<Spring>JPA  (0) 2020.12.14

+ Recent posts