호랑사과
[생활코딩] 웹어플리케이션 만들기 13일차 본문
이 글은 오픈튜토리얼스의 생활코딩의 '웹어플리케이션 만들기'를 듣고 개인적으로 정리한 내용입니다.
굵은 글씨로 된 제목을 누르시면 해당 강좌로 이동할 수 있습니다.
IP 주소는 각각의 플레이어들이 준수해야하는 규칙이 있는데 이것을 Internet Protocol 이라 한다. 서로 정보를 받기위해서는 정보를 주는 쪽과 받는 쪽의 주소도 필요하다. 그래서 IP Address라 한다.
윈도우에서 cmd 창을 열어 'ping 사이트 주소' 를 적어 넣으면 해당 사이트의 IP 주소를 알 수 있다. 자신의 IP를 알고 싶다면 구글에 My IP라고 치면 알 수 있다.
사실 컴퓨터는 도메인을 통해서 서버에 접속하는 것이 아닌 IP주소를 통해 접속하는 것이다. IP이름이라 할 수 있는 도메인 이름으로 동작할 수 있는 체계인 DNS (Domain Name System)이 있기 때문에 가능하다.
위 그림을 보면 클라이언트가 opentutorials.org 주소를 입력하면 Name Server에 요청을 하여 그 사이트에 대한 IP주소를 받게 된다. 이 IP주소로 opentutorials에 접속하게 된다.
도메인은 돈 주고 구매해야 사용할 수 있다.
공인 IP가 회사 대표번호이고 사설 IP가 회사 내선번호라고 비유할 수 있다. 만약 사설 IP에 해당하는 웹서버가 있다면 공인 IP에 해당하는 공유기를 거쳐서 접속을 해야 한다. 이를 위해서는 포트포워딩이라는 개념이 필요한데 우선 포트에 대해 알아보자.
위 그림의 222.109.62.43:80의 주소 마지막 부분인 80이 포트이다. 222.109.62.43이 아파트 동 수라고 생각하면 80 아파트 호 수라고 생각하면 된다. 위 그림에 따르면 80 포트 번호에 웹서버를 설치되어 있는 상태이다.
공유기에 포트포워딩 설정을 하면 공유기에 접속만 하면 접속하려는 포트 주소로 포워딩을 해줄 수 있다.
나의 위치와 무관하게 위치를 가리킬 때 절대경로를 사용하고 나의 위치에 따라 바뀌는 위치를 가리킬 때 상대경로를 사용한다.
예를 들면 "http://localhost/php/index.php" 가 절대경로이고 "/php/index.php"가 상대경로이다. 상대경로는 최상위 디렉토리에서 접속한다는 가정하에 접속하기 때문에 이후 경로만 적어도 접속이 가능하다. 상대경로로 사용하게 되면 IP주소로 접속하더라도 "222.109.62.43/php/write.php"처럼 IP 주소를 유지하면서 접속할 수 있으나 절대경로는 도로 "http://localhost/php/write.php"로 바뀌어 접속하게 된다.
대부분 사용하는 IP는 유동IP로 IP가 계속 변한다. 이는 IP주소의 고갈의 해결책으로 사용하고 있기 때문에 유동IP 상태에서 웹서버를 서비스하기에는 부적합하다. 그러기 위해서는 고정IP를 사용해야 하는데 통신사에 추가적인 비용을 내야한다. 다른 방법은 DDNS (Dynamic Domain Name System)을 사용하는 방법인데 실제 컴퓨터(웹서버)의 IP가 변하더라도 도메인 네임을 관리하는 네임 서버에 도메인과 호스트의 IP를 동기화를 하여 일치시키는 것이 DDNS 이다. 어차피 홈페이지에 접속하는 사람은 도메인 네임을 이용해서 접속하기 때문에 도메인 네임과 IP주소만 일치시켜도 접속하는 데는 지장이 없기 때문이다.
freedns.afraid.org를 이용하면 구매한 도메인을 이용해서 DDNS를 사용할 수 있다.
컴퓨터 하나하나를 호스트라고 한다. 보통 정보를 제공하는 사업자, 즉 서버 쪽에서 사용하는 컴퓨터 또는 소프트웨어를 제공하는 사업자들을 호스팅이라 한다. 이 사업자들은 IDC(Interenet Data Center)라는 크고 많은 컴퓨터들이 모여 있는 건물을 소유한 상태로 사업한다. 이 데이터 센터가 갖춰야할 경쟁력은 보안과 네트워크이다. 이를 기반으로 서버 운영을 대행을 한다. 웹호스팅은 웹 애플리케이션을 운영하기 위한 서버를 제공하는 것이다. 장점은 자신이 만든 애플리케이션을 업로드하면 되지만 웹 애플리케이션을 위한 용도로만 사용한다는 점이 단점이다. 서버호스팅은 쉽게 말해 컴퓨터를 제공한다는 것이다. 일단 서버 컴퓨터는 제공하지만 웹서버, 미들웨어, 데이터베이스 등의 소프트웨어나 장비가 설치 되어있지 않기 때문에 직접 운영 해야한다는 것이 단점이나 모든 것을 다 할 수 있다는 것이 장점이다.
가상머신은 자기가 갖고있는 컴퓨터의 운영체제 위에 소프트웨어로 물리적인 컴퓨터처럼 작동되는 것을 말한다. 대표적으로 VMWare, VirtualBox, Parallels가 있다.
이러한 가상화와 가상화 종량제가 합쳐진 서비스를 클라우드 컴퓨팅이라고 할 수 있는데 호스팅 관점에서는 트래픽 양을 감당할 수 있는 컴퓨터 양을 유동적으로 조절할 수 있기 때문에 비용을 절약할 수 있다는 점이 장점이다. 또한 어디서나 구할 수 없는 강력한 컴퓨터를 접속한 시간만큼 돈을 내고 빌려서 사용할 수가 있다.
위와 같이 클라우드 컴퓨팅의 옵션에 따라 사업자가 제공하는 범위가 달라진다.
'작업실 > 웹프로그래밍' 카테고리의 다른 글
[생활코딩] 웹어플리케이션 만들기 12일차 (0) | 2017.07.23 |
---|---|
[생활코딩] 웹어플리케이션 만들기 11일차 (0) | 2017.07.23 |
[생활코딩] 웹어플리케이션 만들기 10일차 (0) | 2017.07.23 |
[생활코딩] 웹어플리케이션 만들기 9일차 (0) | 2017.07.23 |
[생활코딩] 웹어플리케이션 만들기 8일차 (0) | 2017.07.08 |