All Articles

컴퓨터 네트워크 강의 - 14장. 웹(www) (1) 웹서비스 구조

학습 목표

  • 웹 서비스를 위한 클라이언트-서버 구조 이해
  • 웹 서비스를 지원하는 APM(Apache, PHP, MySQL) 연동 방식 이해

웹 서비스 개요

  • 전 세계적으로 TCP, UDP, SCTP 포트 80으로 지정

    • 보안을 위해 8000, 8080 등을 이용하기도 함
    • 보안이 강화된 HTTPS(HTTP over TLS/SSL)은 TCP, UDP, SCTP 포트 443 이용
  • 웹 브라우저는 http 또는 https 서비스에 지정된 포트를 통해 서버와 연결 시도

    • 다양한 웹 브라우저로 접속 가능
  • 웹 서버와 연결이 되면 클라이언트의 정보 요구에 대해 서버가 웹 문서 회신
  • 사용자 요구마다 연결 설정과 해제 반복

클라이언트-서버 모델

URL (Uniform Resource Locator)

  • 서버의 자원 명칭. 자원 위치를 지정
  • 사용하는 프로토콜, 서버 호스트 이름, 서버 내부 파일 경로명으로 구성
  • 예) https://blog.naver.com/account (https - 프로토콜, blog.naver.com - 호스트 이름, account - 내부 파일 경로명)
  • UNIX/Linux 시스템

HTTP (HyperText Transfer Protocol)

연결 설정과 해제

  1. 사용자가 웹 브라우저에 웹 서버 URL 주소 입력
  2. 웹 브라우저가 DNS 서버에게 웹 서버 호스트 이름을 IP 주소로 변경할 것을 요청
  3. IP 주소 + 포트 80번인 웹 서버와 TCP 접속 시도
  4. 웹 서버에게 최초 화면 구성을 위한 GET 요청 전송
  5. 웹 브라우저가 요청한 웹 문서를 웹 서버에서 회신
  6. 웹 브라우저와 웹 서버 사이 연결 해제
  7. 웹 브라우저가 사용자 화면에 웹 문서 출력

웹 서비스 작동 원리

APM

Apache

  • 웹 서버 프로그램
  • 대응 프로그램: MS의 IIS(Internet Information Services) 등

PHP

  • UNIX/Linux 환경에서 지원되며, HTML 언어 기능을 보강
  • 대응 언어: MS의 ASP(Active Server Page), Java 언어 기반 JSP(Java Server Pages) 등

MySQL

  • 데이터베이스 기능 지원
  • 대응 DB: Oracle DB, MariaDB

APM 동작 원리

  1. 웹 브라우저가 Apache에 웹 문서 요청
  2. PHP 코드 처리 필요 시 PHP에 요청
  3. 데이터베이스 처리 필요 시 MySQL에 요청
  4. 데이터베이스 결과 회신
  5. PHP가 실행 결과인 HTML 코드 회신
  6. 웹 문서를 웹 브라우저에 회신

APM 동작 원리

PHP 코드 처리 방식

  • PHP 코드는 HTML 문서에 Embeded 형식으로 작성
  • <??>이 구분자
  • PHP 코드가 포함된 문서 확장자는 .php
  • 웹 브라우저에 회신되는 내용: PHP 코드는 서버에서 실행되고 그 결과 코드만 회신
<HTML>
  <BODY>
    <? $value = 10; ?>
    출력<br>
    <? echo $value; ?>
  </BODY>
</HTML>

결과 코드

<HTML>
  <BODY>
    출력<br>
  </BODY>
</HTML>