WEB 6

[Web] Web Server(웹서버, 아파치) 와 WAS(톰캣) 이해하기

1. 웹 서버와 WAS(web Application Server) 웹 서버는 정적인 컨텐츠(html,css,js)를 제공하는 서버 ex) Apache, Nginx WAS 는 DB조회나, 어떤 로직을 처리해야 하는 동적인 컨텐츠를 제공하는 서버 ex) Tomcat, jeus 즉 웹서버와 WAS의 차이는 어떤 타입의 컨텐츠를 제공하느냐의 차이이다. 웹 서버와 WAS는 각각 독립적으로 존재할수 있다. 대부분의 WAS는 정적인 컨텐츠를 제공해주고 있기 때문에, 웹서버 없이 WAS만 존재할수 있다. 그래서 WAS는 웹 서버를 포함하는 개념이라고 생각해도 될 것같다. WAS 자체로 웹서버의 역할을 수행하기 때문에 무조건적으로 웹서버를 앞단에 두어야할 이유는없다. 그런데 일반적으로 웹서버를 WAS 앞단에 배치하게 되..

WEB 2021.06.23

[HTTP] 쿠키/세션/캐시의 차이점은?

0. HTTP의 특징 (1) Stateless 프로토콜 클라이언트의 상태 정보를 가지지않는 서버 처리 방식. 클라이언트와 첫번째 통신에서 데이터를 주고 받았다고 해도, 두번째 통신에서 이전 데이터를 유지하지 않음. (2) Connectionless 프로토콜 클라이언트가 서버에 요청(Request)를 했을때, 그요청에 맞는 응답(Response)을 보낸후 연결을 끊는 처리방식. But ,실제로는 사이트에서 데이터 유지가 필요한경우가 많다. 정보가 유지되지않으면 , 페이지를 이동할대마다 로그인을 다시하거나, 쇼핑몰의 경우 장바구니를 담아도 데이터가 다날라가기때문이다. 따라서, 이런 상황을 대처하기위해 쿠키와 세션을 사용한다. 쿠키와 세션의 차이점은 크게 상태정보의 저장 위치이다. 쿠키 - 클라이언트(로컬 =..

WEB 2021.06.22

[Web] XSS와 CSRF 공격의 특징 및 차이

XSS(Cross-Site Scription) - 크로스 사이트 스크립팅(SQL 인젝션과 함께 웹에서 가장 기초적인 취약점 공격 방법의일종) 악의적인 사용자가 공격하려는 사이트에 스크립트를 넣는 기법을 말한다. 이 취약점은 웹 애플리케이션이 사용자로부터 입력받은 값을 제대로 검사하지않고 사용할경우 나타난다. 보통 의도치않은 행동을 수행시키거나, 쿠키나 세션 토큰등의 민감한정보를 탈취한다 (보통 악의적인 스크립트 삽입!) CSRF(Cross-Site Request Fogery) - 사이트간 요청위조 , 웹사이트 취약점 공격의 하나로, 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정,삭제,등록)를 특정웹사이트에 요청하게 하는 공격 사용자가 웹사이트에 로그인한 상태에서 사이트간 요청 위조 공격 코..

WEB 2021.05.25

[Web] 절대경로 와 상대경로

절대경로는 일반적으로 우리가 생각하는 C:user/popo.... 이런식의 경로이고 상대경로는 현재 파일이 위치한곳에서 다른곳의 경로 보통 ../는 상위 폴더로 이동한다 스프링레거시로 프로젝트할때, 부트스트랩 js경로를 지정할때 root폴더가 /resources 부터 시작한다는건알았는데 그냥 /resource부터 적용하니 안되서 구글링좀 해보니 ${pageContext.request.contextPath}

WEB 2021.05.07

[Web] Redirect 와 Forward 의 차이

Redirect - redirct 명령이 들어오면 웹브라우저에게 다른페이지로 이동하라는 명령을 내린다( URL 변경) (forward와 달리 request,respone객체를 공유하지않음.) (웹브라우저는 url을 지시된 주소로 바꾸고 그주소로 이동함. 일을 2번처리하기때문에 forward보다 느림) Forward - 최초 호출한 URL만 표시되고, 이동한 페이지의 URL 정보는 볼수가없다 (forward의 호출을 물고 있으므로 request,respone 객체를 공유한다.) (실행속도가 redirect 보다 빠르다) 기본적으로 스프링은 view 경로를 리턴하면 포워딩 방식이다.

WEB 2021.05.04

[Web] 아파치 톰캣이란?

대부분 자바로 공부를 하면 아파치 톰캣을 서버로 띄워서 작업을 하게된다. 내가 따로 하는 스터디장님이 아파치와 톰캣의 차이를 물어봤는데 명확히 대답을 못해서 따로 정리해둔다. 일단 아파치와 톰캣이 무엇인지 알기 위해선 WEB과 WAS에 대해 알아야한다. WEB Server는 - HTML 처럼 정적인 컨텐츠를 처리하는것이다(빠르다. 정적인 데이터만 처리가능하다) WAS Server는 - php,jsp등 개발언어를 읽고 동적 컨텐츠를 처리하는것 ( WEB서버보단 느리다) 아파치 는 - WEB Server 이고, (정적) 톰캣은 - WAS Server 이다. (동적) 아파치는 동적인 데이터를 처리하지 못하기때문에 jsp를 받아, 톰캣에서 처리하고 다시아파치로 넘겨준다 위 사진을 보면 Web Server는 알겠..

WEB 2021.03.03