🌊 네트워크 기초
웹 어플리케이션 아키텍처
인터넷 연결이 없다면 네이버나 여러 앱은 정상적으로 동작할 수 없다.
그 이유는 우리가 보고자 하는 정보를 인터넷 어딘가에 존재하는 서버로부터 받아오기 때문이다. 만약 정보를 제공해주는 서버가 없다면 정보가 업데이트 될 때 마다 우리는 어플리케이션 스토어에서 끊임없이 업데이트를 해야할 것이다.
클라이언트 - 서버 아키텍처
리소스가 존재하는 곳과 리소스를 사용하는 앱을 분리시킨 것을 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 |