분류 전체보기(89)
-
SEO 최적화
SSR: 서버사이드 렌더링 방식이다. JS를 이용한 렌더링이 아니므로 SEO가 최적화 되어있다, HTML에 모든 컨텐츠가 저장되어있다. CSR: 클라이언트 사이드 렌더링 방식이다. HTML을 그리는 역할을 클라이언트가 JS로 수행을 한다. 여기서 발생하는 문제가 SEO는 HTML에서만 컨텐츠를 수집을 한다. 그러다 보니 CSR은 빈페이지로 인식이 된다. 이렇다 보니 CSR이 SEO 최적화의 문제가 있는 것이지 CSR이 SEO가 안된다는 것은 잘못된 표현이다. 구글봇 같은 경우는 JS를 지원하여 검색엔진을 JS로도 가능하게 하였고 네이버 같은 경우도 JS를 지원하여 가능하기는 하지만 많은 리소스들이 사용됨으로 인해서 SSR을 더 권장한다. 이외에도 리액트나 vue.js같은 경우도 next.js 프레임 워크..
2023.01.15 -
리버스프록시 세션 동기화 방법
상황 : 유저가 로그인을 하고 나서 마이페이지에 들어갔을때 로그인이 풀리는 상황 이유: 이것은 user1이 톰켓서버를 통해 세션 id값을 부여 받고 다시 요청을 했을때 그 요청이 원래 처음 세션 id값을 받았던 서버가 아닌 다른 서버로 로드밸런싱 될수 있다 그렇게 될경우 다른 서버에는 해당 user1에 세션 id값이 없다보니 로그인이 풀리는 상황이 발생하게 된다. 이는 로드밸런싱으로 인해서 다중서버에서 발생하는 문제로 이문제를 해결하기 위한 방법들이 있다. sticky session : 이경우는 해당 세션id를 받은 톰켓 서버로만 계속 요청이 가게 하는 방식이다 , 즉 내가 처음 들어갔던 서버에서만 계속 요청이 가도록 고정하는 방식인데 이렇게 될경우 트레픽이 발생 할수있기에 문제가 있다. session ..
2023.01.13 -
버퍼링 사용시 성능향상 이유
cpu 속도, 메모리와 주변 장치의 작업속도의 차이 장치간의 속도 차이를 개선하기 위한, 운영체제 버퍼 버퍼링 캐시: 메모리와 cpu간의 속도차이 완화 버퍼링에 성능 향상 부분에 있어서는 속도차이를 줄이는 것이 가장 핵심이다. - 그 방식으로는 캐시라는 것과 버퍼라는 것이 있는데 캐시 : cpu에 캐시메모리에가 있어서 ram에서 가져오는 데이터 속도와 cpu의 속도에 차이를 줄여 줄수있다. ram에 있는 데이터를 미리 cpu에 내장 되어있는 캐시메모리에 저장해서 한번에 올림으로 인해서 cpu는 ram까지 갈 필요없이 처리를 할수있다, 왜냐면 cpu는 쿨럭 30억 해르츠 단위로 작업을 실행하니까 , cpu의를 효율적으로 사용할수있다. 버퍼: 버퍼라는 것은 os가 메모리에 올려주는 데 버퍼라는 임시공간이 있..
2023.01.13 -
대칭키/비대칭키 암호화 알고리즘, 해싱
양방향 알고리즘 : 암호화와 복호화가 가능하다. 예시로는 대칭키 알고리즘과 비대칭키 알고리즘이 여기서 속한다. 대칭키: 클라이언트와 서버가 서로 키를 공유하고 있고 그 키로 암호화 , 복호화가가능합니다. 비대칭키 : 클라이언트는 공개키를 가지고 서버는 개인키를가지고 있어서 클라이언트가 암호화한것을 개인키를 가진 서버만이 복호화할수있습니다, 또한 그반대로 서버에서 암호화하여 보낸것을 클라이언트가 공개키를 가지고 내용을 확인할수 있는데 이것은 다른 공개키를 가진 사용자도 볼수있는 단점이 있으니 여기서 핵심은 누가 보낸것인가 ? (수신자무결성) 을 증명 하는데 사용합니다. 양뱡향 알고리즘은 보안 적인 측면을 강화하기 위해 만들어졌습니다. 단방향 알고리즘 :암호화는 가능하지만 복호화는 할수 없는 단방향 알고리즘..
2023.01.13 -
리버스 프록시 와 로드 밸런싱
리버스 프록시? 클라이언트 요청을 대신 받아 내부서버로 전달 해주는 것을 리버스 프록시 라고 한다. "프록시" 대리라는 의미로 , 정보를 대신 전달해주는 주체라고 생각하면 된다. 프록시 없이 웹서버를 운영시 - 사용자가 갑자기 많아지거나 , 웹서버가 그대로 노출되어 있기 때문에 보안적인 부분에 위험성이 크다. -nginx를 사용하면 로드 밸런싱 ( 클라이언트이 요청을 서버에 나누어 주는 역할 ) 로 부하를 줄여 줄수있다. 또한 웹서버의 SSL( 보안) 인증도 적용 할 수 있다. 사용자 -> NGINX ->웹서버로 구성해서 사용자의 요청을 NGINX가 대신 웹서버로 전달 해주도록 구성한다. 프록시? 서버와 클라이언트 간의 중계 서버로서 통신을 대신 수행하는 역할을 한다. 1.필터 EX) 부적적한 콘텐츠 성..
2023.01.06 -
JSP(Java Server Pages)
JSP (JavaServer Pages ) 란 무엇인가? JSP 란 JavaServer Pages 의 약자이며 HTML 코드에 JAVA 코드를 넣어 동적웹페이지를 생성하는 웹어플리케이션 도구이다. JSP 가 실행되면 자바 서블릿(Servlet) 으로 변환되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고 그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답한다. 위와 같이 정의만 보고는 어려운 용어가 많이 들어가기 때문에 몇가지 개념을 짚고 넘어 가겠다. 웹(web) 웹이란 인터넷 기반의 정보기술로 World Wide Web 의 줄임말로 쓰이며 WWW 라고도 한다. 전세계에 거대한 네트워크 망을 통해 정보를 공유하며 정보의 흐름은 양방향성을 가진다. 웹어플리케이션(Web Applicati..
2023.01.06