코딩 공부 이야기/개발일지

[개발일지 #1] 서버와 클라이언트 개념

남보르 2022. 9. 8.

 

 

개발일지 첫 번째 - 서버와 클라이언트의 역할은?

비전공자로서 개발일지에 무엇을 정리할지 조금 고민해보았다.

첫 번째로, 공부한 내용 정리

두 번째로, 향후 검색해서 쓰기 좋도록 코드 정리

 

살짝 줏어들은 이야기로는 코딩의 생명은 기억력이 아니라

구글링 실력에서 좌우한다고 한다. 

 

나중에 내용을 찾더라도 내가 공부했던 내용을 가지고 찾는 것이니

훨씬 쉽게 찾을 것이고, 또 응용하기도 편할 것이라 예상해본다.

 

개발에 관하여 처음부터 깊게 깊게 들어가면 루즈해지고 흥미를 잃기 쉬우므로 이 블로그에서 해오던 대로 최대한 지금의 나와 동급인 사람에게 설명하듯이 내용 정리를 해보려 한다.

 

서버와 클라이언트

컴퓨터를 전공하든 그렇지 않든 서버라는 용어는 굉장히 많이 듣는 용어이고 현대시대를 사는 사람에게는 너무 흔한 용어이다. 그러나 나부터도 그래서 서버가 뭔데? 라고 물어보면 딱히 할 말이 없던 것 같다.

인터넷을 전혀 하지 않는다면 서버와 클라이언트 개념을 몰라도 되겠지만 인터넷에 파묻혀 사는 우리 현대인들은 그래도 이정도는 알아야 하지 않을까 싶다.

(정작 난 30년을 넘게 살아도 궁금하지도 않았다...)

 

서브(Serve),
1. to provide food or drink 
음식 혹은 음료를 제공하려는 것
2. to work for or to do your duty
일하려는 것, 의무를 수행하는 것
3. help achieve something
무엇인가 얻도록 돕는것
*출처 : 캠브릿지 영어 사전

 

 

캠브릿지 영어사전에 보면 서브는 뭔가를 주거나 돕는 그러한 행위임을 알 수 있다.

그러면 서버(Server)란 뭔가를 주거나 도우려는 존재라고 이해하면 될까?

즉, 웹(web) 상에서는 정보를 다루므로 서버란 정보를 제공하려고 항상 대기 타는 녀석이라는 뜻이 된다.

 

그런데 웹을 통해서 정보를 주고받으려면 당연히 사람은 아닐 테니 정보를 제공하려고 정보 자체를 수집하고 가공하고 처리해서 다시 요청한 정보의 형식대로 주려고 하는 컴퓨터를 서버라고 하는 것이다.

(비전공자 주제에 너무 당당히 말한 것 같다. '그런 것 같다'라고 표현하긴 너무 없어 보이니까 일단 그렇다고 해보자)

 

클라이언트(Client),
a customer or someone who receives services 
고객 또는 서비스를 받는 사람:
*출처 : 캠브릿지 영어 사전

 

그렇다. 우리는 무의식적으로 인터넷을 사용하면서 자꾸 정보제공을 요청하는 클라이언트의 입장이 된다.

게임 몇 개와 인터넷만 달랑 연결된 내 컴퓨터가 누군가에게 정보를 전달 할리 만무하니 우리는 항상 클라이언트 입장에서 인터넷을 사용하게 된다.

 

그렇다면 우리가 인터넷을 한다는 의미는 클라이언트인 우리가 서버에 저장되어 있는 정보를 요청하고 그것을 클라이언트들 컴퓨터에 설치되어 있는 크롬, 익스플로러, 사파리, 웨일 같은 브라우저(Browser)에서 보고 입력하는 것을 말한다.

 

서버와 클라이언트

 

뭐 아직까지는 어려울 게 없는 것 같다. 직관적으로 이해되고 깊은 내용까지 가지도 않았으니 말이다.

 

결국 간단하게 정리해보자면

1. 내가 네이버(www.naver.com)를 주소창에 치는 순간 나는 네이버 서버에 정보를 요청하는 클라이언트가 되는 것이다.

2. 네이버 서버는 네이버 메인 창을 내 컴퓨터에 그려줄 수 있도록 API(Application Programming Interface)를 통해 페이지의 뼈대, 색깔, 움직임, 글씨 등을 전달한다.

3. 그 정보들을 크롬, 사파리 등 브라우저가 우리가 볼 수 있도록 시각화하여 제공하는 일련의 과정을
'인터넷을 한다.'라고 표현할 수 있다.

 

그러면 우리 사용자 입장에서는 우리에게 정보를 정리해서 보여주는 과정인 브라우저에서 처리되는 일들 그러니까 프론트엔드(Front-End) 과정이 익숙하며 또 직관적으로 이해할 수 있기 때문에 입문 과정에서는 이 부분부터 공부하는 것이 좋을 것 같다.

 

그래서 다음 시간에는 웹의 뼈대를 그리는 HTML, 인테리어를 담당하는 CSS부터 공부를 시작해보도록 하자.

 

 

빠른 공부를 위하여 스파르탄코딩클럽(https://spartacodingclub.kr/)의 웹 개발 종합반을 수강하여(내돈내산) 진행했다.

월요일에 시작해서 지금 글을 쓰는 건 수요일로 3일 지났지만 벌써 4주 차 강의를 듣고 있을 만큼 매우 재밌게 배우고 있다. 

코딩 분야는 강좌 수강은 처음이지만 다른 분야 강의들과 비교해보아도 시원시원한 강의 실력이 아주 매력 있다.

 

100% 국비지원까지 되니 나처럼 비전공자나 이제 개발에 입문하려는 학생들에게는 너무 좋은 입문 포인트가 아닐까 싶다.

 

https://spartacodingclub.kr/?f_name=%EA%B9%80%EB%82%A8%ED%98%B8&f_uid=6311501c4c8e3450f6ec7845

 

스파르타코딩클럽

5주 완성! 코딩을 전혀 모르는 비개발자 대상의 웹개발 강의

spartacodingclub.kr

위에는 초대 코드가 포함된 링크인데 위 링크로 가입하여 수강하면 무려 5만원의 할인 혜택이 있다.

난 그냥 검색으로 들어가서 이 혜택을 못 받았다...

아무튼 관심이 있다면 꼭! 혜택을 받아보자.

 

댓글

💲 추천 글