주난v 개발 성장기

Servlet ? JSP ? (Head First Servlet & JSP) 본문

개발 성장기/Servlet

Servlet ? JSP ? (Head First Servlet & JSP)

주난v 2019. 11. 16. 20:02

학습목표

웹 클라이언트 - 웹 서버간의 커뮤니케이션에 대해서 알아보자.

목표

더 이상 코더가 아닌 개발자로 성장하고 싶다.
웹의 동작, 라이프 사이클, 스레드 관리 등에 대해 알아보자.

웹 서버는 무슨 일을 하는가?

단순하게 보면 클라이언트의 요청을 받아서, 응답을 내려주는 역할을 한다.

웹 클라이언트는 무슨 일을 하는가?

서버에게 요청을 보내고, 결과를 화면에 출력하는 역할을 한다.

Http 프로토콜이란?

프로토콜 : 서버와 대화하기 위해 사용하는 커뮤니케이션(ex. http)
Http는 TCP / IP 기반으로 한 지점에서 다른 지점으로 요청과 응답을 전송한다.
요약 : 요청과 응답의 끊임 없는 주고 받음.

GET

요청 : URL 뒤에 파라미터로 붙는다. & 이용
단점 : 화면에 파라미터가 다 보이고, 글자 수 제한이 있다.

POST

서버로 보내는 Form 데이터를 메시지 몸체(Message Body), 짐(Payload)라고 부른다.

Http 응답을 분해

응답 : 헤더 + 몸체(ex, html)
헤더 : 사용된 프로토콜, 요청 성공 여부
몸체에 포함된 컨텐츠의 종류는 무엇인지(content-type == mime type)
> 이러한 형식의 데이터를 보내려고 하니, 화면에 보여줄 준비를 해라!

웹 서버

정적인 페이지 서비스를 제공(단지 파일만 찾아서 제공, css / js 주로 제공)
클라이언트 요청 -> 웹 서버 -> 동일 서버 상의 다른 애플리케이션 (도우미 어플리케이션)-> 웹 어플리케이션
도우미 어플리케이션 = CGI 프로그램

서블릿(Servlet)

서블릿 : 순수 자바 코드, 자바 코드 안에서 HTML을 그린다.
서블릿은 한번만 구동된다. 요청이 올 때마다 스레스가 생성

 

Tip )

  • FTP - 21, Telnet - 23, SMTP - 25
  • Https - 443, Http - 80
  • POP3 - 110