TIL 17 | 인터넷과 WEB, 클라이언트와 서버의 개념

ElenaPark·2021년 3월 8일
0

WEB

목록 보기
1/2

원시웹

Internet === WEB ? true : false; // false

  • 1960년 : 인터넷 등장

등장배경
시대적 상황으로 핵 등장, 핵에 대한 공포감 높았음
핵 공격을 받을 시 통신쪽에 심각한 약점이 있을 수 있음을 인지,
이에 강인한 통신시스템인 인터넷이 등장

  • 1990년 : WEB 등장
    web 등장 이전까지 인터넷은 거대 기관에서만 사용하던 통신시스템

등장배경, 과정
스위스 유럽 입자 물리연구소(CERN) 에서 팀 버너스 리라는 사람이 웹의 전신이 되는 프로그램을 만들고자 고군분투 중이었음.
1990년 연구소에 인터넷이 들어오자, 프로그램에 인터넷을 합성해서 세계 최초로 웹페이지를 만드는 편집기, 그리고 세계 최초의 웹 브라우저라는 world wide web과 웹서버라는 프로그램을 만듦.
=> 이렇게 소수의 거대기관만이 사용하던 인터넷은 WEB이 출현하면서 대중화가 시작됨.

인터넷의 동작원리 : 서버와 클라이언트

웹 브라우저(WEB BROWSER) -> 자료 요청(REQUEST) -> 웹 서버(WEB SERVER)
웹 서버(WEB SERVER) -> 자료 응답(RESPONSE) -> 웹 브라우저(WEB BROWSER)에서 자료를 해석하여 화면에 표시

즉, 두대의 컴퓨터를 역할에 따라 명칭하게 됨.
Web Client(Web browser) - Web Server

웹 호스팅(WEB HOSTING)

웹 서버를 직접 운영하는 것은 쉽지 않은 일이다.
그 이유는, 우선 서버 컴퓨터가 필요하고 항상 24시간 켜져있어야 하며, 웹 서버 프로그램을 깔아야하고, 외부에서 인터넷을 통해 웹 서버에 연결될 수 있게 여러가지 조치를 취해야 한다.

인터넷이 연결되어있는 컴퓨터 한대 한대를 host라고 하는데, 웹 서버를 운영하기 위한 컴퓨터를 빌려주는 회사를 웹 호스팅 업체라고 한다. 즉, 웹 서버를 대신 제공해준다.

대표적으로 많이 사용되는 무료 서비스는 바로 Github 서비스이다. 이외에도 Github이 제공하는 서비스는 다양하지만, 웹 호스팅 관련하여서는 사용자에게 홈페이지를 운영할 수 있는 웹 서버를 제공한다.

Github Repository(사용자가 작성한 코드를 저장할 수 있는 Github의 저장소)를 생성하고 나면 Github에서 Github pages라는 기능을 통해 웹페이지 주소를 생성해준다. 이 주소를 외부에 공유하면 우리가 직접 웹 서버와 서버 컴퓨터를 운영하지 않고도, 무료로 전세계 어디에서든지 그 주소로 접속하여 내가 만든 웹페이지를 볼 수 있게 만들어주는 기능인 것이다.

현업에서도 실제로 웹 서버를 직접 운영하는 것은 흔하지 않고 전문적인 웹 호스팅 업체에 맡기는 경우가 많다.

웹 서버(WEB SERVER)

웹 서버에는 Apache, IIS, Nginx와 같은 여러가지 서버 제품군이 있다.
그러나 이러한 서버를 직접 설치하는 것은 상당히 까다로운 일이기에 서버를 쉽게 설치하도록 도와주는 프로그램들도 있다. ex) Bitnami WAMP Stack 등등

여기서 127.0.0.1이란?

  • IP 주소: Internet Protocol Address
    => 웹 브라우저가 설치되어있는 컴퓨터를 가리키는 특수한, 약속되어있는 주소
    => 전세계의 모든 컴퓨터가 웹 브라우저에 위 숫자를 치는 것은 웹 브라우저가 설치되어있는 각자의 컴퓨터의 웹 서버를 가리킨다.

Bitnami를 통해 Apache서버를 설치 후 데이터를 받아오는 과정

웹 브라우저가 자신의 컴퓨터에 설치되어있는 웹 서버에 접속해서 index.html이라는 파일을 원한다고 요청한다. 그러면 웹 서버는 htdocs라는 디렉토리에서 해당 파일을 찾도록 설정이 되어있는 상태이다.(설정은 바꿀 수 있다)

그럼 그 웹 서버는 설정되어있는대로 디렉토리에서 index.html이라는 파일을 읽어서 웹 브라우저에 전달(응답)해주면, 웹 브라우저는 해당 파일을 해석해서 화면에 보여준다.

파일 열기를 해서 웹페이지를 여는 것 vs 웹 서버를 이용해서 웹페이지를 여는 것의 차이

보이는 내용에는 차이가 없지만, 두 가지는 질적으로 완전히 다르다.

file:// ~~

이 컴퓨터 안에서 웹 서버는 웹페이지를 여는 과정에 개입하지 않는다
그저 웹 브라우저가 직접 index.html 파일을 읽어서 화면에 표시
=> 파일에 있는 것을 직접 여는 것

http:// ~~

웹 브라우저 -> 웹 서버에 요청, 웹 서버가 -> 웹 브라우저에 응답
=> Http(HyperText Transfer Protocol: 웹페이지 전송규약)를 이용한다는 것은
웹 브라우저와 웹 서버가 서로 통신할 때 이용하는 통신규약인 http를 이용해서 데이터를 가져오는 것을 의미
=> 서로 다른 컴퓨터에 있는 웹브라우저와 웹서버가 통신하기 위해서는 반드시 http를 사용해야한다.

웹 브라우저와 웹 서버의 통신

비유를 하자면 친구에게 전화할 때 친구의 휴대전화 번호가 필요한 것처럼,
웹 브라우저가 웹 서버에 데이터를 요청할 때는 웹 서버의 IP주소가 필요하다.

그럼 웹 브라우저의 주소창에 웹 서버의 IP주소를 적어서 접속함으로써 데이터를 요청할 수 있게 된다. 이 때 필요한 조건은 :

  • 컴퓨터는 2대여야 한다.
  • 데이터를 요청하고자 하는 웹 서버의 IP주소를 알아야 한다.

127.0.0.1 VS 웹서버의 IP주소로 접속하는 것의 차이?

  • 127.0.0.1은 앞에서도 언급했듯이 전세계 모든 컴퓨터가 자기 자신의 컴퓨터를 의미하는 것으로 약속한 주소.
  • 특정 웹서버의 IP주소로 접속한다면 해당 IP주소를 가진 웹 서버에 접속하는 것.

주의. 여기에서는 도메인이나, 전세계의 누구나 나의 웹서버에 접속하게 하는 방법 등은 다루지 않았다.

참고자료

생활코딩 WEB 1 - 16.원시웹 ~ 19.3 웹브라우저와 웹서버의 통신

profile
Front-end 개발자입니다.

0개의 댓글