인터넷은 어떻게 작동되는 것인가?
인터넷
수십억 대의 컴퓨터를 모두 연결하는 기술 인프라
(WEB/월드 와이드 웹 - 웹은 이 인프라 기반 위에 구축된 서비스 / 컴퓨터들이 서로 통신 가능한 거대한 네트워크)
우리 컴퓨터는 인터넷에 직접적으로 연결되지 않은 클라이언트 // 직접적으로 연결된 서버(서비스 제공)
라우터
많은 컴퓨터가 연결될수록 선이 많아지는 문제 해결
주어진 컴퓨터에서 보낸 메시지가 올바른 대상 컴퓨터에 도착하는지 확인하는 역할(관리자같은)
라우터를 라우터에 연결함으로써 몇 억 개의 컴퓨터를 효과적으로 연결
우리 컴이 패킷 보냄 -> 라우터를 거칠 때마다 레이어를 씌움 -> 서버를 거쳐 다시 돌아오면서 레이어 벗겨짐
패킷: 컴퓨터 네트워크가 전달하는 데이터의 형식화된 블록
ISP / 인터넷 서비스 제공자 : 모두 함께 연결되는 몇몇 특수한 라우터를 관리하고 다른 ISP의 라우터에도 액세스 할 수 있는 회사
(kt/skt/등등 같은 통신사)
DSL / 도메인 특화 언어: 특정 분야에 최적화된 프로그래밍 언어 / 도메인의 개념과 규칙을 사용
DSL-> ISP->인터넷 ->서버
IP 주소(컴퓨터 사용)
컴퓨터에 메세지를 보내려면 주소가 있어야 함
점으로 연결된 4개 뭉치의 숫자들
도메인 주소(인간들 사용)
사람이 읽을 수 있게 만든 IP주소의 이름
라우터 개념 관련 백준 문제 기념으로 풀었다.
HTTP란 무엇인가? 브라우저는 어떻게 작동되는 것인가?
HTTP
HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜 / 웹에서 이루어지는 모든 데이터 교환의 기초
프로토콜 : 컴퓨터 내부에서, 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체계
HTTP는 서버와 클라이언트가 서로 통신하는 메시지
Html, css, js,이미지와 같은 파일들은 서로가 주고 받는 컨텐츠라면, 컨텐츠를 주고 받기 위해서는 서버와 클라이언트가 서로가 알아들을 수 있는 공통의 약속인 메세지가 필요한데, 그 메세지를 http라고 하고 그것은 크게 request와 response로 이루어져 있다.
response / request - 응답과 요청
브라우저
인터넷에서 웹 서버의 모든 정보를 볼 수 있도록 하고, 문서 검색을 도와주는 응용 프로그램
(네이버/다음/사파리/크롬 등) - 컴퓨터에 설치되어 있는 하나의 프로그램
브라우저 작동 방식
웹 브라우저가 웹 서버에 필요한 자원(웹 페이지)을 요청하면 서버는 응답하고
웹 브라우저는 이를 해석한 후 사용자(Client)에게 보여줌
- 사용자 인터페이스: 주소 표시줄, 이전/다음 버튼, 북마크 등 페이지 뷰 이외의 다른 부분
- 브라우저 엔진: 사용자 인터페이스와 렌더링 엔진 사이 동작을 제어
- 렌더링 엔진⭐️: HTML, CSS를 파싱해 화면에 요청한 컨텐츠를 표시
- 통 신: HTTP 요청과 같은 네트워크 호출에 사용됨
- JS 엔진: 자바스크립트 코드를 해석하고 실행
- UI 백엔드: 기본적인 위젯(콤보 박스 등)을 그림
- 자료 저장소: 자료를 저장하는 계층으로 쿠키 등을 저장하는 웹 데이터베이스
렌더링 엔진 동작 방법
① 렌더링 엔진은 HTML 문서를 파싱 하여 DOM 트리를 구축합니다.
② 그다음 외부 CSS 파일과 함께 포함된 스타일 요소를 파싱 합니다.
③ DOM 트리와 ②의 결과물을 합쳐 렌더 트리를 구축합니다.
④ 렌더 트리 각 노드에 대해 화면 상에서 배치할 곳을 결정합니다.
⑤ UI 백엔드에서 렌더 트리의 각 노드를 그립니다.
어어렵
DNS는 어떻게 작동되는 것인가?
도메인 이름 시스템(DNS)
사람이 읽을 수 있는 도메인 이름(예: www.amazon.com)을 머신이 읽을 수 있는 IP 주소(예: 192.0.2.44)로 변환함
DNS 구성
- 도메인 네임 스페이스(Domain Name Space)
- 네임 서버(Name Server) = 권한 있는 DNS 서버.
- 리졸버(Resolver) = 권한 없는 DNS 서버
쿼리
웹 서버에 특정한 정보를 보여달라는 웹 클라이언트 요청에 의한 처리
Domain Name이란 무엇인가?
도메인 네임
- 넓은 의미로는 네트워크상에서 컴퓨터를 식별하는 호스트명 / 위에 썼던 사람이 읽을 수 있게 만든 IP주소의 이름
- 좁은 의미에서는 도메인 레지스트리에게서 등록된 이름을 의미
등록된 도메인 네임은 보통 호스트명의 일부분으로, DNS 상에서 해당 호스트명 및 그 하위의 호스트명들은 일반적으로 해당 등록자에게 권한이 주어짐.
도메인 레지스트리
최상위 도메인에 등록된 모든 도메인 네임의 데이터베이스
도메인 네임의 종류에 따라 국제 인터넷 주소자원 관리기관(ICANN)과 해당 국가 기관으로부터 승인을 받아, 일반 사용자들의 도메인 등록을 위임받는 역할을 함.
Hosting이란 무엇인가?
호스팅(Hosting)
서버 컴퓨터의 전체 또는 일정 공간을 이용할 수 있도록 임대해 주는 서비스
사용자가 직접 서버를 구입하고 운영할 필요 없이 호스팅 업체가 미리 준비해 놓은 서버를 빌려 사용하는 형식
웹 호스팅, 서버 호스팅, 메일 호스팅 등 다양한 종류 존재
웹 호스팅
개별 홈페이지를 운영하는 사용자를 위해 서버 컴퓨터의 일부 공간을 임대해 주는 서비스이다. 저렴한 가격과 있지만 서버 관리에 대해 신경 쓸 필요가 없다는 것이 장점이다. 웹 호스팅은 하나의 서버에서 여러 사용자의 사이트를 띄워 준다. 단독 웹 호스팅이나 서버 호스팅은 하나의 서버를 쓸 수 있다.
메일 호스팅
메일 호스팅은 이메일 혹은 웹메일 계정과 공간을 임대해 주는 서비스이다.
쇼핑몰 호스팅
인터넷 쇼핑몰 사이트를 운영할 수 있도록 서버 공간과 쇼핑몰 프로그램 및 결제 시스템 등을 제공
+
기초 IT 상식
'📖 CS > CS plus+' 카테고리의 다른 글
🌈GDSC EWHA🌈 Open Tech Seminar - Backend Session (0) | 2023.11.30 |
---|---|
🤔DB 이론 공부🤔 - ing... (1) | 2023.03.09 |
🍩AWS 서버 구축🍩 - 나중에! (0) | 2023.01.30 |
백엔드 로드맵🌱 (0) | 2023.01.09 |