* 본 포스팅은 생활코딩/opentutorials의 web1- HTML&internet 수업을 기본으로 하여
인터넷과 웹서버와 클라이언트에 대해 공부한 내용들을 정리한 내용입니다 *
인터넷과 웹
1960년 인터넷이 탄생. 중앙에 집중되지 않는 형태의 '통신 방법'
1990년 스위스에서 팀 버너스 리에 의해 최초의 웹 www 이 탄생 (최초의 웹주소: http://info.cern.ch/)
서버와 클라이언트
인터넷이 동작하기 위해서는 인터넷에 연결되어있는 두 대의 컴퓨터가 필요. 하나는 웹 브라우저(클라이언트), 하나는 웹 서버.
웹서버를 가진 컴퓨터는 http://info.cern.ch라는 주소와, 하드디스크에 index.html 라는 파일을 가지고 있다.이때 웹브라우저를 가진 컴퓨터가 http://info.cern.ch/index.html 를 검색한다면?→ 웹서버는 index.html 이라는 파일을 찾아 웹브라우저에게 건네주고 웹 브라우저는 해당 파일 안에 있는 코드를 읽어서 보여주게 됨
정보를 주고받는 두 컴퓨터 중 ,
- 웹브라우저를 가진 컴퓨터는 정보를 요청하는 '클라이언트' 컴퓨터
- 웹서버를 가진 컴퓨터는 정보를 제공하는 '서버' 컴퓨터라고 한다.
웹호스팅
- 인터넷에 연결되어 있는 컴퓨터 한 대 한 대를 host 라고 하고,
웹서버를 운영하기 위한 컴퓨터, 즉 host를 빌려주는 업체를 web hosting 업체 (cafe24, gabia, github)라고 한다. - 내 컴퓨터에 있는 index.html을 다른 사람들도 볼 수 있게 하려면 내 컴퓨터에 웹 서버 프로그램이 설치되어 24/7 돌면서, 외부에서 접속이 가능하도록 설정이 되어 있어야 하는데 쉽지 않음 → github 같은 호스팅 업체를 사용하자!
github
- 무료로 웹 서버를 제공하는 기능이 있음
- Repository : 저장소. 코드를 저장할 수 있는 공간.
- 내 컴퓨터에만 존재하던 index.html 파일을 github에 올리고, 이 저장소를 웹서버로도 쓰겠다고 하면 github는 웹브라우저로 방문할 수 있는 주소를 알려줌
📝 to recap,
- 인터넷에 연결되어 있는 컴퓨터 → host
- host를 제공하는 사업 → hosting
- hosting 사업의 목적이 web → web hosting
- html 파일 만을 서비스 한다면 → static web hosting
*free static web hosting : Amazon S3, Google Cloud Storage, Azure Blob, http://neocities.org, bitballoon.com
내 컴퓨터에 웹 서버 직접 설치하기
웹서버 제품 : Apache, IIS, Nginx 등이 있고 이 중 bitnami MAMP stack을 통해 apache를 직접 설치해볼 수 있다.
+2022 update : web server from chrome 이라는 크롬 확장프로그램을 통해서 간단하게 웹 서버를 설치할 수도 있다!
윈도우는 bitnami WAMP를, 맥은 bitnami MAMP를 설치하고, 설치를 마친 후 아래와 같이 웹페이지가 뜨면 설치가 완료되었고 서버가 살아잇다는 의미! (이 웹페이지 html은 Applications>mampstack-8.1.0-0>Apache2/htdocs/index.html 파일)
그림 우측에 보이는 프로그램은 'Management Console' 즉 Apache 웹서버를 관리하는 프로그램. (manager-osx) 해당 프로그램의 Manage Server 탭에서는 서버를 관리할 수 있는데 Apache Webservice를 Stop 시키면 127.0.0.1 에 더 이상 접근이 불가!
웹서버와 웹브라우저의 통신
Mac에 bitnami를 설치한 후 접속되는 웹 페이지의 주소는 127.0.0.1:8080
- 전세계적으로 127.0.0.1 이라는 주소는 '자기 자신'을 의미하기로 약속 → 즉 내 컴퓨터라는 의미
- 포트번호 80은 웹 서버에 사용하기로 약속되어있으나, Mac에는 웹서버가 기본으로 설치되어 있는데 bitnami를 설치함으로써 웹 서버가 2개가 됨 → 80 대신 8080이라는 포트 번호를 가지게 됨 (이 포트 번호가 없으면 원래 존재하던 웹서버에 접속됨)
웹브라우저에서 http://127.0.0.1/index.html 실행했을 때 일어나는 일?
- 웹브라우저는 내 컴퓨터의 웹서버(127.0.0.1)에서 index.html 파일을 찾고 있으므로, 내 컴퓨터의 웹 서버는 해당 경로에서 index.html 파일의 코드를 웹브라우저에게 넘겨주고, 웹 브라우저는 그 코드를 해석해서 웹 페이지에 표시해주게 됨
웹브라우저에서 http:/127.0.0.1/index.html 로 접속하는 방법(위)과, index.html 파일을 브라우저에서 직접 여는 방식의 차이(아래)?
: 위는 웹서버를 통해서 index.html을 받아오고 있고, 아래는 웹서버를 통하지 않고 바로 index.html 파일에 접근 받아오고 있음
✏️ http : Hyper Text Transfer Protocol (웹페이지를 전송하기 위해서 고안된 통신규약)
Linux에서 Apache 설치하기
sudo apt-get update (슈퍼관리자의 권한으로 / apt-get에서 / 최신버전으로 목록을 업데이트)
sudo atp-get install apache2 (슈퍼관리자의 권한으로 / apt-get에서 /설치한다 / apache2를)
댓글