본문 바로가기
JSP/Java Script

2024_07_08_월

by 알케니브 2024. 7. 8.

오늘의 코딩순서

 


오늘의 코딩 포인트

1. JSP 개발환경

1. 웹 프로그래밍의 이해

  • 웹 브라우저의 요청을 받아 해당하는 웹페이지를 찾아서 보내주는 일을 하는 컴퓨터(일을 하는 소프트웨어)를 웹서버라고 함
  • 웹 서버는 웹브라우저로부터 URL을 받아서 그에 해당하는 HTML 문서를 찾아서 웹브라우저로 보내주는 일을 함

2. HTTP 프로토콜 개요

  • HTTP 프로토콜 : TCP/IP 를 기반으로 하여 웹에서 사용하는 프로토콜로서 요청(Request) 과 응답(Response) 데이터를 전송하는 방식
  • TCP/IP
    • 컴퓨터 사이의 통신 표준 및 네트워크의 라우팅 및 상호연결에 대한 자세한 규칙을 지정하는 프로토콜 스위트
    • 현재의 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 프로토콜의 모음
    • OSI 모델을 기반으로 실제 사용될 수 있도록 단순화된 모델
  • OSI 모형: Open Systems Interconnection, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명하기 위해 개발한 모델

3. 웹 어플리케이션

  • 웹을 기반으로 작동되는 프로그램
  • 웹서버는 HTML 문서 파일을 찾아서 보내주는 일 뿐만아니라, HTML 문서를 생성하는 프로그램을 호출해서 그 프로그램의 실행결과를 보내주는 일도 하는데, 이때 호출된느 프로그램을 웹 애플리케이션 이라고 함
  • 웹 애플리케이션이 생성하는 HTML 문서를 동적 HTML 문서라하고, 웹 서버 쪽에 파일 형태로 저장되어 있는 HTML 문서를 정적 HTML 문서라고 함
  • 정적 HTML(static HTML)
    • 웹 서버에서 미리 작성된 HTML 파일을 클라이언트에게 제공하는 방식
    • 정적 HTML 파일은 서버에 저장되어 있으며, 클라이언트가 요청할 때마다 그 내용이 변하지 않음
    • 파일 내용은 고정되어 변경되지 않고, 클라이언트에게 항상 동일한 형태로 제공
    • 웹 서버는 요청된 HTML 파일을 서버에서 바로 클라이언트에게 직접 전송함
    • 장점: 간단하고 빠르게 제공될 수 있으며, 서버의 자원을 적게 소모함
    • 단점: 정보의 업데이트나 사용자의 동적 요구에 대응하기 어려움
    • ex) 기본적인 웹 페이지, 문서, 이미지 등의 정적 콘텐츠가 포함된 페이지들
  • 동적 HTML(Dynamic HTML)
    • 클라이언트의 요청에 따라 서버 측에서 생성되거나 수정되어 제공되는 HTML 페이지
    • 요청 시 실시간으로 서버에서 데이터베이스 조회, 계산, 외부 API 호출 등을 통해 HTML을 생성함
    • 사용자의 입력이나 환경에 따라 개인화된 콘텐츠 제공하여 동적으로 콘텐츠가 변경될 수 있음
    • 장점: 웹 애플리케이션의 복잡성을 처리하고 사용자 요구를 충족시키는 데 유리함
    • 단점: 서버 측에서 처리가 필요하기 때문에 처리 시간이 길어질 수 있고, 서버 자원을 더 많이 사용할 수 있음
    • ex) 로그인 후 사용자 정보 표시, 쇼핑 카트 정보 표시, 실시간 데이터 표시 등

4.스크립트 언어

1. CGI (Common Gateway Interface)

  • CGI는 Common Gateway Interface의 약자
  • 사전적인 웹(WWW)서버와 백 앤드 프로그램 (게이트웨이라고 부름) 사이에서 정보를 주고 받는데 사용됨
  • 서비스시 자원을 많이 사용하는 단점이 있음

2.ASP(Active Server Page)

  • ㅇMicrosoft사에서 만들어진 ASP는 비쥬얼 베이직이라는 언어에서 사용되는 문법들을 사용하여 동적 컨텐츠를 만들어내기 위한 기술
  • ASP 는 ActiveX란 컴포넌트를 직접 사용할 수 있으며, 그러한 컴포넌트를 개발하기 위한 기능도 제공함
  • 특정 웹 서버와 OS(운영체제)에 동작한다는 단점을 가지고 있으며, Windows 플랫폼에서 웹 서버로 IIS(Internet Information Server)만을 사용함

3.PHP(Personal HomePage tools, Professional Hypertext Preprocessor)

  • ASP와는 달리 특정 영역에서만 동작하지 않고, C 언어의 문법과 유사하기 때문에 기존 개발자들의 접근이 쉬움
  • 적은 명령어로 프로그래밍이 가능하게 되어있기 때문에 편리성이란 측면에서 많은 이점이 있으나,
    많은 요구들에 대한 PHP가 지원해주는 기능들이 미약함. (컴포넌트의 문제등)

4.Servlet/JSP

  1. Servlet(Server + Applet) : Sun 사에서 내놓은 기술로서 Java라는 언어를 기반으로 하여 동적인 컨텐츠를 생성하는 기술, Java 코드안에 HTML 태그가 혼재되어 있어서그 효율성이 떨어짐
  2. JSP: JSP 또한 Java 라는 언어를 기반으로 하여 만들어진 것이지만, ASP, PHP처럼 동적 컨텐츠를 생성하기 위해 스크립트 언어형식으로 프로그램 을작성할 수 있어 개발자에게 쉬운 개발을 할 수 있게 함
    사용자가 직접 태그를 정의해서 사용할 수 있는 사용자 정의 태그를 지정할 수 있는 기능을 갖고 있음

 

 

