브라우저는 세 가지 역할을 수행하는데 웹 서버에 저옵를 제공하고 웹서버로부터 정보를 제공 받으며, 서버의 데이터를 해석하고 이를 사용자가 실제로 볼 수 있도록 처리하며, 키보드,마우스등 입력장치를 거쳐 전달된 사용자 상호 작용을 처리한다.
브라우저와 웹 서버 간의 통신은 HTTP와 HTTPS 프로토콜을 이용한 일련의 요청들로 구성된다. 하이퍼 텍스트 전송 규약은 브라우저와 웹 서버 사이의 통신을 정의하는데 사용된다. HTTP는 발생 할 수 있는 요청 형식뿐 아니라 해당 요청들과 HTTP 응답 형식을 정의한다.
HTTPS에는 보안 계층인 SSL과TLS도 추가되어 있는데 이는 웹 서버가 브라우저에게 인증서를 제공함으로써 보안성 있는 통신을 할 수 있도록 한다. 그리고 사용자는 접속을 허용하기 전에 인증서 수락 여부를 결정할 수 있다. 브라우저가 웹 서버로 보내는 요청에는 세 가지 종류가 있다.
1.GET
2.POST
3.AJAX
여기서 AJAX는 비동기식 자바스크립트와 XML은 실제로 브라우저에서 실행 중인 자바스크립트에 의해 직접적으로 수행되는 GET 또는 POST 요청일 뿐이다. 이름이 비동기식 자바스크립트와 XML임에도 불구하고 AJAX 요청은 XML,JSON 또는 가동되지 않은 데이터를 수신 할 수 있다.
브라우저는 앞 부분에 있는 URL로부터 데이터를 읽어 드린 후 문서 객체 모델을 생성하기 위해 HTML 문서를 제공한다.DOM은 HTML문서가 루트 노드인 트리 구조 객체이다. 트리 구조는 기본적으로 HTML문서 구조와 일치한다.
브라우저는 웹 페이지 뷰를 생성하기 위해 각각의 DOM 요소들을 해석하고 해석한 내용을 사용자의 화면에 표시한다. 보통의 브라우저는 웹 페이지를 생성하기 위해 다중의 웹 서버 요청으로부터 다양한 종류의 데이터를 얻는다.
다음 형태는 최종적인 사용바 뷰를 생성할 뿐 아니라 웹 페이지 동작을 정의하기 위해 브라우저가 가장 흔히 사용된다.
브라우저는 사용자의 입력 이벤트를 포착하고 그에 따라 적절한 동작을 수행하는 정교한 이벤트 시스템을 갖고 있다.