본문 바로가기

Studying/Network

초창기 웹 서비스 구조 (웹 서비스 작동 원리 #1) - 네트워크 기초 이론 (10/38)

[ 문서를 다루는 S/W = 자료구조 + UI + 제어 ]
- 프로그램 개발 방법론은 많지만, 기능을 모듈화 해야 하는 건 동일
- 모듈화의 최소한의 규칙
- 유지보수 편의성

HTTP

  • 버전 1.0 -> 1.1 -> 2.0 -> 3.0 (2022년 기준)
  • 1.1 구형이 현재까지도 제일 많이 사용되며, 2.0으로 빠르게 넘어가는 중
  • 가장 큰 특징은 Stateless

초기의 웹 서비스

웹의 3대 구성요소

  1. Web client (Browser)
  2. Internet (Public network)
  3. Web server

=> Client-Server Model

- 웹 설계 시 TCP/IP 통신을 전제, 즉 두 통신 주체(클라이언트-서버) 간 TCP/IC 연결이 되어 있다고 가정

물론, 이 연결이 유지되지는 않는다.
TCP 연결은 상태의 개념을 포함하지만, 그 위에서 작동 중인 HTTP는 상태의 개념이 없기 때문이다.
이는 훗날 문제를 야기하고, 변화를 발생시킨다.

웹 통신

  1. 브라우저 주소창에 URL(Uniform Resource Locater) 입력
  2. DNS(Domain Name Service)가 URL을 IP주소로 변환
  3. TCP/IP 연결, HTTP 프로토콜 작동
  4. http.request.method == GET (웹 클라이언트에서 리소스 요청)
  5. http.response (웹 서버에서 응답) => HTML 문서 전송
  6. 브라우저의 Parser가 Parsing
  7. 브라우저의 Rendering Engine이 Rendering
- 웹 클라이언트와 웹 서버 둘 다 고유의 IP주소를 가진다.
- HTML 문서를 Reousre로 본다.
- 웹 클라이언트 입장에서 GET은 Read
- 브라우저는 웹 서버한테 문서를 받으면 화면 전환을 위해 HTML 문서 내용을 읽어야 한다. 그런데 HTML 문서는 기존 텍스트 파일과 달리 태그가 존재한다. 그래서 브라우저는 HTML 문서를 가져오자마자 Parsing(구문 분석)을 하여 비선형 트리 구조의 자료구조를 생성하고, 이 자료 구조를 화면에 Rendering(출력)한다.

HTTP 1.0 브라우저란, '원격지' 문서 뷰어




출처: https://youtu.be/4 Sfned8 HLzk