728x90 전체 글200 [Web] 아파치-멀티 프로세스, 톰캣-멀티 쓰레드 이유는? 1. Web Server vs WAS Web Server 클라이언트가 서버에 페이지 요청을 하면 요청을 받아 정적 컨텐츠(.html, .png, .css등)를 제공하는 서버다. 더보기 클라이언트에서 요청이 올 때 가장 앞에서 요청에 대한 처리를 한다. 클라이언트의 요청을 기다리고 요청에 대한 데이터를 만들어서 응답하는 역할 (정적 데이터)을 수행하고 정적 컨텐츠가 아닐 경우, WAS에게 전달한다. 대표적으로 Apache, Nginx가 있다. Apach 멀티 프로세스 + 멀티 스레드 스레드풀에 미리 스레드를 만들어 놓는다 클라이언트 요청 하나에 스레드 하나 대응 Apache, nginx 비교 더보기 Apache 멀티 프로세스와 멀티 스레드 스레드풀에 미리 스레드를 만들어 놓는다. 클라이언트 요청 하나에 스.. 2022. 11. 22. [java] 자바 메모리 구조(static, stack, heap) 프로그램을 구동하기 위해서 운영체제가 메모리에 데이터 및 명령어를 저장할 공간을 할당해준다. 메모리를 효율적으로 사용하기 위해, 메모리의 구성과 특징에 대해서 이해해보자. Runtime Data Area [1] Static area || Class Area 메서드 영역, 클래스 영역, 코드 영역, 스태틱 영역으로 이루어져 있다. 하나의 JAVA 파일은 크게 필드(field), 생성자(constructor), 메소드(method)로 구성된다. 그중 필드 부분에서 선언된 변수(전역변수)와 정적 멤버변수(static이 붙은 자료형) Static 영역에 데이터를 저장한다. Static 영역의 데이터는 프로그램의 시작부터 종료가 될 때까지 메모리에 남아있게 된다. 다르게 말하면 전역변수가 프로그램이 종료될 때까지.. 2022. 11. 18. [Network] DNS lookup 과정(DNS 동작 방식) nslookup 은 name server lookup 의 약자로, 윈도우 명령프롬프트로 name server 에 대한 정보를 확인할 수 있다. 1. 브라우저에 naver.com 을 입력하면 2. 컴퓨터의 hosts 파일에 naver.com 의 ip 주소 정보가 있는지 확인한다. *hosts 파일 : ip 주소와 hostname 을 매칭시켜놓은 텍스트 파일이며, 해당 컴퓨터 안에선 이 파일이 우선권을 갖는다. mac os 기준 hosts 파일의 위치는 /etc/hosts. /etc/hosts 파일 변경 후, dscacheutil -flushcache 명령어로 캐시를 갱신하면 바로 적용된다. 3. hosts 파일에 정보가 없으면, 컴퓨터에 있는 local DNS cache에 ip 주소가 있는지 확인한다. L.. 2022. 11. 18. [java] RAM, HDD이란? RAM이란? 기억장치 중 하나. 주기억장치. 또 다른 기억장치로는 CPU, HDD가 있는데 CPU와 RAM은 일시적으로 데이터를 보존하고, HDD는 데이터를 영구적으로 보존한다. CPU가 일을 더 빠르게 수행할 수 있게 해준다. 하지만 휘발성 메모리. HDD는 보조 기억 장치. 그래서 RAM이 CPU가 사용할 정보들을 미리 저장해뒀다가 빨리 꺼내주는 것이다. 2022. 11. 17. [암호화] 양방향(공개키/비대칭키, 비공개키/대칭키), 단방향 0. 양방향/단방향 알고리즘 - 양방향: 암호화된 암호문을 복호화 할 수 있는 알고리즘. 암호화/복호화 가능. (대칭키, 비대칭키) - 단방향: 암호화는 수행하지만 복호화가 불가능한 알고리즘. 암호화/복호화 불가 (Hash 방식) 1. 양방향 알고리즘 대칭키, 비대칭키 암호화, 복호화시 모두 동일한 키를 사용하고, 비대칭키(공개키)방식은 암호화 복호화에 서로 다른 키를 사용한다. a. 대칭키(비공개키) 방식: 대칭키(비공개키) 방식 : 암복호화에 서로 동일한 키가 사용되는 암호화 방식. 그래서 키를 비공개한다. 하지만 결정적으로 '키 배송'에 관한 문제가 있다. 어떻게든 송신 측에서는 수신 측에 암호 키를 전달해야만 하고, 이 키가 배송과정에서 탈취되면 아무리 뛰어난 암호화 알고리즘을 사용했더라도 평문이.. 2022. 11. 14. SSL 인증서란? (SSL 인증서가 안전한 연결을 만드는 법, 공개키, 개인키, 세션키) 0. HTTPS 와 HTTP HTTP는 암호화되지 않은 방법으로 데이터를 전송하기 때문에 서버와 클라이언트가 주고 받는 메시지를 감청하는 것이 쉽다. 예를들어 로그인을 위해서 서버로 비밀번호를 전송하거나, 또는 중요한 기밀 문서를 열람하는 과정에서 악의적인 감청이나 데이터의 변조등이 일어날 수 있다. 이를 보안한 것이 HTTPS다. - HTTPS 와 SSL 웹이 인터넷 위에서 돌아가는 서비스 중 하나인 것처럼, HTTPS도 SSL 프로토콜 위에서 돌아가는 프로토콜이다. - SSL 프로토콜 SSL 프로토콜은 링크와 전송되는 데이터의 암호화 변수를 결정한다. 모든 브라우저는 SSL 프로토콜을 사용해 보안 웹 서버와 상호작용할 수 있는 기능이 있다. 그러나 브라우저와 서버는 보안 연결을 수립하기 위해 SSL .. 2022. 11. 14. ajax 데이터 불러오기 예제 [1] 출력 영역 [2] fetch then catch 예제 fetch('jsondata.json') .then((response)=>response.json()) .then((data)=> console.log(data.documents[2].name)) .catch((e)=> console.log(e.message)); 2022. 11. 14. [CORS] CORS란? (로컬 통신간의 CORS 에러와 해결) 1. CORS, Cross-Origin Resource Sharing 이란? 교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)란, 사이트 A가 사이트 B에서 콘텐츠를 가져오려고 하면 사이트 B는 추가 HTTP 응답 헤더를 보내 이 페이지의 콘텐츠에 특정 출처에서 액세스할 수 있음이 확인되어야 한다. [발생순서] 1. 사이트 A가 사이트 B에서 페이지를 요청하면 브라우저는 실제로 네트워크 수준에서 요청된 페이지를 가져오고, 2. 응답 헤더에 사이트 A가 허용된 요청자 도메인으로 나열되는지 확인. 3. 사이트 A는 이 페이지(사이트 B)에 액세스할 수 있음을 확인받지 못한다면, 4. 브라우저는 JavaScript 코드에 대한 응답 데이터를 거부하게되고 결국 CORS 오.. 2022. 11. 13. [javascript] 자바스크립트 for in 과 for of 차이 자바스크립트 for in 과 for of 차이 for ...in = 객체 순환, for ...of = 배열 값 순환 이다. (1) for in (객체순환) var object = { "name" : "kitty", "age" : 25, "mbti" : "intj" }; for (let item in object) { console.log(item); // kitty, 25, intj 여기서 in 대신 of를 사용하면 'Uncaught TypeError: obj is not iterable' 라는 에러 메시지가 뜬다. (2) for of (배열 순환) var array = ["kitty", "25", "intj"]; for (let item of array) { console.log(item); // ki.. 2022. 11. 13. 이전 1 2 3 4 5 6 7 8 ··· 23 다음 728x90