드림오구

🌊 네트워크 기초

 

웹 어플리케이션 아키텍처

인터넷 연결이 없다면 네이버나 여러 앱은 정상적으로 동작할 수 없다. 

그 이유는 우리가 보고자 하는 정보를 인터넷 어딘가에 존재하는 서버로부터 받아오기 때문이다. 만약 정보를 제공해주는 서버가 없다면 정보가 업데이트 될 때 마다 우리는 어플리케이션 스토어에서 끊임없이 업데이트를 해야할 것이다. 

 

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

리소스가 존재하는 곳과 리소스를 사용하는 앱을 분리시킨 것을 2티어 아키텍처, 또는 클라이언트-서버 아키텍처라고 부른다. 리소스를 사용하는 앱이 바로 '클라이언트', 리소스를 제공하는 곳은 '서버'라 부른다.

 

클라이언트 - 서버 - 데이터베이스 아키텍처

일반적으로 서버는 리소스를 전달해 주는 역할만 담당한다. 리소스를 저장하는 공간을 별도로 마련해 두는데 이 공간을 '데이터베이스'라고 부른다. 데이터베이스는 창고와 같은 역할을 하며, 이처럼 기존 2티어 아키텍처에 데이터베이스가 추가된 형태를 3티어 아키텍처라 부른다. 

 

클라이언트의 종류

보통 플랫폼에 따라 구분된다.

  • 브라우저, 웹 플랫폼(웹 사이트, 웹 앱)
  • IOS나 안드로이드와 같은 스마트폰/태블릿 플랫폼에서 이용하는 앱 
  • 윈도우 등 데스크탑 플랫폼에서 이용하는 앱

 

서버통신과 API

프로토콜

통신 규약, 즉 약속. 웹 어플리케이션 아키텍처에서는 클라이언트와 서버가 서로 HTTP라는 프로토콜을 이용해 서로 대화를 나눈다. HTTP를 이용해 주고 받는 메세지를 'HTTP 메세지'라고 부른다.

 

알아두면 좋을 키워드

  • OSI 7 Layers

API (Application Programming Interface)

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

보통 인터넷에 있는 데이터를 요청할 때에는 HTTP 프로토콜을 사용하며, 주소(URL, URI)를 통해 접근할 수 있다.

 

호스트 http://ogucoffee.com가 제공하는 URL 디자인 예제

요청 URL 디자인 예제
아메리카노 한 잔 주세요 /coffee/americano
복숭아 프라푸치노 한 잔 주세요 /frappuccino/peach
콜드브루 2잔 주세요 /coffee/coldbrew?quantity=2
아메리카노 두 잔 전부 헤이즐럿 시럽 넣어주세요 /coffee/americano?quantity=2?syrup=hazelnet

 

HTTP 5가지 메서드

참고 : https://developer.mozilla.org/ko/docs/Web/HTTP/Messages

요청 적절한 메소드
조회 (Read) GET
추가 (Create) POST
갱신 (Update) PUT 또는 PATCH
삭제 (Delete) DELETE

 

 

'🐣 STUDY > HTTP, WEB' 카테고리의 다른 글

🌱 [Web] Hashing & Token  (0) 2023.05.03
🌱 [Web] cookie & session  (0) 2023.05.02
🌱 [사용자 친화 웹] 웹 표준 & 접근성  (2) 2023.04.26
[기술면접]  (1) 2023.04.10
🌱 [Web Server/Node.js] Express - req.query, req.params  (1) 2023.04.05
profile

드림오구

@드림오구