<목표>
웹 주소(URL)
브라우저에 웹 주소(URL)를 입력하면 인터넷에서 해당 웹 페이지를 찾을 수 있다. URL은 보고 싶은 콘텐츠를 가져오기 위해 어디로 가야 하는지 브라우저에 알려주는 지도이다.
렌더링 웹 페이지
브라우저가 서버로부터 정보를 받으면 코드(HTML, CSS, JavaScript)를 화면에 표시되는 시각적 및 대화형 요소로 변환된다. 여기에는 텍스트, 이미지, 비디오, 링크가 포함된다.
세션 및 쿠키 관리
브라우저는 사용자의 세션(사용자가 웹사이트에 로그인된 상태를 유지하는 경우)을 관리하고 쿠키라고 하는 작은 데이터 조각을 저장한다. 이는 웹 사이트가 사용자의 기본 설정이나 장바구니 내용과 같은 사용자 방문 정보를 기억하는 데 도움이 된다.
웹 호스팅
웹 서버는 HTML 문서, 이미지, CSS 스타일시트, JavaScript 파일 등을 포함하여 웹 사이트를 구성하는 모든 파일을 저장한다.
요청 처리
사용자가 (브라우저를 통해) 웹페이지를 요청하면 서버는 이 요청을 처리하고 필요한 파일을 검색하여 사용자의 브라우저로 다시 보낸다.
웹 애플리케이션 실행
많은 웹 서버는 웹페이지에 대한 동적 정보를 생성하는 PHP, Python 또는 Ruby 코드와 같은 서버 측 스크립트의 실행도 처리한다.
보안 처리
웹 서버는 서버와 사용자 브라우저 간의 안전한 데이터 전송을 보장하기 위해 HTTPS와 같은 보안 프로토콜을 관리한다.
사용자가 URL을 입력
브라우저의 주소 표시줄에 URL을 입력하거나 링크를 클릭하면 통신 프로세스가 시작된다.
DNS 확인
브라우저는 URL을 웹사이트를 호스팅하는 웹 서버의 고유 주소인 IP 주소로 확인하기 위해 DNS(도메인 이름 시스템) 서버에 요청을 보낸다. DNS에서 URL을 고유 IP로 변경해준다.
연결 설정
브라우저에 IP 주소가 있으면 TCP/IP와 같은 프로토콜을 사용하여 웹 서버와 연결을 설정한다. 웹사이트에서 HTTPS를 사용하는 경우 브라우저와 서버도 안전하고 암호화된 연결을 설정 할 수 있다.
HTTP/HTTPS 요청 보내기
브라우저는 웹 서버에 HTTP 또는 HTTPS 요청을 보낸다. 요청에는 요청 유형(예: GET 또는 POST), 요청되는 특정 리소스(예: 웹페이지 또는 이미지), 쿠키 및 브라우저 추가 정보와 같은 세부정보가 포함된다.
서버 요청 처리
웹 서버는 요청을 받아 처리한다. 여기에는 HTML 페이지와 같은 정적 파일(Static)을 검색하거나 서버 측 코드를 실행하여 동적(Dynamic) 페이지를 생성하는 작업이 있다.
서버 응답을 보냄
처리 후 서버는 HTTP 응답을 브라우저로 다시 보낸다. 이 응답에는 요청된 리소스(예: 웹페이지를 렌더링하는 데 필요한 HTML, CSS 및 JavaScript 파일)와 정보 유형 및 상태 코드(예: 200 OK 또는 404 Not Found)와 같은 헤더의 추가 메타데이터가 포함된다.
브라우저는 웹 페이지를 렌더링
브라우저는 서버의 응답을 수신하고 HTML, CSS 및 JavaScript를 처리하여 최종 결과인 웹페이지를 렌더링한다.