4월 19일) 스파르타 내일배움캠프 5일차
1. 팀 & 자기소개 웹 프로젝트 발표 ✔
2. 사전학습 SQL 완강 ✔
3. 19시 웹 특강 시청(웹 서비스의 개념) ✔
4. Git-Hub에 1주차 웹 프로젝트 올리기 ✔
# 오늘 꼭 기억 해야 할 것!
1. 웹에서 서버와 클라이언트의 개념
# 오늘의 회고
오늘은 프로젝트 발표날이라 다양한 조들의 다양한 웹 사이트와 기능들을 보게 되었고 덕분에 한층 더 시야가
넓어진 것 같아 좋았다. 19시에 한 웹 특강을 통해 웹서비스의 개념을 한층 더 알았고 서버와 클라이언트 그리고
프로토콜의 개념을 알 수 있었다.
# 내일의 목표
1. 사전 강의 CS편 듣기
2. Git-Hub & Git 복습하기 테스트해보기
3. 자바 강의 들어보기
오늘 배운 수업내용 정리 ✔
# 1. 웹 서비스
1. 웹 이라는 공간에서 제공되는 서비스
2. 그 서비스를 설계 / 제작/ 관리하는 것이 웹 서비스 개발자(웹 개발자)
3. 웹 서비스를 이용하는 컴퓨터를 클라이언트라 칭함.
4. 웹 서비스를 제공해주는 컴퓨터를 서버라 칭함.
# 1. 서버 & 클라이언트
1. 클라이언트 ( 서비스 이용자 )
클라이언트는 서버에게 요청을 보내고 응답을 받는 역할을 한다. ( 서비스의 이용자라고 생각하면 된다. )
2. 서버 ( 서비스 제공자 )
클라이언트에게 요청을 받아 웹 서비스를 제공(응답)해주는 역할을 한다.
3. HTTP 프로토콜
클라이언트와 서버는 HTTP프로토콜 즉, HTTP 통신규약을 따르고 있다. 쉽게 말하면 클라이언트와 서버간의
통신을 규약해 놓은 것이다. 즉, 어떠한 방식으로 요청을 받을 것인지 , 어떠한 방식으로 응답을 할 것인지, 등등
이러한 방법을 규약해 놓은 것이다.
# 여기서 설명하는 요청과 응답에 대한 간단한 예시를 들어보자.
( 브라우저를 이용해 네이버의 "웹 주소"를 입력을 하고 엔터를 누르면 네이버의 웹 사이트에 들어가지면서
여러가지 화면이 보여지게 된다. 뉴스, 검색창, 광고 등등 여러가지가 나타나게 된다.
이렇게 웹 주소를 통해 주소에 맞는 특정 서버인 네이버 서버에 네이버 페이지를 보여달라고 요청을 보내게 된다.
그러면 네이버는 기다리고 있다가 요청이 오면 요청에 맞는 응답 즉, 웹 페이지를 전달 해주게 되는 과정이다. )
서버와 클라이언트는 상대적인 개념을 가지고 있다.
이것이 무엇을 뜻하냐 하면 클라이언트가 서버가 될 수도 있고 서버가 클라이언트가 될 수도 있다는 의미이다.
쉽게 말하면 서버가 서버에 요청을 보내게 될 경우도 생긴다. 그러면 요청을 보내게 되는 서버는 클라이언트가 되는
것이다. 즉, 요청을 보내는건 클라이언트 / 요청을 받고 처리하고 응답을 주는 건 서버가 된다.
# 2. 웹 서버
클라이언트가 서비스를 요청을 해서 전달을 해주는 곳이 서버이며, 이것을 웹에서도 같은 방식으로 클라이언트가
웹에서 브라우저를 통해 요청을 보내면 응답을 해주는 즉, 서비스를 제공 해주는 곳을 웹 서버라고 칭한다.
(즉, 클라이언트가 브라우저라는 매개를 이용해 웹으로 요청을 하는 곳을 웹 서버라고 한다. # 서버는 컴퓨터 이다. )
# 3. 클라이언트
1. 클라이언트는 요청을 하는 주체 이다.
2. 모두가 클라이언트가 될 수 있으며 당장 내가 검색을 하는 행위도 클라이언트적인 행위이다.
3. 클라이언트는 브라우저라는 매개(도구)를 활용하여 웹서버에 필요한 정보 및 서비스 요청을 한다.
4. 요청을 받은 서버는 요청을 했던 정보나 서비스를 응답으로 제공으로 해준다. (브라우저의 화면이 바뀜)
# 4. 웹 서비스를 통해 웹 서버의 자원 대여 ( 클라우딩 컴퓨터 시스템 )
아마존 웹 서비스와 같이 서버의 자원을 대여 해주는 서비스를 제공해주는 기업이 많다.
서버라는 건 컴퓨터이며 우리는 그 서버에 요청을 보내며 응답을 받는데 서버에 요청이 들어오면 서버의 자원을 사용 하게 되며 사람들의 요청이 많아지면 그만큼의 요청을 수행 할 공간이 필요하다. 이러한 공간은 서버 컴퓨터의 증설로 연결이 된다. 서버 컴퓨터의 가격은 만만치 않으며 물리적인 서버 컴퓨터를 사서 이용하기엔 트래픽 즉, 요청의 횟수가 들쑥날쑥하기에 서버 컴퓨터를 함부로 증설하지 못하게 된다. 이럴때 이용할 수 있는게 웹 클라우딩 시스템 이다.
자신의 개인서버를 집에 물리적으로 만들지말고 이미 서버컴퓨터를 여러개 보유중인 회사의 서버를 돈을 주고 빌리는 방식이다. 이러한 방식은 내가 직접 서버를 관리 할 필요도 없을 뿐더러 많은 트래픽이 발생해도 서버의 증설이 손 쉬운 장점이 있고 증설을 하는데 있어 걸리는 시간이 물리적으로 증설시키는 시간보다 매우 짧다.
'내일배움캠프 Spring 5기' 카테고리의 다른 글
내일배움캠프 7일차 TIL - 배열(Array) (0) | 2024.04.23 |
---|---|
내일배움캠프 6일차 TIL - 변수(Variable) (0) | 2024.04.22 |
내일배움캠프 4일차 TIL( SQL ) (0) | 2024.04.18 |
내일배움캠프 3일차 TIL( Git - Branch/reset/revert/merge/rebase ) (0) | 2024.04.17 |
내일배움캠프 2일차 TIL( SQL ) (0) | 2024.04.16 |