-
728x90
인터넷
웹의 핵심적인 기술로, 컴퓨터들이 서로 통신 가능한 거대한 네트워크라는 것.
모든 컴퓨터를 연결하고 어떤 일이 있어도 연결 상태를 유지할 수 있게 하는것이 의의이다.
인터넷의 동작 원리두 컴퓨터가 통신할 때, 다른 컴퓨터와 유선(Ethernet Cable) 또는 무선(WiFi, Bluetooth)으로 연결되어야 한다. 이러한 통신은 두 대로 국한되지 않으며, 통신을 원하는 컴퓨터가 늘어날 수록 케이블의 수가 기하급수적으로 늘어난다.
이를 해결하기 위해 각 컴퓨터는 라우터라는 컴퓨터에 연결되고, 라우터는 각 컴퓨터의 통신이 올바른 대상에게, 올바르게 도착했는지 점검한다. 그러면 복잡한 정도의 케이블 수가 컴퓨터의 수만큼의 케이블과 라우터 하나로 줄어들게 된다. 또한, 라우터도 컴퓨터이므로 라우터와 연결될 수 있다. 이로써 네트워크는 무한히 확장될 수 있다.
비교적 가까운 네트워크 그룹뿐만 아니라 상당히 멀리 있는 누군가와도 네트워크를 구축해야 하지만, 라우터-케이블로
연결하기는 쉽지 않다. 이를 해결하기 위해 이미 연결되어 있는 케이블을 사용한다. 전력과 전화같이 전화기 기반의 시설은 세계 곳곳에 연결되어 있으니 우리가 필요로 하는 완벽한 배선이다.
따라서 네트워크를 이 전화 시설과 연결하는 모뎀이라는 장비를 사용해 우리 네트워크 정보를 전화 시설에서 처리
가능한 정보로 변환해준다.연결된 네트워크는 도달하려는 네트워크에 메세지를 보내는데, 인터넷 서비스 제공 업체(ISP)에 먼저 연결하고 우리의 네트워크가 보낸 메세지는 ISP의 네트워크를 통해 대상 네트워크로 전달된다.
이렇듯 인터넷은 다음과 같은 전체 네트워크 인프라로 구성된다.
도달하려는 네트워크를 찾아가는 과정은 다음과 같다.
네트워크에 연결된 모든 컴퓨터에는 IP(Internet Protocol) 주소라는 고유한 값이 있다. 이 주소는 사람이 외우기에
어려움이 있어 도메인 이름에 ip주소를 연결한다. 도메인과 ip 주소는 실질적으로 같은 존재가 되므로 도달하려는 네트워크를 명확하게 식별할 수 있는 것이다.
결론적으로, 인터넷은 인프라이며 웹은 이 인프라 위에 구축된 서비스이다. 웹 이외에 많은 서비스들이 존재할 수 있다.
HTTPHyperText Transfer Protocol의 약자로 WWW에 내재된 프로토콜이다. WWW(W3)는 인터넷에 연결된 컴퓨터를 통해 사람들이 정보를 공유할 수 있는 전 세계적인 정보 공간이다. 인터넷에서 http, hyper text, html 형식 등을 사용해 그림과 문자를 교환하는 전송방식이라 이해해도 좋다.
프로토콜사람이 각자 이해할 수 있는 공통된 언어로 다른 사람과 대화를 할 수 있듯, 컴퓨터도 이러한 언어를 사용해 다른 컴퓨터와 대화할 수 있는데 이 언어가 프로토콜(통신 규약)이다.
http client, http server는 w3의 기본 요소이며, http client는 http를 사용할 수 있는 에이전트를 뜻한다. 주로 80번 port로 html 문서를 주고받는 데에 쓰이며, 대부분 TCP(Transfer Control Protocol)를 사용하고 http/3 부터 UDP(UserDiagram Protocol)을 사용하고 있다.웹 브라우저, 서버, 웹 앱 모두 HTTP를 통해 대화하므로 현대 인터넷 공용어라 할 수 있으며, 신뢰성있는 데이터 전송 프로토콜을 사용하여 데이터가 지구 반대편에서 오더라도 전송 중 손상되거나 꼬이지 않음을 보장할 수 있다.
브라우저웹 서버에서 이동하며 쌍방향으로 통신하고, html 웹 문서나 파일을 출력하는 GUI 기반의 응용 프로그램이다. 웹 브라우저는 대표적인 HTTP 사용자 에이전트의 하나이기도 하다.
브라우저의 동작 원리
1. 요청된 html을 분석하여 무엇을 보여줘야 할 지 결정한다.
> html 마크업을 처리하고 DOM 트리를 빌드한다.
2. 어떻게 보여줄 지가 결정되었다면, 어떻게 그릴지 결정한다.
> css 마크업을 처리하고, CSSOM 트리를 빌드한다.
3. html, css 마크업은 화면에 보여질 것만 처리한다.
> DOM 및 CSSOM을 결합하여 렌더링 트리를 빌드한다.렌더링 : 이미지 합성이라고도 하며, 쉽게 말해 사용자가 요청한 데이터를 화면에 표시하는 것을 말함.
4. css적인 특성, box-model을 생성한다.
> 렌더링 트리에서 레이아웃을 실행해 각 노드의 가하학적 형태를 계산한다.
5. 최종적으로 개별 노드를 화면에 뿌려 그린다.
도메인 네임네트워크 상에서 컴퓨터를 식별하는 호스트 이름이다.
도메인 네임 레지스트리는 최상위 도메인에 등록된 모든 도메인 네임의 DB로서 네트워크 정보 센터라고 불리기도 한다.
도메인 네임 DB를 유지하고, 도메인 네임을 ip 주소로 변환해주는 존 파일을 생성하는 인터넷 도메인 네임 시스템 한 부분이다. 도메인 네임은 도메인 레지스트리에게서 등록된 이름인 것이다.도메인의 가장 최상단인 .com, .kr 등을 담당하는 도메인 서버는 전 세계에 13개밖에 존재하지 않는다.
DNS사람이 읽을 수 있는 도메인 이름을 컴퓨터가 읽을 수 있는 IP주소로 변환해주는 시스템이다. 인터넷상의 모든 컴퓨터는 숫자로 서로를 찾고 통신하는데 이 숫자를 IP 주소라고 하며, 숫자는 사람이 암기하기에 너무 복잡하나 DNS를 사용하면 example.com 같은 이름을 입력해도 이 주소가 가리키는 ip주소로 이동할 수 있다.
사용자가 도메인 이름을 웹 브라우저에 입력(요청, 쿼리)하면 DNS 서버는 다음과 같이 동작한다.
1. 이름에 대한 요청을 ip 주소로 변환
2. 어떤 서버에 연결할지 제어
DNS는 크게 신뢰할 수 있는 DNS와 재귀적 DNS의 서비스 유형으로 나뉜다.신뢰할 수 있는 DNS
개발자가 퍼블릭 DNS 이름을 관리하는데 사용하는 업데이트 메커니즘을 제공하며, 이를 통해 DNS 쿼리에 응답하여 도메인 이름을 ip 주소로 변환.
재귀적 DNS보통 클라이언트는 신뢰할 수 있는 DNS 서비스에 직접 쿼리를 수행하지않고, 해석기 또는 재귀적 DNS 서비스라고 알려진 다른 유형의 DNS 서비스에 연결하는 경우가 일반적.
호스팅서버의 전체 혹은 일부를 이용할 수 있도록 임대해 주는 서비스이다. 서버는 24시간 구동되어야 하며, 안정적 환경, 보안이 필요하다. 따라서 개인이 서버를 관리하는 것은 쉽지 않은 일이므로 호스팅을 전문으로 하는 업체를 통해 서버의 호스팅을 하게 된다. 종류로는 웹, 서버, 클라우드 등이 있다.
웹 호스팅여러 고객이 하나의 서버를 공유하는 형태.
서버 호스팅단일 고객이 하나의 서버를 사용하는 형태.
클라우드 호스팅클라우드 리소스를 통해 가상 및 물리적 클라우드 서버의 네트워크에서 호스팅하는 형태.
728x90