WEB1 - HTML & Internet

인터넷을 여는 열쇠 : 서버와 클라이언트

 

 

---

 

 

 

지금부터
인터넷이 동작하는
기본적인 원리를 알아보겠습니다.

 

질문입니다

 

 

인터넷이 동작하기 위해서는
컴퓨터가 최소 몇 대가 있어야 할까요?

 

 

2대입니다

 

 

1대는 인터넷이 아니고
3대는 본질적이지 않죠.

 

 

2대의 컴퓨터가
서로 정보를 주고 받는 순간
인류는 완전히 새로운 존재가 되었습니다.

팀 버너스리는
인터넷을 이용해서
웹을 만들기로 합니다.

 

 

이를 위해서
인터넷으로 연결된
2대의 컴퓨터를 장만합니다.

그리고 2개의 프로그램을 개발합니다.
각각의 프로그램에
웹브라우저와
웹서버라는
이름을 붙입니다.

 

 

웹서버가 설치된 컴퓨터에는
info.cern.ch라는 주소를 부여합니다.
또 이 컴퓨터의 어떤 디렉토리에
index.html이라는 파일을 저장합니다.

 

 

이번엔
웹브라우저가 설치된 컴퓨터의 주소창에
http://info.cern.ch/index.html이라는 주소를 입력하고
엔터를 땅하고 칩니다.
그럼 어떤 일이 일어나는지를 따져보겠습니다.

 

 

웹브라우저가 설치된 컴퓨터는
인터넷을 통해서
전기적인 신호를
info.cern.ch라는 주소의 컴퓨터에게
찌릿하고 보냅니다.

 

 

그 전기적인 신호 안에는 이런 내용이 적혀 있습니다.
'나는 index.html 이라는 파일의 코드를 원합니다.'

 

 

그럼 info.cern.ch에 설치된 웹서버라는 프로그램이
어떤 디렉토리에서 index.html이라는 파일을 찾습니다.
그리고 그 내용을 읽어서 전기적인 신호를 바꾼 후에
웹브라우저가 설치된 컴퓨터에 신호를 보냅니다.
 

 

그럼 웹브라우저가 설치된 컴퓨터에는
index.html 파일의 내용 즉 코드가 도착합니다.
웹브라우저는 그 코드를 읽어서
웹페이지를 화면에 출력합니다.
 

 

이 관계를 잘 보시면
웹브라우저가 설치된 컴퓨터와
웹서버가 설치된 컴퓨터가
서로 정보를 주고 받습니다.

 

 

이 중에서
웹브라우저가 깔린 컴퓨터는
정보를 요청하나요? 응답하나요?
요청합니다.

 

 


웹서버가 깔린 컴퓨터는
정보를 응답하나요? 요청하나요?
응답합니다.

 

 

인터넷을 만든 사람들은
2대의 컴퓨터가 서로 정보를 주고받을 때
각각의 컴퓨터를 역할에 따라서
어떻게 부를까를 고민했겠죠?
깊은 고민에 빠집니다.

 

 

자본주의 사회에서
가장 중요한 관계가 무엇인가요?

 

 

부모와 자식?
주인과 노예?
아닙니다.

 

 

바로
고객(갑)과 사업자(을)입니다.
고객을 영어로는 클라이언트(client)라고 합니다.
사업자를 영어로는 서버(server)라고 합니다.

 

인터넷을 만든 사람들은
이 비유를 사용하기로 합니다.

 

 

요청하는 컴퓨터를 클라이언트 컴퓨터
응답하는 컴퓨터를 서버 컴퓨터라고 부르기로 합니다.

 

웹브라우저는 어떤 컴퓨터에서 동작하나요?
클라이언트 입니다.
그래서 웹브라우저를 다른 말로는 웹 클라이언트라고 합니다.

 

 

웹서버는 어떤 컴퓨터에서 동작하나요?
서버입니다.
그래서 웹서버라고 하는 것입니다.

 

 

만약 여러분이 게임을 만든다면
사용자의 컴퓨터에 설치된 프로그램을 뭐라고 할까요?
게임 클라이언트라고 합니다.

 

 

