[웹 브라우저]
♣ 웹 브라우저는 웹상에 존재하는 페이지들의 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을 파싱하고 시각화하여 이용자에게 보여준다는 것은 같다.
'정보보안 > 모의해킹' 카테고리의 다른 글
[웹 해킹] 웹 해킹 (4)- 웹 기초 [개발자도구] (0) | 2025.01.17 |
---|---|
[웹 해킹] 웹 해킹 (2) - 웹 기초 [인코딩 / 프로토콜 / 네트워크 포트 / 서비스 포트 / HTTP / HTTPS / 요청 및 응답 (1) | 2025.01.16 |
[웹 해킹] 웹 해킹 (1) - 웹 기초 [웹 / 프론트엔드 / 백엔드 / 웹 리소스 / HTML / CSS / JS / 웹 통신 ] (0) | 2025.01.15 |
[웹 해킹] Burp Suite의 기능 (0) | 2024.12.21 |