백엔드/네트워크

[HTTP]네트워크 기초

삼삼고 2022. 10. 6. 00:45

출처 : CLIPSOFT

클라이언트

  • 애플리케이션 아키텍처
    •  애플리케이션을 설계하고 구축하는 데 사용하는 패턴과 기술을 설명합니다.

 

서버 아키텍처

기존의 웹에서는  데이터를 업데이트하면 앱 자체를 전부 업데이트해야 했다.

이 문제를 해결하기 위해서 데이터를 주는 곳을 따로 만들어 데이터 고쳐주는 식의 의견이 고안되어.

다음과 같은 구조로 웹을 만들게 되었다.(2 티어 아키텍처)

리소스가 존재하는 곳과 리소스를 사용하는 앱을 분리시킨 것을 서버 아키텍처라고 한다. 리소스를 제공하는 것을 서버라고 하고 사용하는 앱(제공받는 곳)을 클라이언트라고 부른다.

서버는 리소스를 전달해 주는 역할만을 담당하여 저장하는 공간이 따로 필요한데, 데이터를 별도로 저장하는 공간인 데이터베이스가 존재하는 데이터베이스, 서버, 웹 구조로 만들어지게 되었다.(3 티어 아키텍처)

 

서버 통신과 API

Application Programming Interface의 약자 의사소통이 가능하도록 만들어진 접점이라는 의미

클라이언트와 서버 간은 요청과 응답으로 구성(요청이 있어야 응답이 옴)

클라이언트에서 자원을 확인하기 위해서는 리소스를 잘  활용할 수 있는 API를 제공하여야 한다.

! 즉 어떻게 사용하는지에 관한 매뉴얼이(인터페이스) 있어야 한다는 겁니다.

이 매뉴얼들 중에서 실제로 쓰일 법한 API를 사용자 관리 API를 통해 다음과 같은 메서드로 정리한다.

요청 URL디자인 사용하는 메소드
조회(Read) /users GET
갱신(Update) /users POST
추가(Create) /users PUT or PATCH
삭제(Delete) /users DELETE

 문법 예시

//회원정보를 가져오는 URI

GET /members/1

 

프로토콜

통신 규약, 즉 약속입니다.
통신하기 위한 방법의 규약을 정해서 통신이 가능하게 해주는 것입니다.

프로트콜의 요소

  • 구문(Stntax) : 데이터의 형식이나 신호로, 부호화 방법 등을 정의합니다.
  • 의미(Semantics) :  오류제어, 동기 제어, 흐름 제어 같은 각종 제어 절차에 관한 제어정보를 정의합니다.
  • 순서(Timing) : 송/수신자 간 혹은 양단의 통신 시스템과 망 사이의 통신 속도나 순서들을 정의합니다.

즉 프로토콜은 통신 방법입니다. 통신을 하다 보면 같은 동작이라도 방법(프로토콜)이 다양하게 존재하게 됩니다.

웹 애플리케이션 아키텍처의 경우 클라이언트와 서버가 서로 HTTP라는 프로토콜을 이용해서 서로 대화를 나눕니다.

프로토콜의 종류

출처 : codestates

 

 

728x90
반응형