본문 바로가기
JSP

웹페이지 서버 요청 방식과 웹 기초

by 김마리님 2020. 5. 25.

클라이언트가 웹서버에 요청하는 방식은 크게 네 가지이다.

html 1.0까진 get과 post방식까지만 지원하지만 1.1부터는 put과 delete방식까지 사용한다.

post는 insert를 할 때 이용하는 요청방식,

put은 update,

get은 select(ex. 인터넷 주소창),

delete는 delete를 할 때 이용한다. 요청을 딱히 하지 않으면 자동으로 get방식으로 요청된다. 이런 요청방식을

insert -> C reate

select -> R ead

update -> U pdate

delect -> D elete

이 앞글자만 따서 CRUD 방식이라고 한다.

 

이제 클라이언트가 서버에 요청하는 형태를 보자.

클라이언트가 서버에 요청한다. 요청하는 방식은 크게 url 과 uri가 있다.

주소가 크게 두 가지가 있다.

http://ip address : port / context / a. jpg 

이렇게 컨텍스트가 있는 폴더를 찾아가 파일을 그대로 불러오는 방식은 url이라고 한다. 

http://ip address : port / user / 1

이렇게 폴더의 주소가 아닌 파일에 식별자를 부여해 식별자로 파일을 불러오는 방식을 uri라고 한다. url은 폴더의 구조를 쉽게 노출하기 때문에 현재는 uri를 더 선호한다.

Client 가 apache에 avi나 jpg, html 등을 요청하면 apache는 webcontent에서 관리하고 있던 파일들 중에 일치하는 파일이 있다면 클라이언트가 요청한 '그대로' 전송해준다. 브라우저가 인식할 수 있는 파일의 형태이기 때문이다. 그런데, jsp나 서블릿의 형태로 요청한다면? 브라우저가 인식할 수 없기 때문에 apache는 tomcat에게 파일의 변환을 요청한다. 그렇게 되면 apache는 본인이 관리하면 web content 에서 web container로 파일을 전송해준다. 이 곳이 tomcat이 파일을 관리하는 곳이다. 여기서 jsp 파일을 java 파일로 변환되고, 컴파일 되어서 class 파일이 된다. 이 컴파일 된 파일을 jvm이 실행하고, 그 실행결과를 다시 tomcat이 html로 변환해 jsp 중 자바 파일이 있던 곳에 붙여준다. 이 렇게 html로 완벽히 변환된 파일을 apache에게 넘겨주고, 이 html 파일을 응답으로 넘겨준다.

그런데 왜 컴파일된 class 파일을 그대로 두고, html 파일은 임시파일로 한번만 쓰고 버리게 될까? html은 정적인 파일로써 자바에서 변수의 값이 바뀌게 되어도 이것을 반영할 수 없지만 class파일의 경우 그대로 반영되기 때문이다.

 

그럼 톰캣의 역할은 무엇일까? 역할은 다음과 같다.

1. 컴파일(jsp를 서블릿 형태로 변환해준다)

2. html 변환

3. 응답

4. request, response

이 4번의 형태를 잘 생각해보자. 내가 로그인을 했을 때, 아이디와 패스워드가 일치한다면 일치했을 때 접근 가능한 사이트로 보내줄 것이다. 그러나 이 상태에서 재요청을 한다면? 아이디와 패스워드가 사라진 상태로 요청될 것이다. 그렇기 때문에 scope가 필요해진다.

 

scope에는 네 가지가 있다. scope는 종류에 따라 나타나고 사라지는 시기가 다 다르다.

1. application : tomcat 시작할 때 생성, 끝날 때 삭제

2. session : request시 생성, 브라우저 종료 시 삭제

3. request : request시 생성, 다시 request 되면 삭제

4. page

 

반응형

'JSP' 카테고리의 다른 글

1. JSP지시어  (0) 2020.05.27
Forwarding  (0) 2020.05.27
서블릿 기초, 한글 인코딩 하기  (0) 2020.05.26
JSP의 기초  (0) 2020.05.25
JSP 기초와 STS에서 JSP 환경 설정하기  (0) 2020.05.22