면접 단골 질문이다.
사실 몰랐었지만 (..) 면접 스터디를 하면서 알게 되었고, 실제로 내가 진행했던 몇 회사의 필기 테스트에서도 비슷한 문제를 본 경험이 있다.
서버와 클라이언트 측면에서 설명할 수 있는 것이 좋다.
IP 주소란?
컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호이다.
IP 주소를 줄여서 IP라고 부르기도 하지만 IP는 인터넷 규약 자체를 가리키는 말이기 때문에 엄밀하게는 구별해야 한다.
요즘 사용되는 IP 주소는 *IPv4지만 주소가 부족해짐에 따라 IPv6 주소가 널리 사용되고 있다.
*IPv4는 오늘날 일반적으로 사용하는 IP 주소이다. 범위는 32비트로 0 ~ 255 사이의 십진수 넷을 쓰고 .으로 구분하여 나타낸다. 따라서 0.0.0.0 ~ 255.255.255.255까지가 된다. IPv6는 128비트까지로 길이를 늘려 두 자리 16진수를 8개 쓰고 : 기호를 사용하여 구분한다.
도메인이란?
숫자로 된 IP 주소를 우리가 기억하기 쉬운 문자로 표현해주는 것이 바로 도메인 주소(Domain Address)이다. 흔히 알고 있는 naver.com, daum.net, google.com이 바로 도메인 주소이다.
DNS란?
Domain Name System은 호스트의 도메인 이름을 호스트 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기 위해 개발되었다. 사람이 이해하기 쉬운 도메인 이름을 숫자로 식별된 식별 번호(IP 주소)로 변환해준다.
http는 인터넷을 사용하기 위해 필요한 프로토콜(Protocol, 통신 규약]이라는 것입니다. 보통 네이버에 접속하기 위한 정석적인 방법은 주소창에 http://naver.com이라고 입력하는 것(중간에 ://은 구분자입니다)이지만 인터넷의 대부분에서 http(HyperText Transper Protocol) 프로토콜을 사용하기 때문에 생략해도 웹 브라우저가 자동으로 붙여서 접속해 줍니다.
또한 s가 붙은 https는 SSL 또는 TLS라고 하는 암호화 보안 프로토콜을 추가한 확장 프로토콜이며, 통신 내용을 제 3자가 엿보지 못하게 암호화합니다.
1. 사용자가 www.도메인 .com을 입력한다.
2. 사용자가 입력한 URL 주소 중 도메인(네임) 부분을 DNS 서버에서 검색하고, DNS 서버에서 해당 도메인 네임에 맞는 IP 주소를 찾아서 입력한 URL과 함께 전달한다.
3. 전달받은 페이지 URL과 IP 주소는 HTTP 프로토콜을 사용하여 HTTP 리퀘스트를 생성하고, TCP 프로토콜을 사용하여 인터넷을 거쳐 해당 IP 주소의 컴퓨터로 전송된다.
4. 도착한 HTTP 리퀘스트는 HTTP 프로토콜을 사용하여 웹 페이지 URL정보로 변환되어 웹 페이지 URL에 해당하는 데이터를 검색한다.
5. 검색된 데이터는 HTTP 프로토콜을 사용하여 응답 메시지를 생성하고 TCP 프로토콜을 거쳐 원래의 사용자 컴퓨터로 전송된다.
6. 도착한 HTTP 응답 메시지는 HTTP 프로토콜을 사용하여 웹 페이지 데이터로 변환되어 웹 브라우저에 의해 출력되어 사용자가 볼 수 있게 된다.
참고자료
www.opentutorials.org/module/4000/24165
sophia2730.tistory.com/entry/DNS-주소창에-wwwnavercom을-치면-일어나는-일
'IT > Teckweek' 카테고리의 다른 글
TDD란? (0) | 2020.12.09 |
---|---|
머신러닝과 딥러닝의 차이 (0) | 2020.11.30 |
싱글톤 패턴 (Singleton Pattern) (0) | 2020.10.26 |
얕은 복사와 깊은 복사 (0) | 2020.10.19 |
최단 경로 문제 (0) | 2020.10.12 |
댓글