WEB Hacking

<WEB Hacking> Web Browser

지우친구 웅이 2021. 12. 13. 22:43

도구로서의 소프트웨어는 반복적인 작업을 자동화하여 일의 능률을 높이고,

복잡한 기능을 쉽게 사용할 수 있도록 단순하고 직관적인 인터페이스를 제공

 

■웹 브라우저(Web Browser)

웹은 인터넷이라는 글로벌 네트워크 위에 구현되어 있으며, 정해진 프로토콜을 기반으로 통신

 

- 이용자가 주소창에 사이트 주소를 입력하면 웹 브라우저는

1. 웹 브라우저의 주소창에 입력된 주소를 해석(URL 분석)

2. 사이트 주소에 해당하는 주소 탐색(DNS 요청)

3. HTTP를 통해 해당 사이트에 요청

4. 사이트의 HTTP 응답 수신

5. 리소스 다운로드 및 웹 렌더링(HTML, CSS, Javascript)

 

■URL

URL은 Uniform Resource Locator의 약자로, 웹에 있는 리소스의 위치를 표현하는 문자열

브라우저로 특정 웹 리소스에 접근할 때는, URL을 사용하여 이를 서버에게 요청

 

http://example.com/path?search=1#fragment

Schema : 웹 브라우저가 어떤 통신 규약을 사용할지 지정

Host : 웹 브라우저가 어디에 연결할지 정하는 호스트 주소로 도메인명이나 IP 주소가 호스트로써 사용될 수 있음

Path : 웹 브라우저가 연결하려고 하는 리소스에 대한 경로

Query : 웹 브라우저가 서버에게 전달하는 파라미터

Fragment : 웹 브라우저만 가지고 있는 데이터로, 메인 리소스(페이지) 내에서 서브 리소스를 식별할 때 사용

 

■Domain Name

Host는 웹 브라우저가 접속할 웹 서버의 주소를 나타냄(Host는 도메인명, IP 주소를 가질 수 있음)

- 도메인명을 Host 값으로 이용할 때, 브라우저는 DNS(Domain Name Server)에 도메인명을 질의하고,

DNS가 응답한 IP 주소를 사용함

 

■Web Rendering

웹 렌더링은 서버에게서 받은 리소스를 이용자에게 시각화하는 행위

- 서버의 응답을 받은 웹 브라우저는 리소스의 타입을 확인하고, 적절한 방식으로 이용자에게 전달함

ex) 서버로부터 HTML과 CSS를 받으면 브라우저는 HTML을 파싱하고 CSS를 적용하여 이용자에게 보여줌

 

- 웹 렌더링은 웹 렌더링 엔진에 의해서 이뤄지는데, 브라우저별로 서로 다른 엔진을 사용

ex) 사파리(Webkit), 크롬(Blink), 파이어폭스(Gecko) -> 각각 렌더링 과정과 순서, 속도 차이가 있지만 하는 동작은 같음