네트워크 | Domain, DNS, Hosting

space's pace·2022년 6월 29일
0

프론트엔드

목록 보기
4/15


출처 : 네트워크 개념잡기 - 생활코딩 | https://youtu.be/QkPmwFX7giA

도메인(Domain)이란?

도메인은 인터넷에 연결된 컴퓨터의 ip를 사람이 쉽게 기억하기 어렵기 때문에 이를 위해서 각 ip에 사람이 쉽게 기억하고 입력할 수 있도록 문자(영문, 한글 등)로 만든 인터넷 주소이다.

DNS란 ?

:도메인 이름 시스템(DNS)은 사람이 읽을 수 있는 도메인 이름(예: www.amazon.com)을 머신이 읽을 수 있는 IP 주소(예: 192.0.2.44)로 변환

상위 기관에서 인증된 기관에게 도메인을 생성하거나 IP 주소로 변경할 수 있는 ‘권한’을 부여한다.
DNS는 이처럼 상위 기관과 하위 기관과 같은 ‘계층 구조’를 가지는 분산 데이터베이스 구조를 가진다.

❗️DNS 구성 요소

도메인 네임 스페이스(Domain Name Space)
다.
네임 서버(Name Server) = 권한 있는 DNS 서버
리졸버(Resolver) = 권한 없는 DNS 서버

  • 도메인 네임 스페이스라는 규칙(방법)으로 도메인 이름 저장을 분산한
  • 네임 서버(DNS 서버와 같은 말, 그런데 리졸버 서버 등 시스템 안에서 다른 역할을 하는 서버도 있기에 그냥 DNS 서버라고 하는 것보다 네임 서버라고 한다)가 해당 도메인 이름의 IP 주소를 찾는다.
  • 리졸버가 DNS 클라이언트 요청을 네임 서버로 전달하고 찾은 정보를 클라이언트에게 제공하는 기능을 수행한다.
    어떤 네임 서버에서 찾아야하는지, 이미 캐시 되어있는지 등 어떻게든 찾아서 클라이언트에게 찾았으면 찾은 것을 못 찾았으면 못 찾았다고 전달하는 역할을 한다.

호이스팅(Hoisting)이란

: 호이스트는 건축/건설이나 화물 운반에 사용되는 장비로 화물 등을 들어올리는 업무를 수행한다. 즉, 아래에 위치한 것을 끌어올리는 역할을 장비인데 이 단어만으로도 '들어올리다'라는 의미를 가지고 있다.

호이스팅은 코드에 선언된 변수 및 함수를 코드 상단으로 끌어올리는 것을 말하며, 이는 변수 범위가 전역 범위인지 함수범위인지에 따라 다르게 수행될 수 있다.
함수 내에서 선언한 함수 범위의 변수는 해당 함수의 최상위로 함수 밖에서 선언한 전역 범위의 전역변수는 스크립트 단위의 최상위로 끌어올려진다.

function noDefine() {
  // 변수 선언 및 할당 이전에 호출 테스트
  console.log("not define: " + name);
  let name = ojava;
  // 변수 초기화 이후 값 확인
  console.log("defined:" +name);
}

내부적으로 자바스크립트에서 let name "ojava"; 과 name="ojava";로 분리하여 번수 선언부를 함수 상단으로 끌어올려서 선언해버리므로 오류가 발생하지 않는 대신 값이 정의되지 않았다는 의미로 undefined를 반환하는 것을 알 수 있다.

function noDefine() {
  console.log("not define: " + name);
  //let name = ojava;
	
  name = "ojava"; // 변수 선언 명령어 없이 name 변수에 할당함
  // 변수 초기화 이후 값 확인
  console.log("defined:" +name);
}

함수 내에서 번수 선언 명령어를 제외하고 선언시 전역 변수의 형태로 사용됨에 주의하자
이 경우는 함수에서 선언 명령어 업싱 초기화 한 값을 전역 변수로 사용하고 있음을 볼 수 있으며, 예상하지 못한 결과값을 반환할 수 있으므로 주의해야 한다. 함수 선언 내용의 경우 선언한 위치와 관계없이 항상 최상단으로 호이스팅되므로 코드상에서 함수를 선언한 위치보다 먼저 호출하더라도 이상없이 호출된다. 단 함수 호이스팅은 선언방식이 함수 선언식인 경우에만 적용된다.

DNS란? | https://hanamon.kr/dns%EB%9E%80-%EB%8F%84%EB%A9%94%EC%9D%B8-%EB%84%A4%EC%9E%84-%EC%8B%9C%EC%8A%A4%ED%85%9C-%EA%B0%9C%EB%85%90%EB%B6%80%ED%84%B0-%EC%9E%91%EB%8F%99-%EB%B0%A9%EC%8B%9D%EA%B9%8C%EC%A7%80/

호이스팅이란? | https://ojava.tistory.com/144

profile
블로그 이사 준비중!

0개의 댓글