-
[cs] url 입력시 일어나는 일기타 2021. 5. 18. 14:47반응형
일단 url 문법부터 보자 아래와 같다.
protocol: [//[user:password@]host[:port]][/]path[?query][#fragment]:port
>> protocol :// url : port
구조이다.
1.host 부분을 인코딩한다.(인코딩이란? 정보의 형태나 형식을 변환하는 처리나 처리 방식)
퓨니코드(Punycode)는 유니코드 문자열을 호스트 이름에서 허용된 문자만으로 인코딩하는 방법
2.hsts 목록을 확인하여 있으면 https 없으면 http 프로토콜을 사용하여 통신한다.
(hsts? 웹사이트가 브라우저에게 https 로 만 통신하라고 설정해놓은 사이트 목록)
3.해당 도메인 이 이미 브라우저에 캐쉬된 Ip 가 있는지 확인한다.
캐시란? Cache란 자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다
4.캐시된게 없다면 DNS 서버에 요청을 보낸다. DNS 서버는 해당 ip 를 응답한다.
domain name 과 ip 이 둘을 한쌍으로 가지고 있는 데이터 베이스를 DNS 라고 한다.
5. 알게된 ip 로 요청을 넣는다.
네트워크장비인 라우터의 라우팅을 통해 요청이 네트워크를 타고 전달된다.
6.ARP를 통해 IP주소를 MAC주소로 변환 (ip 주소는 전화번호 느낌이고 mac 주소는 단말기 고유번호느낌)
(arp= TCP/IP 3계층(네트워크계층)의 IP Address 를 2계층(데이터링크계층)의 MAC address로 대응 시킬때 사용하는 프로토콜 입니다.)
7. 대상 서버와 통신하기 위해 TCP 소켓 연결을 진행한다
http 통신을 하기 이전에 장치들 사이에 논리적인 접속을 성립(establish)하기 위하여 three-way handshake과정을 거쳐야함
요청하기전 서로를 검증하는 느낌이다. 이과정에서 https 통신을 할 예정이면 TLS 핸드쉐이킹 이 추가가 된다.
8. 드디어 http(s) 통신으로 요청보내고 응답받음
받게된 (html,css,javascript)를 파싱해서 트리로 만들고 layout 정하고 painting 해서 화면에 출력 !!
참고:https://deveric.tistory.com/97
'기타' 카테고리의 다른 글
[정규표현식]알아보기(2) (0) 2021.05.26 [프로그래밍] 순수함수 (0) 2021.05.23 [정규표현식] 알아보기(1) (0) 2021.05.12 [code & css] noteapp (0) 2021.05.10 [코테] 조합과 순열 (0) 2021.05.06