JSP 1일

정해랑·2024년 2월 16일
  1. Client - Server 모델
  • 간단한 구조로 되어 있으며, 대부분 Server에서 데이터를 처리하고 클라이언트는 UI를 담당한다.
  • 구조가 간단하여 속도가 좋은 특징이 있으나 확장성은 조금 떨어진다.

1-1. 장점

  • 구조가 간단하여 속도가 빠르다

1-2. 단점

  • 구조상 확장의 어려움이 있다.
  • Client 프로그램을 다운로드 받아 PC에 설치해야 하는 배포의 번거로움이 있다.
  • 버그를 수정하여도 배포하기 어렵다.
  • 특정 OS 및 하드웨어에 종속적이다.
  1. Socket 통신이란?
  • 소켓이란 두 프로그램이 서로 데이터를 주고 받을 수 있다.
  • 서버와 클라이언트 양뱡향 연결이 이루어지는 통신으로, 클라이언트도 서버로 요청을 보낼 수 있고, 서버도 클라이언트로 요청을 보낼 수 있는 통신이다.
  • 클라이언트와 서버 양쪽에서 서로에게 데이터 전달을 하는 방식의 양뱡향 통신이다.
  1. Web환경
  • CS환경이 배포가 어렵다는 단점을 보완한 모델
  • 브라우저만 있으면

3-1. 장점

  • OS와 브라우저의 제품에 상관없이 어디서든 동작이 가능하며 수정된 부분을 쉽게 배포가 가능하다.

3-2. 단점

  • 성능이 떨어지고, 속도가 느리다. 화면의 복잡도가 증가하면 더더욱 성능이 저하된다.
  1. HTTP 통신이란?
  • Hyper Text Transfer Protocol 의 약자로, HTML 파일을 전송하는 프로토콜이라는 의미를 가진다. 웹 브라우저에서 통신이 일어나며, 초기에는 HTML 파일을 전송하려는 목적으로 만들어 졌으나, 현재는 JSON, Image 파일 등 또한 전송한다.
  • HTTP통신은 클라이언트에서 서버로 요청을 보내고 서버가 응답하는 방식으로 통신이 이루어진다. 응답에는 클라이언트의 요청에 따른 결과를 반환한다.
  • 이로인해, 클라이언트의 요청이 있을 때 서버가 응답하는 방식. 단방향 통신
  1. 정리
  • 자주 데이터를 주고 받는 환경이 아닌 경우 HTTP통신을 통해 받는 것이 유리하다
  • 자주 데이터를 주고 받아야 하는 환경에서는 소켓 통신이 유리하다.
  • HTTP는 단방향 통신이고 소켓통신은 양방향 통신이다
  1. 통신 프로토콜이란?
  • 통신 프로토콜 또는 통신 규약은 컴퓨터나 원거리 통신 장비 사이에서 메세지를 주고 받는 양식과 규칙의 체계이다.
  • 통신 프로토콜은 신호 체계, 인증, 그리고 오류 감지 및 수정 기능을 포함할 수 있다. 프로토콜은 형식, 의미론, 그리고 통신의 동기 과정 들을 정의하기는 하지만 구현되는 방법은 독립적이다. 이 때문에 프로토콜은 하드웨어 또는 소프트웨어 그리고 때로는 모두를 사용하여 구현되기도 한다.
  1. 프로토콜의 예시
  • HTTP
  • HTTPS : Hyper Text Transfer Protocol Secure
  • FTP : File Transfer Protocol
  • SFTP : Secure FTP
  • Telnet : TErminaL NETwork
  • SMTP : Simple Main Transfer Protocol
  • SSH : Secure Shell
  • SSL : Secure Socket Layer
  1. 정적 웹 페이지(static web pages)
  • 정적 웹 페이지는 언제 접속해도 같은 응답을 보내준다.
    HTML,CSS,JS 파일 등이 서버에 업로드 되면 개발자가 수정하기 전까지 매번 같은 파일을 브라우저에 건네준다.
  • 즉, 웹 서버가 정적 웹 페이지에 대한 요청을 받은 경우 서버는 추가적인 처리 과정 없이 클라이언트에게 응답을 보냅니다. 예를 들어 회사나 개인의 소개 페이지가 정적 웹 페이지의 좋은 예시이다.
  1. 동적페이지 ( dynamic web pages )
  • 웹 서버가 동적 웹 페이지에 대한 요청을 받은 경우 서버는 추가적인 처리 과정 이후 클라이언트에게 응답을 보냅니다. 동적 페이지는 방문자와 상호작용하기 때문에 페이지 내용은 그때그때 다릅니다. 댓글, 날씨, 주가 정보 등과 같이 정보 변경이 잦은 곳에 많이 사용된다.
  1. 웹 호스팅
  • 웹 호스팅이란 고객들의 홈페이지(웹사이트를)올려 놓을 인터넷상의 공간을 임대해 주는 서비스
  • 만든 홈페이지를 PC에만 저장해 놓으면 인터넷상에서 누구나 볼 수는 없다.
  • 이 때 필요한 서비스가 웹호스팅 서비스이다. 웹 서버의 일부종간을 할당받아, 그곳에 홈페이지 자료를 올려놓으면 누구나 인터넷상의 홈페에지를 볼 수 있다.
  • 웹호스팅이란 다세대가 거주하는 빌라(웹서버)의 방한칸(홈페이지가 들어갈 공간)을 임대하여 사용하는 서비스라고 보면 된다.
  1. 도메인
    도메인 = 건물명이라고 생각하면 된다
    실제주소 : 서울특별시 송파구 잠실6동 올림픽로 300
    위치 : 롯데타워
    실제주소 : 124.209.222.142
    위치 : naver.com

  2. 인터넷 주소 체계
    http://www.naver.com:80/news/index.php
    http://localhost:8080/index.jsp

  • 프로토콜 : 통신 방식의 종류
    -> http:// (웹), ftp://(파일전송), telnet://(터미널 통신)
  • 도메인 : 특정 컴퓨터에 접속하기 위한 주소
    -> 도메인은 WhoIS와 같은 도메인 등록기관을 통하여 일정 기간 동안 사용료를 지불하고 임대해야 한다
    -> localhost는 모든 컴퓨터가 "자기 자신"을 가리키는 특수 도메인이다.
  • 포트번호 : 특정 컴퓨터에 통신을 위해서 열려 있는 문
    -> 모든 컴퓨터는 0~65535까지의 포트 번호를 가지고 있다
    -> 이 포트번호를 통하여 통신이 진행될 수 있으며 기본적으로 모든 포트번호는 차단되어 있다.
    ( 포트를 차단 및 등록하는 역할을 하는 프로그램이 방화멱이다 )
  1. WAS
  • tomcat
  1. 서블릿
  • 클라이언트 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술이다.
  • 간단히 말해서, 서블릿이란 자바를 사용하여 웹을 만들기 위해 필요한 기술이다. 좀 더 설명하면 클라이언트가 어떠한 요청을하면 그에 대한 결과를 다시 전송해주어야 하는데, 이러한 역할을 하는 자바 프로그램이다.
  1. 웹 컨테이너(web contatiner)란?
  • 웹 서버가 보낸 jsp, php 등 파일들을 실행하고 수행 결과를 다시 웹 서버로 보내주는 역할을 한다.
  • 결국 웹 어플리케이션 서버는 웹 허버로 요청을 받고, 이를 웹 컨테이너로 보내 로직을 수행하고 그 결과를 다시 웹 서버로 보내 최종적으로 클라이언트에게 보내주는 것.

0개의 댓글