웹 서버 프로그램?(JSP시작)

Lee·2023년 3월 14일
0
  • 웹 서버 프로그램이란

  • 90년대 CS의 주류에서 이젠 2000년 이후에는 급격하게
    web으로 전환이 되었으나, 두가지의 경우 서로 장단점이 있다

  • Client Server 모델

  • 간단한 구조로 되어 있다.대부분 Server에서 데이터를 처리
    하고 클라이언트는 UI를 담당한다.

  • 구조가 간단하여 속도가 좋은 특징이 있으나, 확장성은
    조금 떨어진다.

  • 장점
    -> 속도가 빠르다

  • 단점
    -> 구조상 확장의 어려움이 있다.
    -> Client 프로그램을 다운로드 받아 PC에 설치해야
    하는 배포의 번거로움
    -> 버그를 수정하여도 배포가히가 어려움
    -> 특정 OS 및 하드웨어에 종속적인

  • Socket통신
    -> 소켓통신이란 서버와 클라이언트 양방향
    연결이 이루어지는 통신으로, 클라이언트도 서버로
    요청을 보낼 수 있고 서버도 클라이언트로 요청을
    보낼수 있는 통신
    -> 클라이언트와 서버 양쪽에서 서로에게 데이터를
    전달하는 방식의 양방향 통신

1. 웹의 등장 배경

1-1. web환경

  • cs 환경이 배포가 어렵다는 단점을 보완한 모델

  • 브라우저만 있으면 어디서든 쉽게 접근 가능

    1-2. 장점

  • OS와 브라우저의 제품에 상관없이 어디서든
    동작가능

  • 수정된 부분을 쉽게 배포가 가능함

1-3.단점

  • 성능이 떨어지고, 속도가 느림.
  • 너무 다양한 기술이 접목되어 관리하기 어려움

2. HTTP 통신 ★

  • HTTP란 Hyper Text Transfer Protocol의 약자로
    HTML 파일을 전송하는 프로토콜이라는 의미를 가진다.
  • 현재는 JSON, Image 파일 등 또한 전송한다 .
  • HTTP 통신은 클라이언트에서 서버로 요청을 보내고
    서버가 응답하는 방식으로 통신이 이루어진다.
  • 응답에는 클라이언트의 요청에 따른 결과를 반환한다.
  • 클라이언트의 요청이 있을 때 서버가 응답하는 방식.
  • 단방향 통신

3. 통신 프로토콜 ★

  • 통신 프로토콜 또는 통신 규약은 컴퓨터나 원거리 통신
    장비사이에서 메시지를 주고 받는 양식과 규칙의 체계이다.
  • 통신 프로토콜은 신호 체계, 인증, 그리고 오류 감지
    및 수정 기능을 포함할 수 있다.

4. 프로토콜의 예시

  • HTTP : Hyper Text Transfer Protocol
  • HTTPS : Hyper Text Transfer Protocol Secure
  • FTP : File Transfer Protocol (파일만 업로드)
  • SFTP : Secure File Transfer Protocol
  • Telnet : Terminal NETwork
  • SSH : Secure SHell
  • SMTP : Simple Mail Transfer Protocol

5. 정적 웹 페이지 (static web pages)

  • 정적 웹 페이지는 언제 접속해도 같은 응답을
    보내줍니다.
  • 일단 HTML, CSS, JS파일 등이 서버에 업로드 되면
    개발자가 수정하기 전까지 매번 같은 파일을
    브라우저에 건네줍니다.
  • 즉, 웹 서버가 정적 웹 페이지에 대한 요청을 받은 경우
    서버는 추가적인 처리 과정 없이 클라이언트에게
    응답을 보냅니다.
  • 예를 들어 회사나 개인의 소개 페이지가
    정적 웹페이지의 좋은 예시이다.

6. 동적 웹 페이지 (dynamic web pages)

  • 웹 서버가 동적 웹 페이지에 대한 요청을 받은 경우
    서버는 추가적인 처리 과정 이후 클라이언트에게 응답을 보냅니다.
  • 동적 페이지는 방문자와 상호작용하기 때문에
    페이지 내용은 그때그때 다릅니다.
  • 댓글, 날씨, 주가정보 등과 같이 정보 변경이 잦은
    곳에 많이 사용된다.
  • 동적페이지란 요청에 대해서 각각 다른 내용을
    보여준다.
  • 사용자(클라이언트)가 URL을 통해 서버에 웹 페이지를
    요청했을 때, 서버는 사용자에 맞는 HTML 문서를 생성하여
    사용자에게 응답하게 된다.

7. 웹 호스팅

  • 웹 호스팅이란 개발자의 홈페이지(웹사이트)를 올려놓는
    인터넷상의 공간을 임대해 주는 서비스
  • 만든 홈페이지를 local PC에만 저장해놓으면
    인터넷상에서 누구나 볼수는 없습니다.
  • 이때 필요한 서비스가 웹 호스팅 서비스
  • 웹서버의 일부 공간을 할당받아, 그곳에 홈페이지
    자료를 올려놓으면 누구나 인터넷상으로 해당 페이지를
    볼 수 있다.

8. 도메인

  • 도메인은 이름이다.
  • 실제 주소 : 서울특별시 송파구 잠실6동 올림픽로 300
  • 위치 : 롯데타워
  • 실제 주소 : 125.209.222.142
  • 사이트 위치 : naver.com

9. 인터넷 주소의 체계

  • http://localhost:8080
  • http://www.facebook.com
    -> http:// 프로토콜
    -> localhost or facebook.com 도메인
    : localhost -> "자기자신"을 가르키는 특수 도메인
    : localhost -> 127.0.0.1
  • 8080
    -> 포트번호, 특정 컴퓨터에서 통신을 위해
    열려있는 문
    -> 모든 컴퓨터는 0~65536까지의 포트번호를 가지고있다.
    -> 이 포트번호를 통해서 통신이 진행될 수 있으며
    기본적으로는 모든 포트번호는 차단되어있다.
    (포트를 차단하는 역활을 하는 프로그램이
    방화벽이다.)

10. JSP란?

  • JSP는 HTML문서에 내부적으로 자바문법을 사용할 수 있게하는
    스크립트 언어이다.

11. Spring Framework란?

  • Spring은 다양한 개발을 빠르게 적용할 수 있게 만들어
    놓은 도구이다.

12. 서블릿

  • Web Server
  • HTTP 프로토콜을 기반으로 하여 클라이언트의 요청을 서비스하는
    기능을 담당
  • 클라이언트가 어떠한 요청을 하면 그에 대한 결과를 다시
    전송해 주어야 하는데, 이러한 역활을 하는 자바 프로그램이다.
  • 클라이언트가 URL을 입력하면 HTTP Request가 Servlet Container로
    전송합니다. 요청을 전송받은 Servlet Container는 HttpServletRequest,
    HttpServletResponse 객체를 생성합니다.
  • web.xml을 기반으로 사용자가 요청한 URL이 어느 서블릿에 대한
    요청인지를 찾습니다.
  • 해당 서블릿에서 service메소드를 호출한 후 클라이언트의 GET,
    POST 여부에 따라서 doGet() 또는 doPost()를 호출합니다.
  • HttpServletResponse 객체에 응답을 보낸다.
  • 응답이 끝나면 HttpServletRequest, HttpServletResponse 두 객체를
    소멸시킵니다.
profile
wow

0개의 댓글