인터넷은 전 세계적으로 연결된 컴퓨터와 서버들이 표준화된 프로토콜을 사용해 서로 통신하는 글로벌 네트워크다. 데이터는 패킷이라는 작은 조각으로 나뉘어지고, 여러 단계를 걸쳐 정보가 전달됨으로써 일어난다. 이를 이해하기 위해 클라이언트와 서버 간의 상호작용을 살표보는 것이 중요하다.
사용자의 요청
웹 브라우저(클라이언트)는 사용자가 입력한 URL을 기반으로 서버에 요정을 보낸다. 이때 사용자는 도메인 이름 (예: www.example.com ) 을 입력하게 되는데, 이를 실제 IP주소로 변환해야 한다.
브라우저는 DNS(Domain Name System) 서버에 요청을 보내 도메인의 IP 주소를 받아온다. (예 www.example.com → 192.0.2.1)
서버 연결(TCP/IP)
IP 주소를 얻은 후, 브라우저는 해당 서버와 연결을 시도한다. 이를 위해 TCP/IP 프로토콜을 사용한다.
- TCP(Transmission Control Protocol) : 데이터가 정확하게 전달되도록 보장하는 프로토콜. 데이터가 손실되거나 순서가 엉키면 다시 전송하거나 재조합한다.
- IP(Internet Protocol) : 데이터를 패킷 단위로 나누고 목적지로 전달하는 규칙.
이 과정에서 서버는 클라이언트가 요청하는 리소스를 찾기 위해 포트 번호를 사용한다. 예를 들어, HTTP는 80번 포트를 HTTPS는 443번 포트를 사용한다.
브라우저의 렌더링
브라우저는 서버로부터 HTML, CSS, JavaScript 파일을 렌더링하여 화면에 표시한다. 이 과정에서 DOM(Document Object Model)을 생성하고, HTML을 파싱하여 웹 페이지를 시각적으로 렌더링한다.
데이터 전송
웹 애플리케이션에서는 클라이언트와 서버 간에 실시간 데이터 전송이 필요할 수 있다. 이를 위해 AJAX나 WebSocket을 사용한다.
- AJAX는 페이지를 새로 고침하지 않고 서버와 데이터를 주고받을 수 있는 기술이다.
- WebSocket은 실시간 양방향 통신을 위한 프로토콜로, 채팅, 알림, 게임 등에 사용된다.
보안(HTTPS)
데이터가 전송되는 과정에서 보안을 유지하려면 HTTPS를 사용한다. HTTPS는 SSL/TLS 암호화를 통해 데이터가 안전하게 전송되도록 한다. 이때 SSL/TLS는 서버와 클라이언트 간의 데이터를 암호화하여 중간에 누군가가 데이터를 훔치거나 변조하지 못하도록 보호한다.
세션 관리
사용자가 로그인하는 등의 상태를 유지하려면 쿠키나 세션을 사용한다.
- 쿠키는 클라이언트(브라우저)에 저장되어 서버로 다시 전송되는 작은 데이터다.
- 세션은 서버에 저장된 데이터로, 사용자가 웹사이트를 방문하는 동안 그 상태를 추적할 수 있다.
'인터넷' 카테고리의 다른 글
브라우저와 브라우저의 작동 방식 (0) | 2024.12.25 |
---|---|
호스팅 (Hosting) (0) | 2024.12.24 |
도메인 이름 (Domain Name) (0) | 2024.12.24 |
HTTP / HTTPS (0) | 2024.12.24 |