티스토리 뷰

TIL

[TIL] 2022 / 08 / 02

희철 2022. 8. 2. 23:24

HTTP vs Socket

 

 

소켓통신은 HTTP와 달리 양방향 연결이 이루어짐.

-> 서버가 클라이언트의 요청이 없어도 데이터 전달 가능

 

 

HTTPS

 

 

TCP(전송계층)와 http(응용계층)사이에서 작용하여 데이터를 암호화하여 전송

 

URL은 노출되지만, HTTP Body등은 암호화돼서 전송

 

 

 

REST API

 

 

6가지 원칙

  • Uniform Interface
    -> 자원에 대한 식별이 가능해야함
    -> HTTP method를 통해 자원을 조작해야함

    정해진 규칙이 있다고 생각하면될듯

  • Stateless(무상태)
    -> HTTP의 특징이므로 REST 또한 가짐
    -> 클라이언트와 통신을 한 후, 상태가 서버에 저장되지않고 종료됨.

  • Cacheable(캐시 가능)
    -> HTTP의 특징이므로 REST도 사용 가능.
    -> 서버의 부하를 감소시킬 수 있음

  • Self-descriptiveness(자체 표현 구조)
    -> 쉽게 이해할 수 있는 자체 구조를 가져야함.

  • Client - Server 구조

  • 계층형 구조

장점

 

  • 기존 웹 환경의 TCP / IP 연결을 통해 HTTP(S)에서 손쉽게 구현 가능
  • 별도의 프로토콜 구현 필요없음
  • 특정 언어나 기술에 종속되지않음
  • 아키텍쳐 덕분에 메시지만 봐도 의도를 파악할 수 있음.

 

단점

 

  • 오버패칭
    -> 필요한 값보다 더 많은 정보가 로딩될 수 있음
  • 언더패칭
    -> 필요한 정보를 얻기 위해 추가 API 요청이 필요할 수 있음.
  • 엔드포인트
    -> 규모가 커지면 관리하기 어려움
    -> 기존의 것이 변경될 경우, 업데이트를 하지않으면 문제 발생 가능성있음.

 

 

'TIL' 카테고리의 다른 글

[TIL] 2022 / 08 / 04 (TMDB 프로젝트)  (0) 2022.08.05
[TIL] 2022 / 08 / 03  (0) 2022.08.04
[TIL] 2022 / 08 / 01  (0) 2022.08.01
[TIL] 2022 / 07 / 31  (0) 2022.07.31
[TIL] 2022 / 07 / 30  (0) 2022.07.30
댓글
최근에 올라온 글
Total
Today
Yesterday