1장 웹프로그래밍의 이해

Hyun·2022년 9월 27일

1장 웹 프로그래밍의 이해

1.1 웹과 인터넷

인터넷:

  • 다수의 컴퓨터를 연결시킨 네트워크 (하드웨어적 개념)
  • APPANET이 시초(러시아의 인공위성 발사 성공에 위협을 느낀 미국방성에서 국방성, 연구소, 대학교를 연결)

웹:

  • 월드 와이드 웹(World Wide Web)
  • 인터넷에서 동작하는 서비스 중 하나(소프트웨어적 개념)
  • 하이퍼링크 지원

1.2. HTTP

  • 웹은 클라이언트 - 서버 구조
  • 클라이언트(브라우저), 서버(웹 서버)가 동작
  • 웹 서비스에 이용하는 프로토콜

HTTP(Hyper-Text Transfer Protocol) 특징:

  • 통신을 위해서 사용
  • Hyper-Text, 즉 HTML 문서를 전송하기 위한 프로토콜
  • HTML 문서를 요청하고 응답 받기 위한 통신규약 (요청과 응답으로 이루어짐)
  • 문서 요청 과정에서 url 이용

URL(Uniform Resource Location):

  • HTML 문서의 주소
  • URL = [1. 프로토콜] :// [2. 서버주소] : [3. 포트번호] / [4.파일경로]
    • 프로토콜: http 또는 https (보통 자동으로 http 추가)
    • 서버주소: 숫자 형식의 IP 주소 (ex. www. naver.com)
    • 포트번호: 80번 (운영 체제에서 네트워크 서비스나 특정 프로세스 식별을 위한 논리적 단위)
    • 파일경로: 서버 내 웹 페이지가 위치한 디렉토리 주소(옵션, 디폴트는 index.html)
      요청 파일이 없을시 404 에러 제출

1.3. 동적 웹 프로그래밍

Static Web vs. Dynamic Web

  • 초창기 웹은 HTML 문서만 보여주는 정적 웹 서비스
  • 점점 사용자 입력에 따라 페이지를 다르게 보여주기 위한 필요성 생김

동적 웹 프로그래밍 기술

  • CGI(Common Gateway Interface): 사용자 입력을 받아들이고 전송하기 위한 기본 틀, C언어가 기반이라 프로세스 이용한 요청 처리에서 한계점
  • ASP(Active Server Page) from MS: Visual Basic 기반, 스레드 이용해서 요청 처리, 비용 지불, 플랫폼에 의존적(Internet Information Server only)
  • Servlet and JSP(Java Server Page) from Sun Microsystems: 우리가 이용할 해결책
  • Java 기반이고 스레드를 이용해서 요청을 처리
  • 플랫폼에 독립적이고 무료임 -> 자주 사용한 PHP와 대중적으로 이용

1.4. JSP 처리 구조

  • JSP 프로그래밍을 위해 필요한 소프트웨어
  • 각각에 대한 개발 환경(프로그래밍 에디터 포함), 실행 프로그램 필요
  1. 웹 브라우저 (HTML 개발환경) ex. Chrome
  2. 웹 서버, JSP 컨테이너 포함 (JSP 개발환경) ex. Tomcat
  3. 데이터베이스 서버 (SQL 개발환경) ex. MySQL

0개의 댓글