인터넷 기본 지식 정리

HyosikPark·2020년 10월 3일
0

인터넷 작동 원리

통신을 위해서는 기본적으로 컴퓨터와 컴퓨터간에 무선 또는 유선으로 연결이 되어있어야한다. 하지만 기기의 수가 많아질 경우 연결에 필요한 케이블이 기하급수적으로 증가하기 때문에 하나의 라우터에 여러대의 컴퓨터를 연결하여 통신하게 된다. 라우터와 라우터 간의 연결로 통신가능한 컴퓨터의 대수를 확장할 수 있으나 멀리떨어져있는 지역의 경우 라우터끼리의 연결이 불가능하기 때문에 이미 전세계 통신망이 구축되어 있는 전화시설에 라우터를 연결하여 사용하게된다. 하지만 네트워크와 전화시설의 정보 처리방식이 다르기 때문에 라우터를 모뎀에 연결하여 정보처리를 가능한 방식으로 재가공한다. 이제 네트워크에서 어느 한 네트워크로 메시지를 보내기 위해서 ISP(인터넷서비스제공업체)에 연결하여 메시지를 전달하게 된다. 그리고 상대편의 네트워크에서도 ISP를 통해 메시지를 전달받게된다.
정리하면 컴퓨터-라우터-모뎀-ISP1-ISP2-모뎀-라우터-컴퓨터 이러한 방식으로 전세계 네트워크가 연결되어 있는 것이다. 다른컴퓨터를 찾아가는 방식은 컴퓨터의 고유한 IP를 주소창에 검색하여 접속하게되지만 IP를 기억하는 것은 어렵기 때문에 IP를 문자로 표현한 도메인네임(ex. www.google.com)으로 검색하여 접속하게 된다.

HTTP HTTPS

HTTP는 서버와 사용자간에 요청과 응답을 주고 받기위한 프로토콜(통신규약)이다.
HTTP는 연결상태를 계속 유지하지 않고 일시적으로 요청과 응답을 주고받기 때문에 받아온 데이터를 유지하기 위해서는 Cookie나 localStorage같은 저장소가 필요하다.
대표적인 요청 방식으로 GET,POST,PUT,DELETE가 있으며 각각 자료를 요청, 생성, 수정, 삭제를 위한 메소드이다.
요청과 더불어 헤더에 부가적인 정보를 담아보낼 수 있는데 아직까지는 token확인을 위한 athorization밖에 보내본 적이 없다.

응답은 상태코드와 함께 나타나며 상태코드 숫자에 따라 응답 상태를 알 수 있다.

HTTPS는 HTTP 통신중에 담겨있는 정보 유출을 막기 위해 암호화하여 통신하는 방식이다. SSL인증서로 사용자가 사이트에 제공하는 정보를 암호화하고 TLS프로토콜을 통해서 보안을 유지하기 때문에 전송중에 데이터가 손상되는 것을막을수 있다.

렌더링

우선 HTML 문서를 파싱하여 DOM트리로 변환한다. 다음 CSS를 파싱하여 CSSOM트리를 만든다. DOM과 CSSOM을 결합하여 렌더링 트리를 만들고 렌더링 트리에서 각 노드의 크기와 위치를 계산한 뒤 화면에 나타내게 된다. 이 과정은 문서 개별적으로 진행되며 완료가 되는 순서대로 화면에 그려진다.

브라우저와 동작원리

브라우저는 소프트웨어로써 웹 페이지, 이미지, 비디오 등의 콘텐츠를 수신 및 전송한다. 클라이언트가 http로 서버에 접속하여 정보를 요청하면 서버는 요청받은 데이터를 웹 브라우저에 전송하게 되고 웹브라우저는 결과를 표시하여 준다. 즉 HTML코드를 받아서 렌더링 한 후 화면에 표시하여 사용자에게 보여주는역할을 하는 것이다.

DNS와 동작원리

DNS(Domain Name System): ip주소를 도메인 이름으로 변환하거나 그 반대의 역할을 수행하는 시스템.

동작원리
사용자가 브라우저에 사이트 주소(도메인 네임)를 입력할 경우 LOCAL DNS에서 주소에 해당하는 IP를 찾는데 LOCAL DNS에 IP가 저장되어 있지 않을 경우 다른 DNS서버들에게 해당 요청을 전송하게 되는데 가장먼저 ROOT DNS에 요청하게 된다. ROOT DNS서버는 전세계 13대만 운용하고 있으며 다른 DNS서버들을 관리한다. ROOT DNS에 IP가 없고 요청 주소가 닷컴(.com)도메인일 경우 com을 관리하는 DNS서버에 LOCAL DNS가 요청을 보낼 수 있도록 하고 com DNS서버에도 없을 경우 다른 DNS서버에 요청을 하는 과정을 반복하여 점차 세부적으로 좁혀서 해당하는 주소를 찾게 된다. 그렇게 주소를 찾게되면 LOCAL DNS는 주소를 받아 사용자에게 반환하여 주며 받았던 ip주소는 캐싱하여 pc에 저장하여 둔다.

호스팅

서버의 전체나 일부를 이용할 수 있도록 임대해 주는 서비스이다.
서버는 개인이 관리하기에 부담이 되는 부분들이 많다. 24시간 안정적으로 전기공급이 중단되지 않고 운영되어야하고 인터넷속도도 빨라야하며 보안이 철저해야한다.
그렇기 때문에 호스팅 전문 업체들이 호스팅 서비스를 제공해 주는것이다.

웹 호스팅: 하나의 서버를 여러고객이 함께 이용하는 형태로 비용이 저렴하고 업체의 통합관리를 받기에 편리하지만 하드웨어가 제한적이다.

서버 호스팅 : 고객이 단독서버를 사용하는 형태로 서버 운영 관리에 대한 직접적인 권한이 있고 하드웨어 공간이 넓지만 비용이 높아 대기업이나 대형 포털사이트에 사용된다.

클라우드 서버 : 서버 호스팅을 가상화하여 고객이 원하는대로 서버 자원을 늘리거나 축소할 수 있어 유연한 장점이 있지만 하나의 서버에 문제가 생기면 연결된 다른서버에도 영향을 미칠 수 있다.

0개의 댓글