Intro
월드 와이드 웹(World Wide Web)은 인터넷에 연결된 사용자들이 서로의 정보를 공유할 수 있는 공간이라고 한다.
브라우저는 url로 해당 하는 서버에서 네트워크를 통해 html문서, 필요한 파일들을 받아와 내 화면에서 보여주는 역활을 한다.
그리고 프론트엔드 개발자의 역활은 어떤 기술을 사용하든 결국 서버에서 제공해줄 html
,css
,js
를 작성하는 것이다.
우리가 작성한 파일이 사용자에게 가기까지의 긴 여정을 정리해보자.
IP, URL, Domain
프론트엔드 기술면접 예상 질문에 단골인 구글을 검색하면 웹은 무슨일을 할까의 프로세스이다.
사용자에게 사이트를 보여주려면 브라우저는 사이트를 호스팅하는 서버를 찾아야 한다. 인터넷의 각 디바이스들은 IP address
라는 고유한 주소를 가지는데, 서버를 찾는다는 건 해당 서버의 ip주소를 찾는다는 뜻이다.
IPv4: 4개의 8비트(0 ~ 255)숫자로 구성, ex)192.0.2.1 최대 제공가능: 2 ** 32(대략 43억)
IPv6: 8개의 16비트를 16진수로 구성,ex)2001:0DB8:0000:0000:0000:0000:1428:57ab 최대 제공가능:2 ** 128(거의 무제한)
하지만 우리는 이런 IP 주소
를 입력하지 않는다. URL(Uniform Resource Locator)
을 입력한다. 우리가 일반적으로 생각하는 인터넷 주소이다. 그리고 URL은 도메인을 포함한다.
아래의 URL을 보자. 주소창에 입력하면 test를 검색한 구글 검색화면이 나올 것이다.
https://www.google.com:443/search?q=test
- https는 통신 프로토콜
- www.google.com는 domain
- :443 port번호(프로토콜 기본포트는 생략가능 - http:80,https:443)
- /search는 path
- ?q=test는 쿼리 스트링
- 참고로 #으로 시작되는 fragment도 있다.
- 특정페이지의 특정위치로 스크롤이동없이 바로 이동
domain
은 서브도메인(subdomain)
, 이름(name)
, 최상위 도메인(TLD)
으로 나뉜다.
www.google.com
은 도메인이다.
- "www"는 서브도메인 | 차상위도메인
- 일반적으로 "world wide web"의 약자
- 도메인 앞에 확장자로 서로 다른 서버를 가르킬 수 있음
ex)_drive.google.com
- "google"은 도메인의 이름 - 웹사이트를 운영하는 주체
- "com"은 최상위 도메인
- 다양한 유형이 있음
.com: company
,.net: network
...
- 다양한 유형이 있음
본론으로 돌아와서 URL은 도메인을 포함하고, 도메인을 알면 DNS(domain name system)
으로 IP 주소를 알 수 있다. 그래서 URL을 입력하면 우리가 원하는 자원에 접근이 가능한 것이다.
DNS(domain name system)
간단하게 DNS는 IP
와 domain
을 매핑한 데이터베이스로 우리가 입력한 URL에 포함된 domain이 DNS 서버를 통해 IP로 반환 된다.
순서는 다음과 같다.
- 브라우저 캐시 확인 -> 최근에 방문한 사이트라면 남아 있을 수 있음