웹 브라우저

클라이언트 프로그램인 웹 브라우저의 역할에 대해서 알아봅니다.
웹 브라우저


웹 브라우저

브라우저브라우저

인터넷의 대표적인 서비스인 웹은 서버-클라이언트 기반의 서비스입니다. 이때의 서버는 인터넷 상의 수 많은 웹 서버들에서 실행중인 서버 프로세스이며, 클라이언트는 사용자들이 실행중인 웹 브라우저입니다. 운영체제에 따라서 다양한 웹 브라우저가 있고, 또 같은 운영체제에서도 다양한 웹 브라우저들이 있습니다. 이 때문에 웹 서비스를 개발할 때는 웹 브라우저 호환성에 대해서 고민해 볼 필요가 있습니다.

… 월드 와이드 웹(World Wide Web, WWW, W3)은 인터넷에 연결된 컴퓨터들을 통해 사람들이 정보를 공유할 수 있는 전 세계적인 정보 공간을 말한다. 간단히 웹(Web)이라 부르는 경우가 많다. 이 용어는 인터넷과 동의어로 쓰이는 경우가 많으나 엄격히 말해 서로 다른 개념이다. 웹은 전자 메일과 같이 인터넷 상에서 동작하는 하나의 서비스일 뿐이다. 그러나 1993년 이래로 웹은 인터넷 구조의 절대적 위치를 차지하고 있다… (위키백과)

웹 브라우저의 역할

웹 브라우저와 웹 서버웹 브라우저와 웹 서버

이번 3장에서는 서버쪽은 잠시 내려두고, 웹 브라우저에 대해서만 공부합니다. 웹 브라우저는 HTTP나 HTTPS 프로토콜을 이용해서 특정 웹 서버에 사용자의 요청 데이터를 보내고, 서버의 응답 데이터를 받아 처리해주는 프로그램입니다. 웹 브라우저의 역할을 간단히 나타내면 다음과 같습니다.

요청(Request) 보내기

사용자가 주소창에 입력한 URI를 해석하고 해당 웹 서버로 HTTP 프로토콜을 따라 요청 데이터를 보냅니다.

통합 자원 식별자(Uniform Resource Identifier, URI)는 인터넷에 있는 자원을 나타내는 유일한 주소이다.
URI의 존재는 인터넷에서 요구되는 기본조건으로서 인터넷 프로토콜에 항상 붙어 다닌다.
프로토콜 (HTTP, HTTPS, FTP 등) + : + // + 호스트이름 + 주소
… (위키백과)

응답(Response) 처리

서버에서 받은 응답 데이터의 컨텐츠 타입(Content-Type)에 따라서 데이터를 처리합니다. 즉, 그림을 그리거나, 영상을 재생하거나, 파일을 다운로드 하거나, 텍스트나 XML, HTML 문서를 렌더링합니다.

예시

  1. 브라우저 주소창에 https://www.google.com 이라는 주소를 입력
  2. 브라우저는 해당 주소의 자원을 요청하는 데이터를 HTTP 프로토콜을 따라 작성하고 구글의 웹 서버에 전송
  3. 구글의 웹 서버는 요청 데이터를 해석하고 브라우저에게 HTML 문서(등)를 전송
  4. 브라우저는 HTML 문서를 받아 해석하고 렌더링

개발자 도구

크롬 개발자 도구크롬 개발자 도구

웹 브라우저와 웹 서버간에 실제로 어떤 HTTP 요청이 오가며, 실제 데이터는 어떤 내용인지 확인해 볼 수 있습니다. 크롬의 경우 (윈도우에서) F12를 누르면 개발자 도구가 나타나고 네트워크(Network) 탭에서 브라우저가 주고받는 데이터를 확인 할 수 있습니다. 또한 Elements나 Sources 탭에서는 현재 보고 있는 페이지가 렌더링되기 전의 소스코드를 확인할 수 있습니다.

목차
3. 웹 프론트엔드
4. 웹 백엔드
저자

김동욱

개발 경력 약 10년, 전문 분야는 웹 및 각종 응용 소프트웨어 플랫폼입니다. Codeflow를 운영하고 있습니다.

2018년 04월 09일 업데이트

지원되지 않는 웹 브라우저거나 예기치 않은 오류가 발생했습니다.