서버 & 클라이언트(역할)!
클라이언트 : 어떤 것이든 요청하는 주체
서버 : 클라이언트가 요청하는 것을 제공하는 대상
즉, 컴퓨터들간의 통신이다. 단지 요청하는 쪽이 클라이언트가 되는 것이고 요청을 받아서 보내는(응답) 쪽이 서버가 되는 것이다.
컴퓨터간의 통신을 하기 위해서는 하드웨어 뿐만 아니라 서버/클라이언트 각각 필요한 프로그램들이 있어야 한다.
예) 클라이언트 - 브라우저(크롬,사파리,파이어폭스 등등)
서버 - 아파치,톰캣 등등(+DB)
사용자가 Web브라우저를 통해 웹서버의 요청을 하게되면 웹서버의 저장되어있는 데이터를 사용자의 web브라우저의 전송하게 되는 것이다.
--> 웹을 통해 각각의 컴퓨터가 통신한다.
--> 서버와 클라이언트의 통신규약(공통된 약속)이 바로 HTTP인것이다.
좀더 자세한 도식으로 표현하면 아래와 같다.
표면적인 고찰 :
웹이라는 단어보다는 인터넷이라는 단어가 익숙했던 내가 웹의 기본구조를 공부하다 보니 웹의 구조가 아이러니하게 단순하면서도 복잡한규칙들이 있다는 것을 알았다.
심층적인 고찰 :
"애초에 윈도우에서 인터넷을 제공해주어서 크롬을 사용할 수 있는거 아닌가?"라는 나의 지식이 얼마나 터무니없고 허무맹랑한 소설인지를 아.....
크게 알게 되었다.
웹의 기본구조와 통신 방식을 공부하면서 좀더 궁금한 점이있어서 OS와 웹브라우저, 서버프로그램을 공부하다보니 내가 얼마나 웹의 기본지식이 없었는지 또 한번 알게 되었다.
위에서 언급했다 싶이 윈도우는 운영체제이고 이밖에 유닉스 우분투등등 여러가지 운영체제가 있고 또한 인터넷은 여러가지 전세계에 연결되어있는 통신선이라는 것을 알게 되었고 또한 크롬은 웹브라우저가 요청한 데이터를 서버가 응답해줄때 해석해주는 프로그램이라는 알게되었다.
서버와 클라이언트간의 방식이 전세계적으로 HTTP통신방식을 공유하는데 공통된 규약을 통해 전세계의 모든 컴퓨터가 어떤 웹브라우저를 사용해도 공통된 규약을 따라 웹통신이 가능하다는 점은 효율적이라고 생각하면서도 놀랍다. 미국에 살고있는 A와 대한민국에 살고있는 B가 서로 언어는 다르지만 이들이 사용하고 있는 컴퓨터는 똑같이 서버/클라이언트 통신방식와 HTTP통신규약을 통해서 서로 데이터를 주고 받고 있는것이 아닌가??
나는 왜 그렇게 생각했는지 몰라도 국가마다 아이피주소가 달라서 다른 통신방식을 사용할거라고 생각했고 도메인이 서로 다른 통신방식을 해결해 준다고 생각했다.(나도 지금은 무슨 말인지 모르겠다. 아무것도 모를때 그냥 메모장에 적어놓은 것을 오늘 공부하면서 본것이다. )