1. 인터넷은 어떻게 동작하는가?
인터넷: 컴퓨터로 연결하여 TCP/IP 통신 프로토콜을 이용해 정보를 주고받는 컴퓨터 네트워크입니다.
네트워크 : 두 대 이상의 컴퓨터들이 연결하고 서로 통신 할 수 있게 해주는 통신 기술입니다.
인터넷을 동작하기 앞서 인터넷을 역사을 알면 좀 더 쉽게 이해 할 수 있습니다.
제 주관이 포함되어 있습니다.
1960~1970년대 미국 국방부에서 군사용 통신을 하기 위해서
일단 단순하게 1:1 네트워크 구조로 만들어졌다고 생각합니다.
1:1 단순한 네트워크 구조
1:1 통신이 아닌 많은 컴퓨터와 통신하기위해서는 컴퓨터와 연결하는 많은 선이 필요합니다.
개수가 많아진 1대1 네트워크 구조을 보완하기 위해서 라우터을 도입하면서 해결했습니다.
라우터: 논리적으로 분리된 망, 혹은 물리적으로 분리된 망 사이를 지나가야 하는 패킷들에게 경로를 뽑아 가지가 아는 최상의 경로를 찾아낸뒤, 다른 망으로 패킷을 보내주는 역활을 하는 기계입니다. 이론적으로 254개까지 가능하지만 라우터안에 CPU, 램에 따라서 네트워크 속도가 결정됩니다. 성능 문제로 가정에서는 연결포트가 4개 안밖으로 사용합니다.
산업
라우터에 연결된 수가 무제한이 아니라서 라우터와 라우터 끼리 연결하는 구조로 확장할 수 있습니다.
이런식으로 계속 확장나가면 먼 곳 까지 연결 할 수 있습니다. 하지만 아무 먼 곳에 케이블을 연결하면 그에 발생하는 문제을 관리하는 것이 힘들어 집니다. 이에 이미 전화기 기반의 시설로 이미 셰게 어느 곳과 연결되어 있어 필요한 물리적인 배선이 구축된 상태입니다. 그래서 모뎀을 사용하여 네트워크 통신을 할 수 있는 구조 만들었습니다.
모뎀: 아날로그 신호 --> 디지털 신호 변환해주는 장치
인터넷 구조을 요약하면
1. 컴퓨터 - 컴퓨터
2. 컴퓨터 - 라우터 - 컴퓨터
3. 컴퓨터 - 라우터 - 라우터 - 컴퓨터
4. 컴퓨터 - 라우터 - 모뎀 - 전화 시설
5. 컴퓨터 - 라우터 - 모뎀 - 전화시설 - ISP - 전화 시설 - 모뎀 - 라우터 - 컴퓨터( 현재 사용하고 있는 방식)
이제 인터넷 구조 5번이 컴퓨터에서 멀리있는 컴퓨터와 연결 할 수 있습니다. (따로 설정해야 하는 부분이 많지만 더 많이 공부해야하는 부분입니다.)
2. HTTP는 무엇일까요?
HTTP(HyperText Transfer Protocl)
W3 상에서 데이터를 주고 받을 수 있는 모든 데이터 교환의 기초이며, 클라이언트-서버 프로토콜입니다.
HTTP를 통해 전달되는 자료는 URL로 조회 할 수 있습니다.
메시지는 평문(ASCII) 메시지로 이루어집니다. 클라이언트는 서버로 요청 메시지를 전달하며 서버는 응답메시지를 보냅니다.
HTTP 상태 코드로 클라이언트가 서버에 접속하여 어떠한 요청을 하면, 서버는 세 자리 수로 된 응답 코드와 함께 응답합니다.
3. 브라우저와 동작원리
브라우저 정의 : 인터넷상에서 웹에 연결시켜 주는 윈도 기반의 소프트웨어
브라우저 주요기능 : 사용자가 선택한 자원을 서버에 요청하고 브라우저에 표시하는 것이다. 자원(URL)은 보통 HTML 문서지만 PDF나 이미지 또는 다른 형태일 수 있습니다.
HTML과 CSS 명세에 따라 HTML 파일을 해석해서 표시하는데 이 명세는 웹 표준화 기구인 W3C(World Wide Web Consortium)에서 정합니다.
1. 사용자 인터페이스 - 주소 표시줄, 이전/다음 버튼, 북마크 메뉴 등, 요청한 페이지를 보여주는 창을 제외한 나머지 모든 부분입니다.
2. 브라우저 엔진 - 사용자 인터페이스와 렌더링 엔진 사이의 동작을 제어합니다.
3. 렌더링 엔진 - 요청한 콘텐츠를 표시, 예를 들어 HTML을 요청하면 HTMl과 CSS를 파싱하여 화면에 표시합니다.
4. 통신 - HTTP 요청과 같은 네트워크 호출에 사용합니다. 이것은 플랫폼 독립적인 인터페이스이고 각 플랫품 하부에서 실행됩니다.
5. UI 백엔드 - 콤보 박스와 창 같은 기본적인 장치를 그림, 플랫품에서 명시하지 않은 일반적인 인터페이스로서,OS 사용자 인터페이스 체계를 사용합니다.
6. 자바스크립트 해석기 - 자바스크립트 코드를 해석하고 실행합니다.
7. 자료 저장소 - 이 부분을 자료를 저장하는 계층입니다. 쿠리를 저장하는 것과 같이 모든 종류의 자원을 하드 디스크에 저장할 필요가 있습니다. HTML5 명세에는 브라우저가 지원하는 '웹 데이터 베이스' 가 정의 되어 있습니다.
4. DNS의 작동 원리
DNS란
IP 주소로 변환하여 컴퓨터가 서로 통신할 수 있도록 합니다,
인터넷의 DNS 시스템은 이름과 숫자 간의 매핑을 관리하여 마치 전화번호부와 같은 기능합니다.
1. 웹 브라우저에 www.naver.com을 을 입락하면 먼저 Local DNS에게 "www.naver.com"이라는 hostname에 대한 IP 주소를 질희하여 Local DNS에 없으면 다른 DNS name 서버 정보를 받습니다.
2. Root DNS 서버에 "www.naver.com" 질의
3. Root DNS 서버로 부터 "com 도메인"을 관리하는 TLD(Top-Level Domain) 이름 서버 정보 전달 받습니다.
4. TLD에 "www.naver.com" 질의합니다
5. TLD에서 "name.com" 관리하는 DNS 정보 전달합니다
6. "naver.com" 도메인을 관리하는 DNS 서버에 "www.naver.com" 호스트네임에 대한 IP 주소 질의합니다
7. Local DNS 서버에게 "응! www.naver.com에 에 대한 IP주소는 222.122.195.6 응답니다.
8. Local DNS는 www.naver.com에 에 대한 IP주소를 캐싱을 하고 IP 주소정보 전달
5. 도메인 네임은 무엇일까요?
6. 호스팅은 무엇일까요?
호스팅란 ?
서버의 전체 혹은 일부를 이용할 수 있도록 임대해 주는 서비스를 말합니다.
호스팅의 종류
웹 호스팅
서버 호스팅
클라우드 호스팅
출처: ko.wikipedia.org/wiki/%EC%9D%B8%ED%84%B0%EB%84%B7 ,
브라우저는 어떻게 동작하는가?: d2.naver.com/helloworld/59361
'24DAY 백엔드' 카테고리의 다른 글
24DAY 백엔드 - 7DAY 관계형 데이터 베이스 (0) | 2021.02.11 |
---|---|
24DAY 백엔드 - 6DAY GitHub (0) | 2021.02.10 |
24DAY 백엔드 - 5DAY os 및 일반적인 지식 -2 (0) | 2021.02.10 |
24DAY 백엔드 - 4DAY 기본적인 프론트엔드 지식 , os 및 일반적인 지식 -1 (0) | 2021.02.10 |
24DAY 백엔드 - 0day (0) | 2021.02.04 |