반대로
게임회사의 서버 컴퓨터에 설치된 프로그램을
게임 서버라고 하는 것입니다.

그럼
채팅 클라이언트와
채팅 서버는 무엇인지 아시겠죠?

서버와 클라이언트는
인터넷을 이용하는 모든 정보 시스템에 적용되는
문법과도 같습니다.
이것을 이해한다면
경험이 쌓일수록
인터넷에 대한 이해가 높아질 것입니다.

 

 

지금까지 우리 수업은
HTML이라는 컴퓨터 언어의 사용법을 배웠습니다.
다시말해서, 웹브라우저를 제어하는 방법을 배운 것입니다.

 

 

 

이제부터는
웹서버를 배울 것입니다.
웹서버하면 어떤 느낌이 드시나요?
낯설고 무섭죠?

 

 

 

웹브라우저는 어떤가요?
낯설고 무섭나요?
그렇지 않죠?

 

 

그런데 생각해 보면
웹브라우저는 물질인가요?
아닙니다. 논리적인 관념 같은 것입니다.

 


그럼에도 불구하고
매일 웹브라우저를 사용하고
이것에 대해서 생각하다보면
마치 손에 잡히는 물질인 것처럼
구체적으로 느껴지게 됩니다.
익숙해지는 것이죠.

 

 

마찬가지로
웹서버라는 프로그램도
웹브라우저와 마찬가지로
인터넷으로 다운받아서
컴퓨터에 설치한 후에
실행하면 되는 프로그램에 불과합니다.
 

 

필자가 좋아하는 일화가 하나 있습니다.
컴퓨터를 만든 사람 중의 한명인
폰노이만은 수학 천재였습니다.
그에게 수학을 잘 하는 법을 물었습니다.
폰노이만은 이렇게 대답했다고 합니다.

 

 

수학은
이해하는 것이 아니라
익숙해지는 것입니다.

 

 

저는 공부의 목적은
익숙해지는 것이라고 생각합니다.
이해는 익숙해지기 위한 방법 중의 하나일 뿐입니다.

 

 

자꾸 생각하고, 이야기하고, 사용하다 보면
익숙해지게 됩니다.
언젠가는
웹서버도
웹브라우저처럼 익숙해지게 될 것입니다.
 

 

이제 우리의 관심사를
웹서버로 돌려 봅시다.
웹서버에 익숙해지면
내가 만든 컨텐츠를
인터넷을 사용할 수 있는 전 세계의 누구나
사용하도록 있도록 할 수 있습니다.

 

 

2개의 갈림길이 있습니다.

 


하나는 여러분의 컴퓨터에 직접 웹서버를 설치하는 것입니다.
이것은 어렵습니다. 하지만 그 과정에서 많은 것을 알게 됩니다.

 

 

또 하나의 갈림길은 웹서버를 제공해주는 업체를 이용하는 것입니다.
이런 업체들을 웹호스팅 업체라고 합니다.
이것은 쉽습니다. 하지만 많은 것이 감춰져 있습니다.

 

 

필자가 추천하는 방향은
웹호스팅으로 쉽게 목표를 달성한 후에
웹서버를 직접 설치하는 방법을 공부해 보세요.

 

 

만약 웹서버가 어렵거나,
시간이 없다면 웹호스팅만 공부하셔도 됩니다.

댓글

