티스토리 뷰

728x90

💻 HTTP 요청 메서드

GET 특정 리소스의 표시를 요청합니다.
POST 특정 리소스를 생성하는 것을 요청합니다 (Body, Content-Type 필요)
PATCH 리소스의 일부분을 수정할 때 사용합니다 (Body, Content-Type 필요)
PUT 리소스를 전부 수정할 때 사용합니다 (Body, Content-Type 필요)
DELETE 특정 리소스를 삭제합니다

 

멱등성

여러번 수행해도 결과가 같음을 의미합니다. 호출로 인하여 데이터가 변형이 되지 않는다는 것을 의미함!

 

💻 RESTful API란?

REST (Representational State Trasfer)

REST API는 REST 아키텍처의 제약 조건을 준수하는 API입니다.

자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 의미합니다.

HTTP URI를 통해 자원(Resource)를 명시하고, HTTP Method를 통해 해당 자원에 대한 CRUD 동작을 표시하고 적용하는 것을 의미합니다.

 

Restful API 제약 조건

  • URI는 자원을 표현해야 합니다.
  • 클라이언트 또는 서버에서 관리하는 리소스는 복수로 표현하는게 좋으며, 인스턴스는 단수를 사용합니다.
  • URI에는 최대한 명사를 사용하는 것이 좋으며, 동사의 역할은 http method가 하도록 합니다.
  • 언더바 사용은 안되며 필요한 경우는 하이픈(-) 사용
  • 대문자보다는 소문자 사용

 

API (Application Programming Interface)

데이터와 기능의 집합을 제공하여 컴퓨터 프로그램 간 상호작용을 촉진하며, 서로 정보를 교환 가능하도록 하는 것

 

 

💻 GET vs POST

GET

  • 클라이언트에서 서버로 어떠한 정보를 요청하기 위해 사용하는 메서드입니다.
  • GET은 요청을 전송할 때 URL 주소 끝에 쿼리 스트링의 형식으로 파라미터를 붙여서 전송합니다.
  • 오로지 데이터를 읽을 때만 사용되고 수정할 때는 사용하지 않습니다.
  • 파라미터 내용이 노출되기 때문에 민감한 데이터를 GET 요청에 사용해서는 안됩니다.
  • 여러번 GET 요청을 보내더라도 변함없이 항상 같은 응답을 받을 수 있습니다.(멱등성)
  • 불필요한 요청을 제한하기 위해 요청이 캐시될 수 있습니다.
    • 정적 컨텐츠(css, js)를 요청하고 나면 브라우저는 요청을 캐시해두고 동일한 요청이 발생하면 캐시된 데이터를 사용합니다. 그래서 프론트엔드 개발을 하다보면 정적 콘텐츠가 캐시돼 컨텐츠를 변경해도 내용이 바뀌지 않는 경우가 종종 발생하는 것!

 

POST

  • 클라이언트에서 서버로 어떠한 리소스를 생성하기 위해 사용하는 메서드입니다.
  • 전송할 데이터를 HTTP 메시지의 Body에 담아서 전송합니다.
  • Body의 타입은 요청 헤더의 Content-Type에 요청 데이터의 타입에 따라 결정됩니다.
  • POST는 새로운 데이터를 생성하는 메서드로, 요청을 여러번 반복하면 같은 결과물을 반환할거라는 보장이 없습니다.(멱등성X)

 

💻 References

 

 

728x90

'공부' 카테고리의 다른 글

쿠키, 세션, 웹 스토리지  (1) 2023.02.01
호이스팅, 클로저, 렉시컬 환경, 실행 컨텍스트  (0) 2023.01.30
React.js vs Next.js  (0) 2023.01.25
CSR과 SSR? (feat. CDN이란)  (0) 2023.01.24
Polyfill, Webpack, Babel  (0) 2023.01.23
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함