웹 프로그래밍 개념 (Web Programming)

2023. 9. 19. 21:19·2023-02 몰입형 SW 정규 교육
728x90


Web Programming 언어

 

 

 


 

 

 

Web Programming이란?

 

클라이언트와 웹 서버간 request(요청)과 response(응답)을 주고 받는 행위를 말합니다.

* request는 클라이언트가 서버에게 요청을 보내는 행위
* response는 서버가 클라이언트에게 응답을 보내는 행위

 

 

 

Web Programming 언어 종류

 

CGI (Common Gateway Interface)

ASP (Active Server Page)

PHP (Personal Homepage Tools)

JSP (Java Server Page)

 

 

 

CGI (Common Gateway Interface)이란?

 

응용 프로그램과 웹 서버 사이의 정보를 주고 받는 방식이나 규약들을 정해놓은 것을 말합니다.

 

- 초기 웹 프로그래밍에 사용된 기술입니다.

- CGI는 프로세스 단위로 실행되기 때문에 사용자가 증가하면 성능이 저하됩니다.

등장배경
정적인 html 방식으로는 동적인 웹 페이지를 만들기 어렵기 때문에 서버 측에서 동적인 데이터를 처리해 클라이언트에서 html 문서로 전송해줄 수 있는 응용 프로그램의 필요성이 드러났고 이때 나온 게 CGI입니다.

 

 

 

ASP (Active Server Page)란?

 

Microsoft사에서 동적인 웹 페이지의 구현을 위해 Visual Basic 언어를 기반으로 만들어진 웹 프로그래밍 기술입니다.

단점
- 플랫폼에 비독립적입니다.
- 다른 언어에 비해 시스템 자원의 효율성과 확장성이 떨어집니다.

 

 

 

PHP (Personal Homepage Tools)란?

 

ASP와 유사한 스크립트 기반의 언어이지만, ASP와는 다르게 C를 기반으로 만들어진 언어이기 때문에 속도가 빠르다는 장점이 있습니다.

단점
- 서버측 지원이 부족하고 기업형의 복잡한 시스템 구조에 적용하기가 어렵습니다.
- JSP에 비해 보안상의 약점을 가지고 있습니다.

 

 

 

JSP (Java Server Page)란?

 

자바를 이용하여 동적인 웹 페이지를 만들기 위해 Sun사가 개발한 기술입니다.

 

- 서버페이지에서 쉽게 작성할 수 있고, 서블릿(servlet)과 함께 구동함으로써 서블릿의 기능을 사용할 수 있고 자바빈즈, EJB와 같은 기술로 보다 강력한 객체지향적 지원이 가능합니다.

- 대규모 프로젝트에 용이합니다.

 

# JSP 특징
① 강력한 이식성
- JVM을 이용한 자바 언어의 특성상 어떤 운영체제에서도, 어떤 JSP 컨테이너에서도 사용이 가능하므로 한 번 작성한 코드를 별다른 수정 없이 다른 플랫폼으로 얼마든지 이식이 가능합니다.

② 서버 지원의 효율적인 사용
- Thread 기반의 아키텍처를 사용하여 서버 자원을 효율적으로 관리할 수 있습니다.

③ 간편한 MVC(Model - View - Controller) 패턴 적용
- JSP(View)와 자바빈즈(Model) 그리고 서블릿(Controller)를 이용해 쉽게 구현할 수 있습니다.

④ JSTL, 커스텀 태그 등을 이용하여 개발 용이성
- JSP의 문제점은 문서 내에 자바 형식의 문법과 태그 형식의 html 문법이 같은 페이지 내에 존재하기 때문에 JSP 문서의 코딩 양이 많아질수록 가동성이 떨어집니다.
- 하지만 JSP 2.0 이후로 JSTL(JSP Standard Tag Library)과 커스텀 태그에 대한 지원이 강화됨으로써 자바 형식의 문법을 태그 라이브러리 파일로 만들어서 태그만으로 구성할 수 있게 만드는 기능이 강력해졌습니다.

 

 

 

서블렛(Servlet)이란?

 

브라우저는 기본적으로 html형식의 문서만을 표시할 수 있기 때문에 사용자의 요구에 맞는 동적 웹 페이지의 표시에 한계점을 가지고 있습니다. 그러므로 웹 서버 측에서 사용자의 요구에 따라 자동으로 변화된 html 형식의 페이지를 생산해 전송해 줄 수 있는 여러 기술이 개발되었고 그 중 자바 진영의 기술이 서블릿입니다.

 

- 서블릿은 기본적으로 자바의 모든 api를 그대로 사용할 수 있습니다.

 

 import java.~;


- 강력한 객체지향성등 자바의 모든 장점을 계승하고 있습니다.

728x90
저작자표시 비영리 변경금지 (새창열림)

'2023-02 몰입형 SW 정규 교육' 카테고리의 다른 글

[JSP] JSP 지시어(Directive), 액션 태그(Action Tag)  (0) 2023.09.21
[JSP/Servlet] 회원가입  (0) 2023.09.20
[JavaScript] 회원가입 예제 (정규표현식 미사용)  (0) 2023.09.19
[JavaScript] 정규표현식을 사용한 회원가입 예제  (0) 2023.09.18
[JavaScript] 정규표현식  (0) 2023.09.18
'2023-02 몰입형 SW 정규 교육' 카테고리의 다른 글
  • [JSP] JSP 지시어(Directive), 액션 태그(Action Tag)
  • [JSP/Servlet] 회원가입
  • [JavaScript] 회원가입 예제 (정규표현식 미사용)
  • [JavaScript] 정규표현식을 사용한 회원가입 예제
gxxg
gxxg
함께 일하고 싶은 개발자를 꿈꾸는 예비개발자의 공부 기록
  • gxxg
    공공
    gxxg
  • 전체
    오늘
    어제
    • 분류 전체보기 (138)
      • ☁️ 구름 x 카카오 Deep Dive 풀스택 (7)
        • html, css (1)
        • Java (3)
        • 스프링 MVC (0)
      • 💻 코딩테스트 (89)
        • 백준 (2)
        • programmers (87)
      • SQLD (1)
      • Language (3)
        • Java (2)
        • JavaScript (1)
      • Style Sheet (0)
        • CSS (0)
        • SCSS & SASS (0)
      • DBMS (2)
        • Oracle (2)
        • MySQL (0)
        • postgresql (0)
        • 데이터베이스 기초 이론 (0)
      • React (0)
      • SpringBoot (0)
      • JSP (2)
      • 알고리즘 (0)
      • 2023-02 몰입형 SW 정규 교육 (24)
        • 9월 프로젝트 (8)
      • 벽돌깨기 (4)
      • Etc (4)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Lv2
    2단계
    programmers
    3단계
    티스토리챌린지
    자바
    DFS
    springboot
    eclipse
    구현체
    오블완
    JSP
    코딩테스트
    junit 테스트
    HTML
    이클립스
    Lv0
    POST
    CSS
    프로그래머스
    LV3
    java
    0단계
    프로젝트 구조
    spring
    코테
    톰캣
    javascript
    회원 관리 시스템
    자바스크립트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
gxxg
웹 프로그래밍 개념 (Web Programming)
상단으로

티스토리툴바