댓글 본문
  1. 장돌
    21.10.09 짜잔
  2. 다스비다냐
    2021.10.06 퇴근후에 틈틈이
  3. 꿈꾸는멋쟁이
    2021.10.5.
  4. 드솔
    2021.10.05
  5. 나무빠따
    감사합니다!
  6. 수수링
    2021. 10. 04 월요일
  7. 개발파인
    21.09.26
  8. 임코딩
    Web Browser(Client) →(request) Web Server(Server)
    ←(response)
  9. 뒤집곰
    2021-09-24
  10. 야옹냐옹
    21.9.23
  11. 외계인
    2021.9.22
  12. 김관호
    2021.09.22.
  13. Carrot
    2021.09.21
  14. 이승민
    2021.09.19
  15. 2021 9 14
  16. 네카라쿠배
    2021.9.11 13:04
  17. 2021.09.07 완료
  18. 세이디
    감사합니다!
  19. 영찬대왕님
    20210826
  20. 이나크로
    20210819
  21. posmile
    감사합니다 좋은 강의 ㅎㅎ
  22. 정구연
    인터넷이 길이면 웹은 인터넷을 이용하는 객체이다.

    인터넷을 통해 클라이언트와 서버가 소통한다.

    클라이언트는 웹브라우저라는 프로그램을 통해, 서버는 웹서버라는 프로그램을 통해 소통한다.

    웹브라우저는 자주 이용하기 때문에 친숙하다.
    하지만 웹서버는 익숙하지 않을 수 있다.
    익숙하지 않다고 모르는 것은 아니다.
    익숙해지기 위해 공부하자

    지금까지 웹을 작동시키는 html 코드를 공부했다.

    이제 그 html을 인터넷에 올리기 위해 웹서버를 공부해야 한다.

    웹서버를 공부하는 방법은 두 가지이다.

    하나는 직접 웹 서버를 설치하는 것이다.
    이건 어렵지만 많은 것을 알게 된다. (내 목표)

    나머지 하나는 웹서버를 제공해주는 업체를 이용하는 것이다.
    이런 업체를 이용하는 것을 웹 호스팅이라고 한다.
    이건 쉽지만 많은 것이 감춰져 있다.

    웹호스팅을 통해 쉽게 서버를 열고 웹서버를 직접 깔아서 깊이 있게 공부하는 걸 추천한다고 하심.
  23. hoon_easy
    21.08.13.(금)

    인터넷과 웹을 이해할 수 있는 키워드는 바로 ‘클라이언트(client)’와 ‘서버(server)’

    클라이언트는 ‘고객’, 서버는 ‘사업자’를 뜻한다.
    -> 지금까지 나는 고객의 입장으로 인터넷을 이용해 웹을 사용했습니다.
    그리고 이제는 사업자의 입장이 되어 웹을 만들어 고객에게 서비스를 제공하는 사람이 되었습니다.

    그렇기 때문에 처음엔 낯설고 어렵게만 느껴집니다.
    그렇지만 ‘어떻게 하면 좋은 웹서비스를 만들까?’ ‘내가 제공하고 싶은 웹서비스는 무엇일까?’ 를 탐구하고 연구해보며 웹을 만들어간다면 성취감을 느끼게 될것 같습니다.

    ‘수학은 이해하는 것이 아니라, 익숙해지는 것이라네.’
    익숙해지기 위해 노력하겠습니다.
  24. 권정현
    .
  25. 월리월리
    완료 감사감사
  26. code_navy
    지금까지 만들어왔던 웹페이지는 local 컴퓨터에 있는 html 파일을 웹에 띄우는 것이었는데, web server에서의 주소가 곧 파일의 저장소(위치) 같은 느낌이고, 인터넷을 통해 '고유 주소/파일명'을 주소창에 입력하면 어디에서든 그 저장소의 html 코드를 시각화된 형태로 볼 수 있게끔 하는 거라고 일단 이해했습니다.
    결국 이해하는 것도 익숙해지기 위한 과정 중 하나인 것이군요. 완료! 20210805
  27. 이마누
    완료
  28. 란찬
    =)
  29. 홀리몽
    기초다치는중 개념다지는중!
  30. Mandeuk Amy Choi
  31. 욜랑욜랑
    .
  32. 호놀룰루
    재미있는 강의 잘 봤습니다
  33. jinseok_bae
    완료
  34. 조유빈
    완료
  35. 완료
  36. 2021.07.16
  37. 너클볼러
    감사합니다. 역시 감동이네요.
  38. 카미유
    20210711
  39. inwhan
    21.07.10
  40. 21.07.05
  41. 박사장
    21.06.25 시청 완료
  42. 윤동욱
    20210628
  43. 산을넘자
    2021.06.27
  44. 2021.6.26
  45. 2021.6.26
  46. 윤동욱
    210625
  47. 황철갑
    21.6.24
  48. 21/06/20 완
  49. 호찬
    2021.06.20.(일) 진행중
  50. B=loom
    21.06.19
버전 관리
egoing
현재 버전
선택 버전
graphittie 자세히 보기