본문 바로가기
정보보안/모의해킹

[웹 해킹] 웹 해킹 (3)- 웹 기초 [브라우저 / Domain Name / URL / 웹 렌더링]

by 용오동 2025. 1. 16.
반응형

[웹 브라우저]

♣ 웹 브라우저는 웹상에 존재하는 페이지들의 HTML 언어를 해석하여 사용자의 컴퓨터 화면에 출력해주는 프로그램으로, 이용자는 브라우저를 이용하여 쉽게 정보를 검색하고, 동영상 시청 및 파일 다운로드 등을 쉽게 할 수 있다.

♣ 이용자가 주소창에 URL을 입력하면 웹 브라우저는 다음과 같은 동작을 하게 된다.

1 웹 브라우저 주소창에 입력된 주소를 해석(URL 분석)
2 입력된 주소를 탐색(DNS 요청)
3 HTTP를 통해 입력된 주소로 요청 메시지 전송
4 입력된 주소로부터 HTTP 응답 수신
5 리소스 다운로드 및 웹 렌더링(HTML, CSS, Jvavscript)

입력된 주소 즉, URL을 말하며 'http://google.com'과 같은 주소를 의미한다.

♣ 최근에는 브라우저가 보안과 개발에 필요한 다양한 도구들도 제공하고 있다. HTTPS의 적용 여부 및 서버 인증서의 안전성 여부를 식별해주는 것이 있다.

 


[URL]

♣ URL(Uniform Resource Locator) : 웹에 있는 리소스의 위치를 표현하는 문자열이다. 브라우저로 특정 웹 리소스에 접근할 때는 URL을 사용하여 이를 서버에 요청한다.

♣ URL은 Scheme, Authority(Userinfo, Host, Port), Path, Query, Fragment 등으로 구성된다. 이 중 자주 사용되는 요소들은 아래와 같다.

 

요소 설명
Scheme 웹 서버와 어떤 프로토콜로 통신할지 나타낸다.
Host Authority의 일부로, 접속할 웹 서버의 주소 정보를 나타낸다.
Port Authority의 일부로, 접속할 웹 서버의 포트 정보를 나타낸다.
Path 접근할 웹 서버의 리소스 경로로 '/'로 구분되어진다.
Query 웹 서버에 전달하는 파라미터이며, URL의 '?' 뒤에 위치한다.
Fragment 메인 리소스에 존재하는 서브 리소스를 접근하기 위한 식별 정보이다. '#' 문자 뒤에 위치한다.

[Domain Name]

♣ URL 구성 요소 중 Host는 웹 브라우저가 접속할 웹 서버의 주소를 나타낸다. Host는 도메인 이름(Domain Name) 또는 아이피 주소(IP Address)의 값을 가질 수 있다.

IP 주소 : 네트워크 상에서 통신이 이루어질 때 장치를 식별하기 위해 사용되는 주소이다. 32비트의 주소체계로 이루어진 IP 주소는 사람이 외우기 어려워 도메인의 특성을 담은 이름을 정의하여 IP 대신 사용한다.

♣ 도메인 이름을 호스트 값으로 이용할 때 브라우저는 DNS(Domain Name Server)에 도메인 이름을 질의하고, DNS가 응답한 IP 주소를 사용한다. 

♣ 예를 들면, 웹 브라우저에 'http://google.com'에 접속하는 경우 DNS에 질의해 얻은 'google.com'의 IP 주소와 통신하게 되는 것이다. 도메인에 대한 정보는 'nslookup' 명령어를 사용하여 확인할 수 있다.

$ nslookup yongodong.com
Server : 8.8.8.8
Address: 8.8.8.8#53

Non-authoritative answer:
Name : yongodong.com
Address: 192.168.123.123

[웹 렌더링]

웹 렌더링(Web rendering) : 서버로부터 받은 리소스를 이용자에게 시각화하는 행위를 말한다. 서버의 응답을 받은 웹 브라우저는 리소스의 타입을 확인하고, 적절한 방식으로 이용하제게 전달한다. 
예를 들어, 서버로부터 HTML과 CSS를 받으면 브라우저는 HTML을 파싱하고 CSS를 적용하여 이용자에게 보여준다.

♣ 웹 렌더링은 웹 렌더링 엔진에 의해서 이루어지는데, 브라우저별로 서로 다른 엔진을 사용한다. 사파리 웹 브라우저는 웹킷(Webkit), 크롬은 블링크(Blink), 파이어폭스는 개코(Gecko) 엔진을 사용한다.
각각의 엔진에 따라 렌더링 과정과 순서, 속도의 차이는 있지만,  HTML을 파싱하고 시각화하여 이용자에게 보여준다는 것은 같다.


반응형