컴퓨터 동작 원리 그림으로 쉽게 이해하기 (ft. URL)
안녕하세요.
로스윗의 코딩캠프입니다.
오늘은 많은 사람들이 궁금해하시고 또 많이 컴공의 기초가 되는 내용인
컴퓨터 동작 원리 그림으로 쉽게 이해하기 (ft. URL)에 대해서 자세하게 알아보겠습니다.
코딩을 한다면 반드시 알아야하는 기초적인 내용인 만큼 깊이 있게 다룰 예정입니다.
그러면 거두절미하고 바로 시작하겠습니다.
- URL이란?
먼저 URL에대해서 간단하게 알아보겠습니다.
URL은 Uniform Resource Locateor의 약자입니다. URL의 주소는 구조가 있고 형식이 있습니다. 여러분들이 네이버 기사 URL을 보시면 지금 아래 그림에 보시는 것과 같은 이런 URL을 아마 많이 보셨을 것입니다.
아마 좀 길어서 관심있게 보지는 않았을거라고 생각합니다. 그런데 이 URL이 또 클라이언트 서버 구조를 이해하는데 굉장히 중요합니다. 이 URL을 다시 하나하나 파헤쳐보겠습니다.
- URL 프로토콜
먼저 맨 앞에 있는 Http://, Https://는 프로토콜 입니다.
프로토콜이란 뭐냐면 쉽게 얘기해서 여러분들과 제가 지금 한국어로 대화를 하고 있잖아요. 이 한국어가 프로토콜 입니다. 영어라는게 프로토콜입니다. 그러면 클라이언트하고 서버는 데이터를 주고 받을 때 규칙이 있어야 되요. 예를들어 0001이 a라고 하는지, 또는 0010이 a라고 하는지 등의 규칙이 있어야 합니다. 그러한 규칙을 프로토콜이라고 합니다.
- URL 도메인(Domain)
다음으로 news와 naver.com을 도메인이라고 합니다.
정확하게는 naver.com이 도메인, news는 서브 도메인입니다. 이 도메인은 IP주소로 바꿀 수가 있어요. IP주소는 여러분 아시듯 13.124.47.15 이런식의 주소입니다.
- URL 포트(port)
그 다음으로는 포트(port)가 있습니다.
port로는 뭐 80 port 3306 port 443port 이런 port가 있는데, 아마 port는 많이 보시지 못했을 거에요. 왜그러냐면 port는 브라우저에서 생략을 합니다. 그래서 예를 들면 브라우저에서 naver.com을 치면 네이버 화면이 뜨죠.
그런데 naver.com:443을 쳐도 네이버에 들어가집니다. 들어가지는데 443이라는 포트는 또 안보이죠? 이렇게 포트는 브라우저에서 주로 생략이 되는 경우가 많습니다.
- URL의 메인(main)
그 다음에 main이 있습니다.
main은 path입니다. 서버 컴퓨터도 PC라고 했죠. 컴퓨터에 보면 디렉토리와 폴더들이 있죠. path는 이런 디렉토리와 폴더들의 경로입니다.
- URL의 페이지(page)
page는 파일이라고 보시면 됩니다.
만약 엑셀 파일에 들어가고 싶다 하면 데이터 디렉토리 안에 엑셀 파일이있죠? 그런 것처럼 main이라고 하는 디렉토리 안에 read.nhn이라는 파일이 있는겁니다.
- URL의 쿼리(Query)
그리고 맨 마지막 복잡하고 긴 녀석을 Query라고 합니다.
이 쿼리는 어떤 기사를 나한테 보여줘라 라고 요청을 하는겁니다. 그래서 브라우저에서 web application으로 데이터를 보낼때 이 쿼리(query)를 이용해서 데이터를 보냅니다.
여기까지가 URL의 기본적인 내용입니다. (기본)
이제 이 URL의 각 부분이 컴퓨터를 어떻게 동작시키는지 알아보도록 하겠습니다.(심화)
자 그러면 다시 아래 그림을 보겠습니다.
- 컴퓨터 동작 원리
먼저 우리 컴퓨터(PC)에서 브라우저(보통은 크롬을 많이 씁니다)라는 프로그램을 실행합니다. 그리고 URL 입력창에 naver.com이라고 입력하고 엔터를 칩니다.
그러면 네이버 화면이 뜨기까지 내부에선 어떤 과정을 거치게 될까요?
먼저 인터넷 망에서 브라우저를 통해 네이버에 해당하는 IP주소를 가져옵니다. 그리고 그 도메인을 가지고 네이버 서버를 찾아 들어갑니다. 그 다음에 URL에서 port가 있죠. 여기서부터 조금 어려우실 수 있는데, 아래 그림을 다시 보시면서 천천히 잘 읽어보시면서 꼭 이해하셨으면 좋겠습니다.
- URL port의 역할
서버는 web application도 실행하고 있고 Datebase도 실행하고 있습니다.
근데 이 port 번호는 브라우저에서 들어온 요청이 서버까지는 찾아들어가는데 있어서 서버에서 동작되고 있는 프로그램(web application, Database) 중 어떤 프로그램으로 찾아들어가는지를 결정해주는게 port입니다. 그래서 port80번이나 port443번이면 web application으로 요청을 하고, 만약에 3306번이나 다른 port면은 Datebase쪽으로 바로 데이터를 요청합니다. 그래서 port는 서버에서 동작되고 있는 여러개의 프로그램 중에서 어떤 프로그램으로 데이터를 요청할지를 결정하는게 포트입니다.
- URL main의 역할
그 다음에 main.read.nhn이 있습니다.
이거는 서버 컴퓨터에 있는 파일을 web application에서 요청해서 가져오는 역할을 합니다. 이 파일은 우리가 복잡하게 생각할 것 없습니다. HTML들어보셨죠? 아니면 그냥 메모장에 있는 코드 문자열 데이터라고 보시면 됩니다. 코드 문서. 코드 문자열 데이터가 들어있는 문서라고 보시면 됩니다. 그 문서를 web application이 가져옵니다.
- URL 쿼리(query)의 역할
그리고 마지막 쿼리(query)부분있죠.
이 부분에 있는것 중에 aid가 article id입니다. article id 번호를 가지고 그 번호에 해당하는 기사 데이터를 Datebase에서 가져옵니다. 그러면 파일에서 가져온 HTML이라고 하는 문서와 Datebase에서 가져온 기사 데이터를 합쳐서 새로운 HTML문서를 만듭니다. 다시 말해 파일에 있는 내용과 datebase에 있는 내용을 합쳐서 새로운 HTML문서를 만드는 겁니다. 바로 이 HTML문서를 만드는 역할을 하는게 Web application입니다. 그래서 이 HTML문서를 만들어서 이거를 서버를 통해서 다시 인터넷망을 통해 브라우저로 보내주면 브라우저에서 이 HTML문서를 읽고 해석해 최종적으로 여러분 모니터에 기사가 뜨게 되는겁니다.
이렇게 URL의 도메인별로 각각에 다 역할이 있는 것입니다.
-정리 및 요약
마지막으로 정리해드리겠습니다.
- Http://는 규칙,
- domain은 서버까지 찾아들어가는 것,
- port는 서버 안에 있는 어떤 프로그램을 찾아들어갈지를 결정해주는 것,
- main.read.nhn은 파일 경로를 설정해주는 것,
- query는 web application에 전달해주는 데이터
라고 이해하시면 되겠습니다.
그래서 이 서버 클라이언트 구조와 URL의 관계를 이해하고 잘 연결하실 수 있으면 나중에 Date enginner의 역할 중에 데이터를 수집하는 역할도 있는데 그런 데이터를 수집하는 역할을 잘 하실 수 있습니다. 우리는 항상 브라우저 입장에서 url만 입력하면 화면에 기사내용이 떳죠. 눈에 보이는 이것만 알고 있었어요. 내가 url을 입력하면 인터넷 망 뒤에서 무슨 일이 일어나는지 잘 모르고 인터넷을 쓰셨을거에요. 근데 이제는 여러분들이 코딩을 하시려면 기본적으로 이 뒷부분에서 일어나고 있는 이런 내용들을 꼭 알아야 합니다.
그래서 브라우저에서 어떤 URL을 입력하느냐에 따라 서버에서 보내주는 데이터가 달라지는 겁니다. 이url을 따라서 화면이 나올 수도 있고, PDF파일을 다운 받을 수도 있고, MP3파일도 다운받을 수도 있는겁니다. 이 url을 따라서 다운 받아와지는 파일들이 달라진다. 라고 이해하시면 되겠습니다.
오늘은 이렇게 컴퓨터 동작 원리 그림으로 쉽게 이해하기 (ft. URL)에 대해서 알아보았습니다.
다음 포스팅에서 더 깊고 좋은 내용으로 찾아뵙겠습니다.
감사합니다
'컴퓨터 공학' 카테고리의 다른 글
클라우드 개념 한 번에 이해시켜 드리겠습니다 (ft. AWS, AZURE, Google Cloud Platform) (0) | 2022.08.05 |
---|---|
프론트엔드? 백엔드? DBA? IT직군 몽땅 정리해드리겠습니다. (0) | 2022.08.04 |
클라이언트 서버 구조 그림으로 쉽게 이해하기! (0) | 2022.07.29 |
해저케이블 vs 광케이블 vs 스타링크 (ft.인터넷의 미래는!?) (0) | 2022.07.28 |