TIL 2023 10 19

김민준·2023년 10월 19일
0

얕고 짧은 정리

REST API

API

다른 소프트웨어 시스템과 소통하기 위한 규칙
다른 소프트웨어 시스템과 데이터를 주고 받거나, 서비스를 요청하고 응답받는데 사용한다.

정의

RESTful 하게 짜여진 API를 일컫는 말
표준이나 공식이 존재하지 않는다.

  • 자원을 URI로 상호작용한다.
  • HTTP 메서드로 자원을 요청하거나 변경한다.
  • 무상태성
  • 자기 서술적

장단점

장점

  • 다양한 플랫폼 언어와 통신할 수 있는 유연한 구조를 제공한다.
  • 서비스 디자인의 문제를 최소화한다.
  • 서버와 클라이언트의 역할을 명확히 구분한다.
  • HTTP 프로토콜의 인프라를 그대로 사용한다.
  • API 메세지가 의미하는 바가 명확하다.

단점

  • 사용할 수 있는 메소드가 제한적이다.
  • 브라우저로 테스트하기 힘들다.
  • 구형 브라우저나 일부 환경에서 지원되지 않는다.

프로세스와 스레드의 차이

  • 프로세스 : 프로그램이 돌아가는 과정
  • 스레드 : 프로세스의 조각중 하나

프로세스는 운영체제에서 별도로 관리하는 독립적인 실행단위로, 자체 메모리를 가지고 있다.
그렇기 때문에 생성에 오래걸리고 IPC없이 서로의 메모리에 직접 접근할 수 없으나, 반대로 하나의 프로세스에 에러가 발생해도 다른데 영향을 주지 않는다.
프로세스 컨텍스트 스위칭이 비효율적, 오버헤드가 크다.
프로세스는 하나이상의 스레드로 이루어져있습니다.

스레드는 프로세스 내에서 메모리 공간을 공유하여 스레드 간 통신은 상대적으로 쉬우나, (공유 데이터 동시 업데이터, 경쟁조건, 데드락 등의 )문제가 생길 수 있으며, 하나의 스레드에서 문제가 생겨도 프로세스 전체에 영향이 갈 수 있다.

참조한 페이지

What is a RESTful API?
[Network] REST란? REST API란? RESTful이란?

프로세스와 스레드의 차이
사용자수준 쓰레드와 커널수준 쓰레드의 차이?
Process vs Thread – Difference Between Them
Difference between Process and Thread
스레드간 데이터 통신

profile
node 개발자

0개의 댓글

관련 채용 정보