🎄오늘 한 일
✔️ 1. Client-Server 아키텍쳐, HTTP 개념 학습
- 클라이언트와 서버와의 관계를 생각하며, 클라이언트가 서버와 어떻게 통신을 주고받고 있는가에 대하여 학습하였다.
웹이라는 공간에서 데이터가 어떻게, 어떤형태로 전달되는지에 대한 메커니즘을 배우고, 서버,클라이언트, HTTP, API, Ajax 등 웹개발의 기본이 되는 키워드들을 학습하였다.- 뭔가 다~ 한 번씩은 들어본 개념이었는데, 머릿속에 스쳐지나가듯이 흔적만 있는 개념들을 명확하게 기억할 수 있어 좋았다.
✔️ 2. fetch API 를 통한 chatterbox 구현
- 구현되어 있는 서버에 fetch API를 통하여 메세지를 요청(GET)하고, 메세지를 보내(POST)는 것을 구현해보았다.
- 개념을 아는 것과 코드를 쓰는 것은 정말 다르다는 일이란 걸 깨닫는다.
항상 slow starter같은 느낌으로 개념을 코드로 적용하는 데 조금 시간이 걸리는 것 같아 아쉬웠다.
그래도 머리가 몇바퀴 돌고 나니, 고개는 끄덕이고, 손가락은 움직였다. 다행이다.
🎄기억할 것
✔️1. Client Server Architecture
정의
: 리소스가 존재하는 곳과, 리소스를 사용하는 앱을 분리시킨 것
: 2티어 아케텍쳐라고도 함 : 서버(리소스가 존재하는 곳), 클라이언트(리소스를 사용하는 앱)클라이언트와 서버의 관계
: 클라이언트와 서버는 서로 요청과 응답을 주고 받는 관계이다.
: 클라이언트는 필요한 부분을 요청하고, 서버는 리소스에 담아 응답한다.3티어 아키텍쳐
: 서버는 리소스를 전달해주는 역할을 하고, 실제로 리소스를 저장하는 공간은 **'데이터베이스'**이다.
: 2티어 아키텍처에 데이터베이스가 추가된 형태를 3티어 아키텍처라고 부른다.✔️ 2. 클라이언트-서버통신과 HTTP API
- 클라이언트와 서버의 종류
클라이언트
: 클라이언트는 보통 플랫폼에 따라 구분된다. : 웹플랫폼에서의 클라이언트는 웹사이트/웹 앱이라고 불림 : 스마트폰/태블릿 플랫폼에서의 클라이언트는 앱 : 데스크탑 플랫폼에서의 앱도 존재
서버
:서버는 무엇을 하는가에 따라 구분된다. : 파일을 제공하는 파일 서버 : 웹사이트에서 필요한 정보를 모두 제공하는 웹서버(주로 사용) : 메일을 주고 받도록 도와주는 메일서버 : 데이터제공을 위한 데이터베이스 서버
프로토콜의 정의
: 프로토콜은 통신 규약, : 서버와 클라이언트가 서로 통신을 하기 위한 정해진 약속이다. : 다양한 프로토콜이 존재 (커피 주문을 위해서, 1)카운터주문, 2)모바일주문 3)키오스크 주문 가능)
주요 프로토콜 ( OSI 7 Layers 중 )
- HTTP (웹에서의 HTML,JSON 정보통신)
- HTTPS (HTTP에서 보안이 강화)
- FTP (파일전송 프로토콜)
- SMTP (메일전송 프로토콜)
- SSH ( CLI 환경의 원격 컴퓨터 접속 프로토콜)
- RDP (window 원격 접속 프로토콜)
- WebSocket ( 실시간 통신, Push 지원 프로토콜)
API
: 클라이언트는 서버에서 사용가능한 자원과 이용방법에 대한 정보가 없다.
따라서 서버는 클라이언트에게 리소스를 활용할 수 있도록 사용방법을 담아 놓은 인터페이스를 제공해주어야한다.
: 제공하는 인터페이스를 API (Application Programming Interface)라고 한다.
: API 문서는 메뉴판과 같다. (가능한 자원을 적절하게 주문할 수 있도록 도움)HTTP API 디자인 (CRUD)
: HTTP요청에는 다양한 메소드들이 존재하여, 이를 url과 함께 요청하여 필요한 데이터를 생성,조회,수정,삭제 (CRUD) 할 수 있다. : HTTP의 메소드 ( Get, Post, Put, DELETE)
🎄더 공부할 것
✔️1. HTTP의 여러 요청메소드 (GET, POST, PUT, DELETE)
✔️2. HTTP 메세지
✔️3. HTTP 상태코드 ( 200, 404, ... )
마무리 Think: 시간이 뚝딱뚝딱, 실력은 쑤욱쑤욱 : )
'TIL ( Today I Learned )' 카테고리의 다른 글
210210_TIL (0) | 2021.02.11 |
---|---|
210204_TIL (0) | 2021.02.05 |
210202_TIL (0) | 2021.02.03 |
210201_TIL (0) | 2021.02.02 |
210127_TIL (0) | 2021.01.28 |
댓글