호랑사과

[생활코딩] 웹어플리케이션 만들기 13일차 본문

작업실/웹프로그래밍

[생활코딩] 웹어플리케이션 만들기 13일차

호랑사과 2017. 7. 23. 10:28

이 글은 오픈튜토리얼스의 생활코딩의 '웹어플리케이션 만들기'를 듣고 개인적으로 정리한 내용입니다. 

굵은 글씨로 된 제목을 누르시면 해당 강좌로 이동할 수 있습니다.


IP와 도메인

 

  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와 DDNS


  대부분 사용하는 IP 유동IP IP 계속 변한다. 이는 IP주소의 고갈의 해결책으로 사용하고 있기 때문에 유동IP 상태에서 웹서버를 서비스하기에는 부적합하다. 그러기 위해서는 고정IP 사용해야 하는데 통신사에 추가적인 비용을 내야한다. 다른 방법은 DDNS (Dynamic Domain Name System) 사용하는 방법인데 실제 컴퓨터(웹서버) IP 변하더라도 도메인 네임을 관리하는 네임 서버에 도메인과 호스트의 IP 동기화를 하여 일치시키는 것이 DDNS 이다. 어차피 홈페이지에 접속하는 사람은 도메인 네임을 이용해서 접속하기 때문에  도메인 네임과 IP주소만 일치시켜도 접속하는 데는 지장이 없기 때문이다.

  freedns.afraid.org 이용하면 구매한 도메인을 이용해서 DDNS 사용할 있다.

 


웹호스팅 VS 서버호스팅

 

  컴퓨터 하나하나를 호스트라고 한다. 보통 정보를 제공하는 사업자, 서버 쪽에서 사용하는 컴퓨터 또는 소프트웨어를 제공하는 사업자들을 호스팅이라 한다. 사업자들은 IDC(Interenet Data Center)라는 크고 많은 컴퓨터들이 모여 있는 건물을 소유한 상태로 사업한다. 데이터 센터가 갖춰야할 경쟁력은 보안과 네트워크이다. 이를 기반으로 서버 운영을 대행을 한다. 웹호스팅은 애플리케이션을 운영하기 위한 서버를 제공하는 것이다. 장점은 자신이 만든 애플리케이션을 업로드하면 되지만 애플리케이션을 위한 용도로만 사용한다는 점이 단점이다.  서버호스팅은 쉽게 말해 컴퓨터를 제공한다는 것이다. 일단 서버 컴퓨터는 제공하지만 웹서버, 미들웨어, 데이터베이스 등의 소프트웨어나 장비가 설치 되어있지 않기 때문에 직접 운영 해야한다는 것이 단점이나 모든 것을 있다는 것이 장점이다.

 


클라우드 컴퓨팅


  가상머신은 자기가 갖고있는 컴퓨터의 운영체제 위에 소프트웨어로 물리적인 컴퓨터처럼 작동되는 것을 말한다. 대표적으로 VMWare, VirtualBox, Parallels 있다. 

  이러한 가상화와 가상화 종량제가 합쳐진 서비스를 클라우드 컴퓨팅이라고 있는데 호스팅 관점에서는 트래픽 양을 감당할 있는 컴퓨터 양을 유동적으로 조절할 있기 때문에 비용을 절약할 있다는 점이 장점이다.  또한 어디서나 구할 없는 강력한 컴퓨터를 접속한 시간만큼 돈을 내고 빌려서 사용할 수가 있다.

 

 

  위와 같이 클라우드 컴퓨팅의 옵션에 따라 사업자가 제공하는 범위가 달라진다.