지금 이 순간에도 사용하고 있는 인터넷
어떻게 동작하는걸까?
인터넷의 동작 방법
독립적이었던 컴퓨터들이 인터넷에 의해 연결되었다.
컴퓨터들은 서로 데이터를 요청하고 제공하기도 한다.
우리는 요청하는 컴퓨터를 클라이언트, 제공하는 컴퓨터를 서버라고 한다.
서버-클라이언트, 클라이언트-서버
어느 컴퓨터가 서버인지 클라이언트인지는 상대적인 개념이다.
상황에 따라서 내 컴퓨터가 클라이언트가 될 수도 있고 서버가 될 수도 있다.
일반적으로 웹브라우저가 설치된 컴퓨터와 서버측 컴퓨터가 있다면 웹브라우저가 클라이언트가 된다.
상황을 가정해보자.
클라이언트가 주소창에 http://a.com 을 입력하였다.
a.com 에 여러 가지 서버가 있을 수 있다.
(DB서버 / 채팅서버 / 웹서버 / 게임서버...)
그렇다면 컴퓨터는 어떤 서버 웹 애플리케이션을 연결 시켜줄까
누가 응답할지를 결정하는가 누굴 연결시킬것인가의 문제!
이 때 등장하는 개념이 바로 포트이다.
포트(Port) 란 무엇인가?
0번부터 65535번 까지의 구멍or문이 있는데 이것을 포트라고 한다.
컴퓨터에서 (클라이언트에서) 서버로 통하는 문이 있는데,
이 문들은 각자 자신의 고유한 번호를 갖고 있다.
80번 포트의 문을 열고 들어가면 웹서버가 설치가 되어있다.
포트가 필요한 이유는 무엇인가
각각의 프로그램 중 인터넷의 연결을 필요로하는 프로그램이 있을 수 있기 때문이다.
위에서 말한 각종 서버들.
포트를 굳이 집 주소로 비유하자면 IP 주소는 '아파트 동'까지라면 포트는 '호수'를 의미한다.
그 중 80번 포트에 웹 서버를 연결시켜둔다.
= 웹서버가 80번 포트를 바라보게 한다.
= 80번 포트를 리스닝하게 한다.
모두 같은 뜻이다.
클라이언트가 서버에 접속할 때, http://a.com:80 이라고 입력을 하면
서버 컴퓨터는 a.com에 해당하는 컴퓨터를 찾은 뒤 80번 포트와 연결하고 싶다고 말한다.
그럼 80번 포트에서 리스닝 하고 있는 웹서버가 응답한다.
하지만 80이라고 적는 것인 굉장히 귀찮아.
그래서 포트를 생략할 수 있다.
그럼 어떻게 웹 서버로 연결 시켜준다는 말인가!
주소에 http 라는 것이 있다.
이것을 통해서 웹브라우저를 통해 접속했다는 것을 알 수 있다.
그래서 자동으로 80번 포트로 연결시켜준다.
즉 http 로 접속하면 80번 포트를 쓰자라고 약속했다는 것이다.
약속?
HTTP = Hyper Text Transfer Protocol(통신규약)
약속이다.
웹브라우저에서는 http:// 가 자동적으로 사라지기도 한다.
ex) Chrome은 생략한다.
생활코딩 이고잉님 감사합니다^^
-..-
'Dev.World > 개발상식&언어' 카테고리의 다른 글
[그들이 쓰는 언어] 3. 디버깅 / 리팩토링 (0) | 2016.04.08 |
---|---|
[개발상식] 7. 프로세스 / 스레드 / 커널 (0) | 2016.04.07 |
[개발상식] 5.인터넷 기초 I / DNS,IP (0) | 2016.04.06 |
[개발상식] 4. REST or RESTFul (0) | 2016.04.06 |
[개발상식] 3. 라우팅 / 패킷 (0) | 2016.04.05 |