All (36) 썸네일형 리스트형 [Network] WS, WAS 차이 (Apache, Tomcat) 1. WS (Web Server): : 클라이언트가 요청하면, 웹 서버에서는 HTML,CSS 등 정적 자원을 리턴한다. WS에는 Apache web server 등이 속한다. 2. WAS (Web Application Server) : 클라이언트가 요청하면 웹 어플리케이션 서버에서는 동적 자원을 리턴하는데, 개발자가 만들어둔 비즈니스 로직을 수행하고 DB와 상호작용해 얻어낸 결과물 등이 포함된다. WAS에는 Apache tomcat 등이 속한다. WAS하나로도 WS의 기능을 수행할 수 있지만 WS를 따로 분리하는 이유 - WS안에 각각의 기능이 다른 WAS서버를 여러개 둘 수 있고, WS가 트래픽의 흐름을 관리하는 로드밸런서 역할을 할 수 있다. - WS를 리버스 프록시 서버로 활용하여 보안과 성능상의 .. [OS] Windows 단축키 정리 1. Ctrl + T : 브라우저 새 탭 열기2. Ctrl + W : 브라우저 현재 탭 닫기, 실행중인 창 닫기 (Shift섞으면 모든 탭 닫기)3. Ctrl + Tab : 브라우저 다음 탭으로 이동 (Shift섞으면 이전 탭으로)4. Ctrl + 숫자키 : 브라우저에서 해당 순번의 탭으로 이동5. Ctrl + L : 브라우저 주소창 입력, 카카오톡 잠금모드 설정6. Ctrl + Shift + Esc : 작업관리자 열기7. Win + Shift + S : 화면 캡처8. Win + Alt + R : 화면 녹화9. Win + E : 파일 탐색기 열기10 .Win + R : 실행기 열기11. Win + L : 윈도우 잠금(절전모드)12. Win + 방향키 : 화면 분할, 최소/최대화13. Win + . : 이.. [Network] OSI 7 layers 네트워크 7계층 OSI (Open Systems Interconnection) 모델은 개방형 시스템으로, 통신을 함에 있어 역할에 따라 각 층을 나누고 여러 시스템 간의 호환성을 위해 데이터의 규격(기준)을 정해놓은 네트워크 표준이다. 1층 물리 Physical Layer 데이터를 받으면 데이터를 디지털 신호(비트)로 전환하여 전송하는 계층. 어떤 데이터를 보냈는지, 에러는 안났는지, 효율적인 전송방법은 무엇인지 등을 고려하지 않고 단순히 송수신만 함. 대표장비로는 통신케이블, 모뎀, 허브, 리피터 등 2층 데이터링크 DataLink Layer 하드웨어와 소프트웨어간 연결고리. 물리계층에서 오가는 데이터(비트)에 신뢰성을 더하기 위해 에러처리, 흐름제어를 한다. 데이터가 출발지IP에서 목적지IP로 이동할 때 거리가 멀면.. [Network] CORS 에러 웹브라우저에는 서버에 어떤 방식으로 자원을 요청하느냐에 따라 적용되는 정책이 있는데, 크게 SOP(Same Origin Policy)와 CORS(Cross Origin Resource Sharing) 두가지로 나뉜다. SOP정책은 같은 출처에서만 리소스를 주고받는 정책인데, 여기서 출처는프로토콜://호스트명:포트 까지를 의미한다. 기본적으로 HTML에서의 요청은 CORS정책을 따르고, fetch, axios 등 스크립트에서 호출하는 요청은 SOP정책을 따른다. 예를들어 브라우저(도메인 A)에서 SOP정책을 따르는 fetch API로 서버(도메인 B)로 데이터를 요청하면, 서버로부터 정상적으로 응답을 받더라도 A와 B가 같은 출처가 아니기 때문에 브라우저 선에서 보안상의 이유로 CORS 에러를 뱉는다. 이.. [Network] HTTP 프로토콜, 3-way handshaking HTTP (HyperText Transfer Protocol)란 인터넷에서 클라이언트가 요청을 보내고, 서버가 요청을 받아 응답한 후 연결을 끊는 형태의 데이터 통신 규약이다. 그럼 어떤 형태로 데이터를 보내는지 확인해보자. 요청 메시지는 위와 같이 네 부분으로 분리되어 있으며 각 부분에 들어가는 내용은 아래와 같다. 1. start line에는 요청 메서드, path, 프로토콜 버전 2. header에는 호스트와 클라이언트 정보 등 3. empty line은 공백라인 4. body 에는 메시지의 내용 위 그림은 응답 메시지의 형태인데, 요청 메시지와 다른점은 start line에 프로토콜 버전, 응답코드, 응답상태가 들어간다는 점이다. 전송 계층(TCP/IP, UDP) 중 연결지향적인 TCP 기반으로 .. [Security] 대칭키와 비대칭키? 암호화에 대해 HTTP프로토콜로 운용되는 서버에 SSL을 적용해보며 암호화를 찍먹했는데, 조금이나마 뇌에 잔상을 남기기 위해 간단하게 정리해 놓기로 했다. 1. 대칭키 암호화 - 한 쌍의 동일한 키로 암호화, 복호화를 하는 방식 - 장점: 빠르고 쉽다. - 단점: 누군가 클라이언트의 대칭키를 훔치면, 주고받는 요청을 가로채 복호화하여 데이터를 조작할수도 있다. 2. 비대칭키 암호화 - 한 쌍의 다른 키로 암호화, 복호화를 하는 방식 - 공개키(Public Key)와 개인키(Private key) 로 이루어져 있다. 공개키는 누구나 얻을 수 있지만 개인키는 자신만 가지고 있다. - PKI(Public Key Infrastructure)는 비대칭키로 암호화를 하는 기술인데, 크게 두 가지 방법이 있다. 첫번째는, 클라이언.. [Network] 사설 SSL로 로컬에서 HTTPS 프로토콜 사용하기 (feat.OpenSSL, 톰캣) HTTP로 운용하던 서버에 외부에서 데이터를 받을 일이 생겨 로컬서버, 실서버에서 SSL을 적용해 보면서 정리한 글이다.로컬환경: Windows10, tomcat6.0.53, jdk1.7.0_80서버환경: CentOS5.5, tomcat6.0.53, jdk1.7.0_80 HTTP프로토콜 통신은 클라이언트와 서버 사이에 주고받는 데이터를 암호화하는 기능이 없어 안전하지 않다.보안을 강화하기 위해서는 인증기관(Certificate Authority)을 통해 SSL 인증서를 발행받은 후 HTTP에 SSL(Secure Sockets Layer) 을 추가한 HTTPS프로토콜을 사용해야 한다. 서버가 SSL 인증서를 발급받고 클라이언트와 통신하는 과정은 대략적으로 아래와 같다. 1. 서버는 내 사이트.. [DB] JDBC, DBCP, ORM, Mybatis, JPA, Hibernate에 대해 자바로 앱을 만들다보면 데이터베이스 관련해서 자주 접하는 기술들이 있다. 앞으로 주로 사용할 기술을 집중적으로 학습해야겠지만, 레거시 프로젝트를 마주하는 상황을 대비해서 간단하게라도 짚고 넘어가면 좋을 것 같은 내용을 정리했다. [JDBC] Java Database Connectivity자바 데이터베이스 연결. MySQL, Oracle, MariaDB등 데이터베이스에 맞는 드라이버를 로드해 '커넥션 객체 생성->쿼리 수행->연결 해제' 순서로 사용함. 작성해야하는 코드량이 많고 쿼리도 직접 작성해야 하기 때문에 요즘엔 거의 쓰지 않는다. [DBCP] Database Connection Pool데이터베이스 커넥션 풀. 지정한 양만큼의 커넥션 객체를 생성해 풀에 저장해두고 필요할때마다 쓰고 반납하는 기술.클.. 이전 1 2 3 4 5 다음