Sevlet / JSP 기반 하에 Spring 프레임워크 작동
웹 어플리케이션
1) HTTP 클라이언트 / 서버
🔸 웹 동작 과정
✅ 정적 페이지 : 동일한 URL로 요청을 보냈을 때 동일한 내용이 리턴
✅ 동적 페이지 : 동일한 URL로 요청을 보냈을 때 상황에 따라 응답 내용이 바뀜
✅ 배포 서술자(web.xml): 각각의 어플리케이션에 대한 정보 (구성 서술)
✅ 서블릿(Servlet): 웹 어플리케이션 규격에 맞춰 표준화 된 자바 클래스
프로토콜://호스트번호:포트번호/경로/파일명
🔸 Client / Server
- Web Server : 정적 (ex. 이미지, html)
- WAS Server (web container) : 동적
🔸 HTTP
-
상태 X (1 request & 1 response)
앞 결과 저장X (request는 항상 새로운 요청)
-
문자 기반 (binary X)
binary ➞ 문자 로 변환 (base64 인코딩)
🔸 HTTP Request
- 요청 라인 (Request Line)
- HTTP 메서드 / URL / 프로토콜 정보
- 한 줄
- 요청 헤더 (Request Header)
- 웹 브라우저 정보, 언어, 인코딩 방식, 요청 서버 정보 등 추가 정보
- 키 : 값
- 빈 줄 : 헤더 끝났다는 식별
- 요청 본체 (Request Body)
- 메서드에 따라 있을 수도 없을 수도
- POST / PUT (O)
- GET / DELETE (X)
🔸 HTTP Response
- 상태 라인 (Status Line)
- 한 줄
- 프로토콜 정보 / 응답 상태 코드
- 상태 코드
- 200 : 성공
- 300 : redirect 지시자 (요청 url을 바꿔라)
- 400 : Client 잘못 - 처리X
- 401 : 로그인X
- 403 : 권한X
- 404 : 요청 url 잘못
- 405 : 메서드 잘못
- 500 : 서버에서 예외 발생, 서버의 버그
- 응답 헤더 (Response Header)
- 응답 처리 날짜, 인코딩 방식, 요청 서버 정보 등 추가 정보
- ✨응답 본체 (Response Body)
⇨ 이것들을 기반으로 웹 어플리케이션 만든다~!
2) 웹 어플리케이션
🔸 JSP / Servlet
3) 웹 컴포넌트
🔸 웹 컨테이너(Web Container)
= WAS
ex) Tomcat ···