Servlet을 다뤄보며(HTTP/Forward/Redirect/WAS/MVC 개념)

혀니·2024년 8월 1일
0

1. stateless

  • server는 client를 기억하지 못한다.
  • client를 기억하기 위한 다양한 기술
  • cookie, session, jwt

2. Request

  • GET, POST, PUT, DELETE

3. Response

  • 정상적인 request
    - 200
  • 비정상적인 request
    - 404: 존재하지 않은 URL 요청
    - 401, 403: 허가되지 않은 요청

4. forward / redirect

서버에서 처리하는 방식

forward

브라우저로 요청을 전달하는 것이 아니라 서버 내의 다른 리소스를 호출하는 방식

  • 요청 정보를 WAS 내 다른 리소스로 전달함
  • 요청 정보를 함께 전달
  • 페이지 이동 없이 WAS 내부에서 다른 리소스를 호출하여 Redirect보다 빠름
  • 최초 요청한 URL이 변경되지 않음

redirect

요청을 브라우저로 전달하여 새로 요청하게 만들어 두번씩 통신이 일어남

  • 요청을 Web Browser에게 전달하여 새로 요청하게 만듬
  • WAS 서버와 Web Browser 간 두번 통신이 일어나 forward보다 속도가 느림
  • 새로운 URL로 요청하여 request 정보가 기본적으로 전달되지 않음

https://dev-handbook.tistory.com/35


5. TCP/IP

1.0 -> 1.1
TCP/IP 위에 Application Protocol이 HTTP인데 1.0(TCP/IP까지 disconnect)

1.1은 HTTP만 disconnect 되고 TCP/IP 연결 유지


6. static vs dynamic content

static content

image, html, css, js 파일 등 파일로 존재

dynamic content

동적으로 만들어지는 content
ooo님 안녕하세요~ -> 사용자에 따라 동적으로 만들어야 함


Web Server vs Web Application Server(WAS)

Web Server

  • Apache
  • static content를 관리
    (ex. 이미지 등 정적 컨텐츠를 가지고 있다가 관련 클라이언트로부터 관련 요청이 들어오면 파일 I/O를 해서 바로 보냄)
  • dynamic content가 필요하다면 WAS에 요청해 응답 받고 클라이언트로 전달

Web Application Server

  • Tomcat, Resin, Web Logic, Jeus
  • dynamic content를 관리


post 기본 request body

x-www-form-urlencoded
-> form-data는 따로 설정해줘야함


MVC

servlet이 controller 역할(request 정리)
java - database가 model 역할
jsp가 view 역할
-> forward 방식 사용됨

0개의 댓글