웹서버 소개
---
이번 시간에는
내 컴퓨터에 웹서버를 설치해서
다른 컴퓨터에서 웹페이지를
볼 수 있도록 해 보겠습니다.
이 과정은
꽤 많은 지식이 필요하므로
좀 어렵습니다.
대신 인터넷이 동작하는 원리를
알 수 있다는 것은 큰 장점입니다.
그리고 한 가지 당부드리고 싶은 것은
실습이 잘 작동하지 않을 가능성이 매우 높아요.
인터넷은 실제로는 매우 복잡한 시스템이거든요.
제대로 작동하는 이유는 한 가지입니다만,
작동하지 않는 이유는 수십 가지가 넘기 때문입니다.
혹 작동하지 않는다고 걱정할 필요는 없습니다.
실제로는 웹호스팅을 많이 사용하거든요.
그냥 제대로 동작하고 있다고 치면 됩니다.
우리에게는 상상력이 있잖아요.
물론,
문제를 해결하기 위해서 노력하는 것은
언제나 좋은 자세입니다.
대신,
이것만 기억해 주세요.
우리가 하나의 문제를 해결하는데
며칠이 걸릴 수도 있습니다.
하지만
그 과정에서 수많은 지식과 경험을 얻게 됩니다.
하나의 문제를 해결했을 뿐이지만,
더 많은 문제를 해결할 수 있는 능력을 갖추게 된 것입니다.
우선 우리가 해야 할 일은
자신의 컴퓨터에
웹서버라는 프로그램을
설치해야 합니다.
웹브라우저는
제품명이 아니라
제품군이죠?
웹서버도 마찬가지입니다.
웹서버라는 제품군에는
여러 제품이 있습니다.
Apache
IIS
Nginx
이 중에서
우리가 사용할 소프트웨어는
Live server입니다.
이 도구는 아주 작지만, 실용적인 웹서버입니다.
visual studio code의 확장 기능으로서 실행되는 프로그램입니다.
Visual studio code에 대한 사용법을 모르신다면
아래 토픽을 먼저 봐주세요. (소요시간 5분)
HTML 코딩 실습 준비
Visual studio code의 확장기능에서
Live server를 검색하고
설치합니다.
오른쪽 아래에 Go Live 버튼이 생깁니다.
이 버튼을 클릭하면 Port : 5500이 표시됩니다.
성공적으로 웹서버가 실행되었습니다!
동시에
http://127.0.0.1:5500/ 주소로
웹페이지가 실행됩니다.
직접 구축한 웹서버를 통해서
웹사이트를 서비스할 수 있게 되었습니다.
축하합니다!
참고로,
Live Server는
클라이언트의 요청이 들어왔을 때
Visual Studio Code의 프로젝트 폴더에서 파일을 찾습니다.
경로에 파일명이 없으면 index.html 파일을 응답해줍니다.
예를들면 아래와 같습니다.
http://127.0.0.1:5500/1.html => 1.html 응답
http://127.0.0.1:5500/ => index.html 응답
Live server의 또 다른 기능은
실시간 편집 기능입니다.
코드를 수정하면
웹페이지를 새로고침 하지 않았음에도
내용이 실시간으로 변경됩니다.
대박이죠!
웹서버의 존재감을 확인해보기 위해서
웹서버를 꺼보세요.
웹사이트가 열리지 않습니다.
다시 켜고 접속해보면 정상적으로 웹페이지가 열립니다.
웹서버를 통해서 웹페이지를 여는 것과
파일 찾기를 통해서 웹페이지를 여는 것은 구체적으로 어떤 차이가 있을까요?
주소를 비교해보겠습니다.
파일 찾기로 열었을 때 : file///Desktop/web/index.html
웹서버를 통해서 열었을 때 : http://127.0.0.1:5500/index.html
이것을 그림으로 나타내면 아래와 같습니다.
웹서버로 접속한 주소를 자세히 살펴볼까요?
http는 HyperText Transfer Protocol로서
웹페이지를 주고받기 위한 통신규약이라는 뜻입니다.
127.0.0.1은 Internet Protocol Address로서
인터넷에서 사용하는 주소를 의미합니다.
IP Address는 0.0.0.0부터 255.255.255.255까지의 주소가 존재합니다.
약 43억 개의 주소가 존재합니다.
이렇게 많은 주소 중에서
127.0.0.1은 내 컴퓨터 자신을 가리키는 특별한 주소입니다.
Port는 컴퓨터에 여러 개의 서버가 동작하고 있을 때
서버를 구분하는 정보입니다.
위의 그림에서는 주소의 port 번호가 5500이므로
5500에서 동작하고 있는 Web Server와 통신하게 됩니다.
그런데 같은 컴퓨터에 설치된
웹브라우저와 웹서버가 정보를 주고받는 것은
현실 세계의 웹과는 다르죠?
혼잣말 같은 것입니다.
서로 다른 컴퓨터끼리 정보를 주고받을 수 있어야 합니다.
그런데 컴퓨터가 한 대밖에 없다고요?
아닐걸요? 스마트폰이 있잖아요!
스마트폰은 전화기의 탈의 쓴 컴퓨터입니다.
스마트폰에 설치된 웹브라우저와
실습용 컴퓨터에 설치된 웹서버가
서로 통신할 수 있다면 얼마나 좋을까요?
해봅시다!
그런데 시작하기 전에 강조 드릴 것이 있습니다.
이 작업은 10명 중 1명 정도만 성공할 것입니다.
성공하는 이유는 하나인데 실패하는 이유는 백 가지가 넘거든요.
혹시 실패했다고 해도 성공했다고 간주해주세요.
믿으면 됩니다.
우선 해야 할 일은
스마트폰과 컴퓨터를 같은 네트워크에 연결해야 합니다.
쉽게 말해서 같은 와이파이에 접속해주세요.
예를 들어서 노트북이 ego-5G에 접속되어 있다면
스마트폰도 ego-5G에 접속되어야 합니다.
또 하나 해야 할 것이 있습니다.
웹서버가 설치된 컴퓨터의 IP address를 따내는 것입니다.
Visual studio code의 확장 기능 중 ip address를 설치합니다.
오른쪽 아래에 ip address가 표시 됩니다.
위의 그림을 보면 우리가 사용할 주소는
http://172.30.1.83:5500/ 입니다.
접속해보세요.
축하합니다.
한 대의 컴퓨터를 초월해서
전 세계에 있는 수많은 컴퓨터를
마치 내 컴퓨터인 것처럼 사용할 수 있게 된
웅장한 진보를 목격하신 것입니다!