JSP 첫번째

Park In Kwon·2022년 12월 1일
0

1. 웹서버 프로그램이란?

  • 웹 서버는 HTTP, HTTPS를 통해 웹 브라우저에서 요청하는 HTML 문서나 오브젝트(이미지 파일 등)을 전송해주는 서비스 프로그램

2. CS프로그램

2-1. Client Server 모델

  • 간단한 구조로 되어있고, 대부분 Server에서 데이터를 처리하고
    클라이언트는 UI를 담당한다.
  • 구조가 간단하여 속도가 좋은 특징이 있으나 확장성은 떨어진다.

2-2. 장점

  • 구조가 간단하여 속도가 빠르다
  • 대부분 C/C++언어로 작성되므로 속도가 좋음

2-3. 단점

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

2-4. 소켓통신

  • 소켓 통신이란 서버와 클라이언트 양방향 연결이 이루어지는 통신응로,
    클라이언트도 서버로 요청을 보낼 수 있고 서버도 클라이언트로 요청을 보낼 수 있는
    통신이다.
  • 보통 스트리밍이나 실시간 채팅 등 실시간으로 데이터를 주고 받아야 하는 경우
    Connection을 자주 맺고 끊는 HTTP통신 보다 소켓 통신이 더 적합하다.
  • 소켓 통신은 계속해서 Connection을 들고있기 때문에 HTTP통신에 비해
    많은 리소스가 소모된다.

3. Web 프로그램

3-1. web환경

  • CS환경이 배포가 어렵다는 단점을 보완한 모델
  • 브라우저만 있으면 어디서든 쉽게 접근가능

3-2. 장점

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

3-3. 단점

  • 성능이 떨어지고, 속도가 느림. 화면의 복잡도가 증가하면 더더욱 성능이 떨어짐
  • 너무 다양한 기술이 접목되어 관리하기 어려움.

3-4. HTTP 통신이란?

  • HTTP란 HyperText Transfer Protocol의 약자로 HTML파일을 전송하는
    프로토콜이라는 의미를 가진다. 웹브라우저에서 통신이 일어나며,
    초기에는 HTML파일은 전송하려는 목적으로 만들어졌으나, 현재는 JSON, Image파일 등
    또한 전송한다.
  • HTTP통신은 클라이언트에서 서버로 요청을 보내고 서버가 응답하는 방식으로
    통신이 이루어진다. 응답에는 클라이언트의 요청에 따른 결과를 반환한다.
  • 클라이언트의 요청이 있을 때 서버가 응답하는 방식의 단방향 통신.
  • 실시간 연결이 아니고, 응답이 필요한 경우에만 Sever와 연결을 맺어
    요청을 보내는 상황에 유용하다.

4. 정리

  • 자주 데이터를 주고 받는 환경이 아닌 경우 HTTP통신을 통해 받는 것이 유리하다.
  • 자주 데이터를 주고 받아야 하는 환경에서는 소켓 통신이 유리하다.
  • HTTP통신은 사용자가 서버에 요청을 보내는 단방향 통신인 반면, 소켓 통신은
    양방향 통신이다.

5. 통신 프로토콜

  • 통신 프로토콜 또는 통신 규약은 컴퓨터나 원거리 통신 장비사이에서 메시지를
    주고 받는 양식과 규칙의 체계이다.
  • 통신 프로토콜은 신호 체계, 인증, 그리고 오류 감지 및 수정 기능을 포함할
    수 있다.
  • 프로토콜은 형식, 의미론, 그리고 통신의 동기 과정 등을 정의하기는 하지만
    구현되는 방법은 독립적이다.

6. 프로토콜의 예시

  • HTTP : Hyper Text Transfer Protocol
  • HTTPS : Hyper Text Transfer Protocol Secure
  • FTP : File Transfer Protocol
  • SFTP : Secure File Transfer Protocol
  • Telnet : TerminaL NETwrok
  • SMTP : Simple Mail Transfer Protocol
  • SSH : Secure SHEll
  • SSL : Secure Socket Layer

7. 정적 웹 페이지(Static web pages)

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

8. 동적 웹 페이지(Dynamic web pages)

  • 웹 서버가 동적 웹 페이지에 대한 요청을 받은 경우 서버는 추가적인 처리 과정
    이후 클라이언트에게 응답을 보냅니다.
  • 동적 페이지는 방문자와 상호작용하기 때문에 페이지 내용은 그때그때 다릅니다.
  • 댓글, 날씨, 주가 정보 등과같이 정보 변경이 잦은 곳에 많이 사용됩니다.

9. 웹 호스팅이란?

  • 인터넷상의 공간을 임대해 주는 서비스이다.
  • 만든 홈페이지를 PC에만 저장해놓으면 인터넷상에서 누구나 볼수 없습니다.
  • 웹서버의 일부공간을 할당받아, 그곳에 홈페이지 자료를 올려놓으면 누구나
    인터넷상으로 해당 페이지를 볼 수 있다.

10. 도메인

  • 도메인은 이름. 것물을 짓는다고 치면 건물명에 해당한다.

  • 가고자 하는 곳 : 롯데타워

  • 실제 주소 : 서울특별시 송파구 잠실6동 올림픽로 300

  • 실제 가고자 하는 사이트 주소 : naver.com

  • 실제 주소 : 125.209.222.142

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

첫번째. tomcat 설치

두번째. 포트 검색

netstat -nao | findstr 8080
-> 8080포트가 사용중인지를 검색

세번째. 서버접속

http://localhost:8081/
http://localhost:8081/day01/index.html

profile
개발자로 진로 변경을 위해 준비하고 있습니다

0개의 댓글