5. 웹서비스

구성요소 역할 주요제품
웹 서버 - 웹 브라우저의 요청을 받아서 결과를 웹 브라우저에 전송하는 역할 프로그램 처리가 필요하면 애플리케이션 서버를 사용하거나 프로그램을 호출해서 처리
- HTML, CSS, 자바스크립트를 웹 브라우저에 제공
아파치
애플리케이션 서버
(웹 컨테이너)
기능을 실행하고 그 결과를 응답으로 웹 서버에 전달 톰캣, 웹로직, Jboss
데이터베이스 데이터를 저장하는 역할 오라클, MySQL, MSSQL
통합개발 환경 코딩하고 실행할 수 있는 에디터와 컴파일러를 연결시켜 주는 S/W Eclipse(J2EE 버전)
EditPlus

6. JSP의 개요⭐⭐⭐⭐⭐

1. HTTP프로토콜과Servlet동작원리

  1. HTTP 프로토콜: HTTP은 비 연결(Connectionless: 클라이언트의 요청에 응답한 후 바로 연결을 끊음)과
    비 상태(Stateless: 서버의 상태가 어떤지 간에 상관없이 요청을 함)의 특징을 가짐
  2. HTTP method⭐⭐⭐⭐⭐ (면접 필수 질문!!!)
    • Get -http header에 정보를 실어보냄
    • default Start-line 의url 뒤에 붙음
    • 전달속도가 빠르지만 4K가한계
    • 적은 양의 데이터를 전송시 좋음
    • Browser마다Size 다름
    • Post -http의 body에 정보를 실어보냄
    • 데이터 사이즈의 제한이 없음
    • 보안에좋음

2. JSP: Servlet의 단점을 보완하기 위한 스크립트 방식의 표준

  1. 자바언어를 기반으로 하는 스크립트 언어로 자바가 제공하는 모든 기능 사용 가능
  2. HTTP와 같은 프로토콜에 따라 클라이언트의 요청을 처리하고 응답
  3. HTML, XML, JSON 등 클라이언트가 요청한 문서를 생성하는데 주로 이용
  4. Servlet/EJB 등의 Enterprise 기술 등과 융합이 원할
  5. 표현언어, 표현식, 스크립트등 다양한 스크립트 요소와 태그 등을 제공함으로 웹 애플리케이션을 프로그래밍할 수 있도록 해줌
  6. 자바언어를 기반으로 하기 때문에 플랫폼에 독립적
  7. 스프링이나 스트럿츠와 같은 프레임워크와 완벽하게 연동되며 EJB와도 연동 Servlet에서 사용하는 모든 코드 사용 가능

7. Web Programming

  • 정의: 웹 어플리케이션을 구현하는 행위
  • 프로토콜(Protocol): 네트워크상에서 약속한 통신규약 ==> 기본적인 프로토콜 이름들이므로 암기하기!
    • Http(Hyper Text Transfer Protocol): 웹에서 데이터를 주고받는 서버-클라이언트 모델의 프로토콜, 쉽게 설명하자면 웹 브라우저가 서버와 통신하는 규칙
    • FTP(File Transfer Protocol): 한 컴퓨터에서 다른 컴퓨터로 파일을 효율적으로 전송하도록 설계된 네트워크 프로토콜
    • SMTP(Simple Mail Transfer Protocol): 인터넷을 통해 이메일 메시지를 보내고 받는 데 사용되는 통신 프로토콜
    • POP(Post Office Protocol): mail 서버를 액세스하여 e-mail을 수신하기 위한 프로토콜
    • DHCP( Dynamic Host Configuration Protocol ): 해당 IP(인터넷 프로토콜) 주소와 기타 관련 구성 정보(예: 서브넷 마스크 및 기본 게이트웨이)를 IP 호스트에 자동으로 제공하는 클라이언트/서버 프로토콜

↓↓↓ 아래 세가지는 기본적으로 암기하고 있어야함!!!

  • ⭐⭐⭐⭐⭐IP : 네트워크 상에서 컴퓨터를 식별할 수 있는 주소
  • ⭐⭐⭐⭐⭐ DNS (Domain Name System) : IP 주소를 인간이 쉽게 외우도록 맵핑한 문자열
  • ⭐⭐⭐⭐Port : 컴퓨터 사이에서 데이터를 주고받을 수 있는 통로
    IP 주소가 컴퓨터를 식별할 수 있게 해준다면, Port번호는 해당 컴퓨터의 구동되고 있는 프로그램을 구분할 수 있는 번호, 즉 하나의 서버에서 어플리케이션을 구별하기 위한 식별번호
    우리가 이용하는 인터넷상의 모든 서비스는 IP 주소와 함께 포트 번호까지 지정해야 제대로 요청을 전달할 수 있음


수업교재

 


현장과제

 


오늘의 숙제

'JSP > Java Script' 카테고리의 다른 글

2024_07_10_수  (0) 2024.07.10
2024_07_09_화  (0) 2024.07.09
2024_06_21_금  (0) 2024.06.21
2024_06_20_목  (0) 2024.06.20
2024_06_19_수  (0) 2024.06.19