웹에서의 요청과 서버 응답의 이해

단밤v 2022. 11. 24. 15:45
728x90
반응형

안녕하세요.
이번 포스팅에서는 제목 그대로 웹에서의 요청과 서버 응답에 대해 설명해보겠습니다.

 

우선, 웹에서의 요청에 대해 쉽게 설명해드릴게요.

 

사용자가 노트북에서 Chrome, Safari, Whale등을 접속해서
https://www.naver.com 으로 접속하던가
https://www.google.com에 접속을 합니다.

https://~~ 는 일명 도메인이라 부르죠.
URL입력란에 도메인을 입력하면 네이버 혹은 구글 검색창이 뜹니다.

 

이 행위 자체가 웹에 요청하는 것입니다.

 

내가 네이버에 접속하고 싶으면 
브라우저를 띄워서 https://www.naver.com 이라는 url을 입력해서
접속하는 거죠.

 

여기서 좀 더 나아가보겠습니다.
네이버 로그인을 하실때 ID와 PW를 입력하게 되죠.

 

ID와 PW를 입력해서 로그인 버튼을 눌렀을때,
네이버 회원이라면 정상적으로 로그인이 되실겁니다.

 

ID/PW는 입력해서 로그인 버튼을 누르면
사용자가 네이버 회원이라는 것을 어떻게 알까요?

그건 웹브라우저에서 ID와 PW정보를 네이버 서버에 보냈기 때문입니다.
ID와 PW를 보냈다는 것은 사용자가 로그인할 수 있게 요청하는 것이죠.
이를 웹에서의 요청 일명 Client Request라 부릅니다.

 

네이버 서버는 Client Request를 받았어요.
ID와 PW를 확인해보니 네이버 회원이 맞아요.


그럼 네이버 회원이 맞으니 로그인 할 수 있게 웹 브라우저에 알려줘야 되겠죠.
이를 서버의 응답이라고 하고 일명 Server Response라 부릅니다.

 

Server Response를 받았으니
로그인 후의 화면이 뜨게 되겠죠?
로그인 하고 나면 가입한 카페도 접속하고 메일도 쓸 수 있고
네이버의 다양한 서비스를 이용할 수 있습니다.

 

여기까지 읽으셨으면 Request와 Response에 대해 
어느정도 이해가 되셨을거에요.

 

여기서 더 깊게 들어가서 다시 설명해보겠습니다.

 

자바 웹에서는 
HttpServletRequest라는 객체와 HttpServletResponse라는 객체를 사용해서
Client의 요청을 받고 Client에게 응답을 합니다.

 

Client의 요청은 자바 객체인 HttpServletRequest 객체에 담겨서 오고요.
Client에게 응답은 HttpServletResponse 객체에 담아서 응답합니다.

 

그러면 HttpServletRequest에는 어떤 정보가 있고
HttpServletResponse에는 어떤 정보가 있을까요?

 

HttpServletRequest에는 html에 담긴 정보와 
쿠키값, 세션값 전부를 가지고 있어요.

 

html에 담긴 정보는 구체적으로 무엇일까요?
제가 앞서 설명드린 네이버 로그인때 ID와 PW를 입력하잖아요
ID와 PW정보가 html에 입력된 정보 중 하나에요.

 

HttpServletResponse에는 서버에서 응답해야될 필수 정보를 가지고 있는데,
쿠키값, 세션걊, Header값 등이 있어요.

 

그럼 쿠키값, 세션값, Header값들이 무엇일까요?
쿠키나 세션혹은 Header값들은
서버에서 웹브라우저를 사용자에게 부여하는 값이에요.

 

앞서 설명드렸던 서버에서 로그인을 인증해줄때 쿠키나 세션값을 HttpServletResponse에 담아서 응답을 해줍니다.
응답을 해주는 이유는 로그인한 사용자는 네이버 회원이다라는 것을 웹브라우저에 정보를 담아두기 위해서입니다.

 

네이버에 로그인 한 유저는 브라우저에 쿠키나 세션값을 가지고 있으므로
네이버 회원으로서 사용해야할 서비스를 막힘없이 사용할 수 있는거에요.

 

조금 이해가 어려우시면 처음서부터 여기까지 두 세번 더 읽어드릴것을 권장드립니다. ㅎㅎ

 

HttpServletRequest, HttpServletResponse에 대해서는
다른 포스팅을 통해 좀 더 자세하게 설명드리도록 하겠습니다.

이 포스팅에서 설명하기에는 내용이 방대하거든요.

 

여기까지 웹에서의 요청과 서버 응답에 대해 설명해보았습니다.

긴 글 읽어주셔서 대단히 감사합니다.
다음 포스팅에서 뵐게요~

728x90
반응형

'IT나라 이모저모' 카테고리의 다른 글

시놀로지 나스(NAS) 사용후기  (0) 2022.11.24
웹에서 Request, Response의 정의  (0) 2022.11.24
노드VPN 사용후기  (0) 2022.11.24
iframe 태그 사용하기  (0) 2022.11.21
데이터 표준화의 필요성 및 중요성  (0) 2021.11.01