웹
- 월드 와이드 웹(World Wide Web)이란 인터넷에 연결된 사용자들이 서로의 정보를 공유할 수 있는 공간을 의미한다.
- 간단히 줄여서 WWW나 W3라고도 부르며, 간단히 웹(Web)이라고 가장 많이 불린다.
- 인터넷과 같은 의미로 많이 사용되고 있지만, 정확히 말해 웹은 인터넷상의 인기 있는 하나의 서비스일 뿐이다.
웹 통신의 과정
- 사용자가 웹 브라우저를 통해 URL을 입력한다.
- 사용자가 입력한 URL 주소 중에서 도메인 네임 부분을 DNS(도메인 네임 시스템) 서버에서 검색한다.
- DNS 서버에서 해당 도메인 네임에 해당하는 IP 주소를 찾아 사용자가 입력한 URL 정보와 함께 전달한다.
- 웹 페이지 URL 정보와 전달받은 IP 주소를 이용해 HTTP 요청 메시지를 생성한다.
- 요청은 TCP를 통해 서버로 전송된다.
- HTTP 요청 메시지는 HTTP 프로토콜을 사용하여 웹 페이지 URL 정보로 변환되어 서버에 전송한다.
- 서버는 클라이언트의 요청을 받고 응답을 전송한다.
- 웹 페이지 URL 정보에 해당하는 데이터를 검색하고, HTTP 프로토콜을 사용하여 HTTP 응답 메시지를 생성하고 TCP 프로토콜을 사용하여 인터넷을 거쳐 원래 컴퓨터로 전송된다.
- 도착한 HTTP 응답 메시지는 HTTP 프로토콜을 사용하여 웹 페이지 데이터로 변환되어 웹 브라우저에 의해 출력되어 사용자가 볼 수 있게 된다.
웹 통신 - 브라우저
- url 에 입력된 값을 브라우저 내부에서 결정된 규칙에 따라 그 의미를 조사한다.
- 조사된 의미에 따라 HTTP Request 메시지를 만든다.
- 만들어진 메시지를 웹 서버로 전송한다.
- 브라우저는 os를 통해 url을 IP로 변경하는 과정
- 자신의 로컬 hosts 파일과 브라우저 캐시에 해당 URL이 존재하는지 확인.
- 존재하지 않는다면 해당 url을 DNS를 통해 컴퓨터가 읽을 수 있는 IP로 변경.
(브라우저 캐시: 해당 사이트를 다시 접속할때 로딩 속도를 높여주기 위해 캐시로 남김)
웹 통신 - 프로토콜 스택, LAN 어댑터
- 프로토콜 스택(운영체제에 내장된 네트워크 제어용 소프트웨어)이 브라우저로부터 메시지를 받는다.
- 브라우저로부터 받은 메시지를 패킷 속에 저장한다.
- 수신처 주소 등의 제어정보(트래픽,경로)를 덧붙인다.
- 패킷을 LAN 어댑터에 넘긴다.
(LAN : Local Area Network 의 약자로써 근거리 통신 망이다.)- LAN 어댑터는 다음 Hop의 MAC주소를 붙인 프레임을 전기신호로 변환시킨다.
(Hop: 컴퓨터 네트워크에서 출발지와 목적지 사이에 위치한 경로의 한 부분,
Mac주소: Media Access Control의 약자로서 네트워크 통신을 하는 하드웨어에 할당된 주소)- 신호를 LAN 케이블에 송출시킨다.
- 프로토콜 스택은 통신 중 오류가 발생했을 때, 이 제어 정보를 사용하여 고쳐 보내거나, 각종 상황을 조절하는 등 다양한 역할을 하게 된다.
웹 통신 - 허브, 스위치, 라우터
- LAN 어댑터가 송신한 패킷은 스위칭 허브를 경유하여 인터넷 접속용 라우터에 도착한다.
- 라우터는 패킷을 프로바이더(통신사)에게 전달한다.
- 인터넷으로 들어가게 된다.
(스위칭 허브 : 스위칭 허브는 컴퓨터의 고유한 Mac 주소를 기억하고 있게 되며 해당 주소를 통해서 어떤 데이터가 어디로 보내져야 하는지 판단하게 된다.
라우터 : 파일, 커뮤니케이션 내용, 그리고 웹 상호 작용과 같은 단순 전송 데이터 등 여러 종류의 데이터가 포함된 패킷을 사용하여 네트워크 데이터를 전송한다.)
웹 통신 - 액세스 회선, 프로바이더
- 패킷은 인터넷의 입구에 있는 액세스 회선(통신 회선)에 의해 POP(Point Of Presence, 통신사용 라우터)까지 운반된다.
- POP 를 거쳐 인터넷의 핵심부로 들어가게 된다.
- 수 많은 고속 라우터들 사이로 패킷이 목적지를 향해 흘러가게 된다.
웹 통신 - 방화벽, 캐시서버
- 패킷은 인터넷 핵심부를 통과하여 웹 서버측의 LAN 에 도착한다.
- 기다리고 있던 방화벽이 도착한 패킷을 검사한다.
- 패킷이 웹 서버까지 가야하는지 가지 않아도 되는지를 판단하는 캐시서버가 존재한다.
굳이 서버까지 가지 않아도 되는 경우를 골라낸다. 액세스한 페이지의 데이터가 캐시서버에 있으면 웹 서버에 의뢰하지 않고 바로 그 값을 읽을 수 있다. 페이지의 데이터 중에 다시 이용할 수 있는 것이 있으면 캐시 서버에 저장된다.
웹 통신
- 웹 서버 1. 패킷이 물리적인 웹 서버에 도착하면 웹 서버의 프로토콜 스택은 패킷을 추출하여 메시지를 복원하고 웹 서버 애플리케이션에 넘긴다.
- 메시지를 받은 웹 서버 애플리케이션은 요청 메시지에 따른 데이터를 응답 메시지에 넣어 클라이언트로 회송한다.
- 왔던 방식대로 응답 메시지가 클라이언트에게 전달된다.
🙇 참고 사이트 🙇
https://dar0m.tistory.com/265 https://codediary21.tistory.com/82 https://osy0907.tistory.com/71