1日も早くなれるじゃん。
로그인
1日も早くなれるじゃん。
로그인
Client-Server Architecture
Siwoo Pak
·
2021년 7월 29일
팔로우
0
http/네트워크
0
http/네트워크
목록 보기
1/12
1. 클라이언트-서버 아키텍처의 이해
클라이언트-서버 아키텍쳐 스타일에선 컴포넌트는 클라이언트 유형과 서버유형, 두 가지로 구성됨
제약사항은 주어진 스타일의 구성 요소들이 서로 연결되는 방식을 제한함
클라이언트-서버 아키텍쳐 스타일은 클라이언트와 서버를 연결하는 커넥터 이외에 클라이언트끼리, 서버끼리 연결하는 커넥터를 허용하지 않는 특징을 갖음
리소스가 존재하는 곳 / 리소스를 사용하는 앱을 분리시킨 것
앱은 클라이언트 / 리소스가 존재하는 곳은 서버
클라이언트와 서버는 요청과응답을 주고받는 관계로, 요청을 해야 응답 해준다.
일반적으로 서버는 리소스를 전달해주는 역할만 담당
리소스를 저장하는 공간은 데이터베이스에서
여기서 데이터베이스가 추가된 형태를 3티어 아키텍쳐
클라이언트에서 어떠한 정보를 요청하면 서버단에서 요청에 대한 정보를 처리하며 로그인 정보나 아니면 회원가입 리소스를 DB단에서 조회하거나 저장을 하며 그결과를 서버에 넘겨주고 서버또한 그결과를 클라이언트에 응답해준다.
클라이언트처럼 사용자가 직접 눈으로 보고, 클릭하는 등의 상호작용하는 부분을 담당하면 프론트엔드
눈에 안 보이지만 뒤에서 로그인관련, 상품관련등의 DB와 서버에 관련된 개발을 하는 건 백엔드
클라이언트와 서버의 종류
클라이언트: 웹, 모바일, 데스크탑 용 앱
서버: 웹, 파일, 메일, DB 서버
2. HTTP를 이용한 클라이언트-서버 통신의 이해
클라이언트의 요청을 통해 서버에서 그 요청에 대한 로직을 처리하고 그 리소스를 클라이언트에 전달함.
클라이언트에서 요청없이도 서버에서 간혹 알림을 푸쉬메시지를 통해 전달하는 경우도 있음.
2.1 프로토콜
프로토콜: 통신 규약.
HTTP:
웹앱에서 클라이언트와서버가 HTTP라는 프로토콜을 통해 통신을 함.
웹에서 이루어지는 모든 데이터 교환의 기초
클라이언트-서버 프로토콜: 수신자 측에 의해 요청이 초기화되는 프로토콜
하나의 환전한 문서는 텍스트, 레이아웃 설명, 이미지, 비디오, 스크립트 등 불러온 하위 문서들로 재구성됨.
HTTP: 7layer에서 애플리케이션 계층의 프로토콜
신뢰가능한 전송 프로토콜이라면 이론상으로는 무엇이든 사용할 수 있으나 TCP 혹은 TCP연결인 TLS를 통해 전송됨
HTTP메시지: HTTP를 이용해 주고 받는 메시지
요청과 응답을 가짐
요청
Method: 보통 클라이언트가 수행하고자 하는 동작을 정의한 GET, POST
일반적으로 클라이언트는 리소스를 가져오거나 HTML폼의 데이터를 전송하려고 하지만, 다른 도장이 요구될수도 있음.
Path: 가져오려는 리소스의 경로
Version of the protocol: HTTP 프로토콜의 버전
Headers: 서버에 대한 추가 정보를 전달하는 선택적 헤더들
응답
Version of the protocol: HTTP 프로토콜의 버전.
Status code: 요청의 성공 여부와, 그 이유를 나타내는 상태 코드.
Status message: 아무런 영향력이 없는, 상태 코드의 짧은 설명을 나타내는 상태 메시지.
Headers: 요청 헤더와 비슷한, HTTP 헤더들.
주요 프로토콜
응용계층
HTTP: 웹에서 HTML, JSON 등의 정보를 주고받는 프로토콜
HTTPS: HTTP에서 보안이 강화된 프로토콜
FTP: 파일 전송 프로토콜
SMTP: 메일을 전송하기 위한 프로토콜
SSH: CLI 환경의 원격 컴퓨터에 접속하기 위한 프로토콜
RDP: 윈도우 계열의 원격 컴퓨터에 접속하기 위한 프로토콜
웹소켓: 실시간 통신, Push 등을 지원하는 프로토콜
전송계층
TCP: HTTP, FTP 통신 등의 근간이 되는 인터넷 프로토콜
UDP: 단방향으로 작동하는 훨씬 더 단순하고 빠르지만, 신뢰성이 낮은 인터넷 프로토콜
3. API의 개념
Application Programming Interface
서버는 클라이언트에게 리소스를 잘 활용할 수 있도록 인터페이스를 제공해줘야함(API)
사전적 의미: 의사소통이 가능하도록 만들어진 접점
GET: 정보조회
POST: 정보 추가
PUT, PATCH: 수정
DELETE: 삭제
Siwoo Pak
'하루를 참고 인내하면 열흘을 벌 수 있고 사흘을 참고 견디면 30일을, 30일을 견디면 3년을 벌 수 있다.'
팔로우
다음 포스트
브라우저 작동원리
0개의 댓글
댓글 작성