• Home
  • About
    • Yerim Oh photo

      Yerim Oh

      Happy and worthwhile day by day :)

    • Learn More
    • Email
    • LinkedIn
    • Instagram
    • Github
    • Youtube
  • Posts
    • All Posts
    • All Tags
  • Projects

[018] Computer Network: 웹 서비스

19 Feb 2021

Reading time ~2 minutes

Table of Contents
  • 목차
  • 웹 서비스 개요
  • 클라이언트-서버 모델
    • URL (Uniform Resource Locator)
    • 일반 사용자가 홈페이지를 만드는 법
    • 클라이언트와 서버 사이의 데이터 전송 과정

목차

  • 웹 서비스 개요
  • 클라이언트-서버 모델
    • URL (Uniform Resource Locator)
    • 일반 사용자가 홈페이지를 만드는 법
    • 클라이언트와 서버 사이의 데이터 전송 과정

웹 서비스 개요

전 세계적으로 웹 WWW, World Wide Web 서버의 TCP 포트 번호는 80번으로 지정되어 있다.
1) 클라이언트에 해당하는 웹 브라우저 Web Browser 는 이 포트 번호를 이용해 서버와 연결을 시도함
2) 웹 서버와 연결이 설정되면, 클라이언트의 정보 요구에 대해 서버가 웹 문서를 회신하는 방식으로 응답한다.
3) 서버가 전송한 문서 내용은 클라이언트의 웹 브라우저를 통해 사용자 화면에 표시됨
4) 클라이언트와 서버 사이의 연결은 사용자의 정보 요구가 발생할 때마다 새로운 연결을 설정 하고 해제하는 과정을 반복
➡ 서버가 제공하는 정보의 전송: TCP 연결에 의해 이루어짐.
➡ 웹 문서의 전송이 완료되어 사용자가 웹 브라우저로 보는 시점: TCP 연결이 이미 해제된 상태이다.



클라이언트-서버 모델

클라이언트와 서버의 연결 설정, 해제 과정은 사용자가 URL 주소를 새로 입력할 때마다 반복됨
이 과정에서 화면에 표시하려는 내용 중 사진 같은 멀티미디어 데이터가 존재하면 클라이언트는 해당 사진을 보관하는 서버와 추가로 TCP 연결을 설정함.

URL (Uniform Resource Locator)

의미: 클라이언트가 웹 서버를 지칭할 때 사용하는 주소이다.

[URL 주소의 표현]
세 부분으로 표현함

  • 사용하는 프로토콜
  • 연결하고자 하는 서버의 호스트 이름
  • 서버 내부의 파일 경로명

예를 들어 아래의 URL주소를 분석해 보면,
http://www.yerim.co.kr/welcome.html

  • http라는 프로토콜을 사용하여
  • www.yerim.co.kr이라는 웹 서버에 존재하는 welcome.html 파일을 요청한다.

일반 사용자가 홈페이지를 만드는 법

웹 서버가 유닉스나 리눅스 시스템에 구현되었다는 전제하에,
1) 홈 디렉토리 밑에 public_html 디렉토리를 만듦
2) 이곳에 index.html이라는 파일을 기본 웹 문서로 작성한다.

예를 들어,
http://www.yerim.co.kr/~oh

  • 로그인 이름이 oh이면
  • oh 사용자의 홈 디렉토리에 위치한 public_html/index.html 문서는 다음과 위의 URL 주소를 입력하여 볼 수 있음.
  • HTTP (HyperText Transfer Protocol): 클라이언트의 요청과 서버의 응답 정보를 전송하기 위한 목적으로 구현된 프로토콜이다.

클라이언트와 서버 사이의 데이터 전송 과정

1) 사용자가 http://www.yerim.co.kr/welcome.html 형식의 URL 주소를 입력하면,
2) 서버의 호스트 이름인 www.yerim.co.kr을 DNS 서버에 전송하여 IP 주소를 얻어냄.
3) 이후 IP 주소와 Well-known 포트인 80번을 사용해 웹 서버 프로그램과 TCP 연결을 시도함.
4) TCP 연결이 설정되고 클라이언트가 서버에 welcome.html 문서의 내용을 요청하면,
5) 서버가 이를 클라이언트에 회신한 후 둘 사이의 TCP 연결을 해제.
6) 클라이언트는 수신한 정보를 사용자가 볼 수 있게 웹 브라우저 화면에 표시.
➡ 따라서 사용자가 화면을 보는 시점에는 클라이언트와 서버 사이에 어떠한 전송 계층의 연결도 존재하지 않음.

일반적으로 웹 브라우저, 웹 서버, DNS 서버는 모두 다른 호스트에서 실행됨
DNS 서비스를 이용해 서버의 IP 주소를 얻는 작업은 모든 네트워크 응용 환경에서 클라이언트가 가장 먼저 실행함.

image



CS basic Share Tweet +1