[2022.10.06 ] 네트워크(1) - 클라이언트-서버 아키텍처

Reyna·2022년 10월 6일
0

TIL

목록 보기
1/16
post-thumbnail

2티어 아키텍처 클라이언트 서버 HTTP Message protocol API HTTP Method

1. 클라이언트-서버 아키텍처

클라이언트-서버 아키텍처는 리소스를 제공하는 곳인 서버와 리소스를 사용하는 곳인 클라이언트를 분리시킨 것을 의미하며, 2티어 아키텍처라고도 부른다.
여기에 리소스를 저장하는 공간인 데이터베이스를 추가하여 3티어 아키텍처라는 용어를 사용하기도 한다.

클라이언트, 서버의 구분

클라이언트는 플랫폼에 따라 웹사이트, 스마트폰/태블릿용 앱/ 데스크탑 앱 등으로 구분하며, 서버는 무엇을 하는지에 따라 구분하는데 파일을 제공하는 파일 서버, 웹사이트에서 필요로 하는 정보를 제공하는 웹 서버, 데이터를 제공하는 데이터베이스 서버 등이 있다.

2. 클라이언트-서버 통신과 API

클라이언트와 서버가 통신하는 방식?

웹 어플리케이션 아키텍처에서는 클라이언트와 서버가 HTTP라는 프로토콜을 이용하여 대화를 나눈다. 이때 HTTP를 이용해 주고받는 메시지를 HTTP메시지라고 한다.

프로토콜 : 컴퓨터 내부에서, 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체계

OSI 7 Layer별 주요 프로토콜

  1. 응용 계층
  • HTTP : 웹에서 HTML,JSON 등의 정보를 주고받는 프로토콜
  • HTTPS : HTTP에서 보안이 강화된 프로토콜
  • FTP : 파일 전송 프로토콜
  • SMTP : 메일 전송 프로토콜
  • SSH : CLI 환경의 원격 컴퓨터에 접속하기 위한 프로토콜
  1. 전송 계층
  • TCP : HTTP, FTP 통신의 근간이 되는 인터넷 프로토콜(양방향)
  • UDP : 단방향으로 작동하는 인터넷 프로토콜(단순하고 속도가 빠르지만 신뢰성이 낮음)

참고
https://developer.mozilla.org/ko/docs/Glossary/Protocol (프로토콜 MDN 정의)
https://www.youtube.com/watch?v=4E1BHTvhB7Y&t=143s (소프트웨어 아키텍처)

API

클라이언트가 리소스를 잘 활용할 수 있도록 서버가 제공하는 인터페이스를 말한다.

HTTP 메서드(CRUD와 일치하는 메서드가 존재한다)

GET 조회(Read)
POST 추가(Create)
PUT(or PATCH) 갱신(Update)
DELETE 삭제(Delete)

get 메서드와 post 메서드의 차이

  1. 사용 목적
  • get은 서버에서 정보를 요청하기 위해 사용되는 메서드이고, post는 서버에 리소스를 새로 생성할 때 사용되는 메서드이다.
  1. body 유무
  • get에는 body가 없고, post에는 있다.

0개의 댓글