유알엘 이라고 불리는 이 것은 아이피 주소를 대신해서 사람에게 기억하기 쉬운 문자로 만들어졌습니다. 사람에게 친숙한 이 도메인 이름과 ip 주소를 domain name server에서 데이터베이스로 관리합니다. 이러한 시스템을 Domain Name System이라고 합니다.
URL에 담긴 문법구조를 브라우저가 파악해서 올바른 문법구조로 되어있는지 확인하는데요,
ISP는 (회사라고 보시면 될 것 같아요) 그들만의 DNS 서버를 가지고 있습니다. 이 서버에 Domain Name System 데이터베이스 서버가 있는데요, 해당 URL과 맵핑되는 ip주소가 있는지 확인합니다.
이제 리소스를 요청할 서버가 어디있는지를 알게 되었으니 브라우저는 서버와 TCP connection을 맺고 요청한 데이터를 받을 다리를 건설합니다. 이것을 3-way-handshaking이라고 합니다.
UDP 의 경우 이 3-way-handshaking과정이 없으나 http 프로토콜의 경우 TCP connection이 default이므로 데이터 이동 전에는 핸드쉐이크 과정이 항상 선행된다고 볼 수 있습니다.
첫 웹페이지 요청을 위해 GET request를 서버에 보내게 됩니다.
이때 쿠키에 해당 웹페이지에 대한 정보가 담겨있다면 헤더에 포함되어 함께 보내지게 됩니다.
서버에 WAS (Web Application Server) 가 있다면 백엔드 엔지니어가 설계한 대로 request에 대한 handle을 해주게 됩니다. 이러한 handler를 서버프로그램이라고 하죠.
그리고 response를 JSON, XML, HTML 포멧에 맞춰 만들어줍니다.
서버는 status code와 함께 response를 보내줍니다.
참고:
1. aws 아마존
2. What happens when you type a URL in the browser and press enter? - Manneesha Wijesinghe