CS 썸네일형 리스트형 [네트워크]HTTP 헤더 HTTP 헤더 From 사용자의 이메일 주소(사용자 식별 가능) 악의적인 서버가 스팸메일을 보내는 경우가 있어 보통 브라우저는 포함하지 않지만 로봇이나 스파이더는 이메일 주소를 포함시킴 User-agent 브라우저의 이름과 버전 정보, 종종 운영체제 Referer 사용자가 현재 페이지로 유입하게 한 웹페이지의 URL을 가르킴 Authorization 사용자의 이름과 비밀번호(식별을 위함) Client-ip 같은 사용자가 다른 컴퓨터를 사용하는 경우 식별 불가 NAT 장비 사용시 식별 불가. 프록시 사용시 식별 불가 ISP가 동적으로 IP를 할당하기 때문에 IP로 식별이 어려움 X-Forwarded-For 프록시 사용 등의 경우 원본 IP주소를 보존하려는 시도 Cookie 브라우저 요청->서버 Set-co.. [네트워크] 라우팅(Routing)과 라우터(router) 줄글 요약 네트워크 통신을 위해서는 MAC주소와 IP주소가 필요합니다. 상대방의 IP주소는 DNS서버를 통해 얻어오겠지만 MAC주소는 어떻게 알아올까요? LAN에서는 브로드캐스트를 이용해 ARP로 알아낼 수 있습니다. 따라서 스위치와 허브로만 통신이 가능합니다. 하지만 WAN에서는 무작정 브로드캐스트로 통신을 하면 비효율적이기 때문에 라우터(네트워크간 패킷을 전달)를 통해 라우팅(라우터를 거치며 최종 목적지를 찾아가는 것)과정이 필요합니다. 이때 라우터는 라우팅테이블에 수신처의 네트워크, 중계지점 등에 대한 정보를 저장해놓고 라우터끼리의 통신을 통해 정보를 최신화합니다. 라우팅테이블에 정보가 없는 경우 디폴트 라우터에게 네트워크 정보를 물어보게됩니다. 따라서 상대방 IP주소는 고정되어 있지만 MAC주소의.. [보안]공통키, 공개키, 대칭키, 비밀키, 전자서명, 전자인증서 공통키(대칭 암호) A(요청), B(응답) 암호화와 복호화에 같은 키를 사용하는 방식 문제점 : 공통키 전달 과정에서 해커 X가 키를 훔쳐볼수 있음(키 배송의 문제), 키관리문제(각각 요청마다 공통키를 만들어야함) 공개키(비대칭 암호) A(요청), B(응답) 암호화와 복호화에 다른 키를 사용한느 방식 암호화(공개키)와 복호화(비밀키)로 구분 장점 : 공개키는 인터넷 상에 공개해도 되기 때문에 불특정 다수와 데이터를 교환하기 좋음 단점 1: 공개키의 신뢰도 문제(해커 X가 B가 A에게 공개키를 보낼 때 자신이 만든 X-공개키로 바꿔치기함 -> A가 X-공개키로 암호화한 데이터를 B에게 보낼때 다시 가로채 X-비밀키로 복호화 -> B의 공개키로 암호화 해서 B로 전송), man in the middle 공격.. 원격 접속 SSH와 VNC 차이 아무 생각없이 SSH와 VNC를 썼는데 기술 용어였다. 간단히 정리 SSH(secure shell) 원격지의 컴퓨터를 명령어로 제어하기 위한 프로토콜 명령 프롬프트에서 명령을 내리면 그 내용을 그대로 서버로 전달, 명령에 대한 결과가 다시 텍스트로 표시됨 서버에서 작업하는 것과 같이 작업할 수 있음 패스워드 인증 클라이언트 접속요청, 서버 공개키 전송 난수를 사용한 공유키 생성, 공유키를 공개키로 암호화하여 서버에 전송 서버는 개인키로 복호화 클라이언트는 공유키로 암호화한 패스워드 전달, 서버는 사용자 인증 사용자가 인증되면 통신 공개 키 인증 클라이언트 측에서 공개 키를 만든 후에 그 키를 미리 접속할 서버에 등록해 두어 인증에 사용 클라이언트 접속 요청, 서버에서 난수를 이용한 공유 키 생성, 공유키.. [CS] 웹 페이지를 빠르게 로딩하는 방법-작성중 내용 추가 필요(210710) 웹 페이지 로딩 보통 스크린은 1초에 화면을 60번 그림, 60fps(frame per second)인 것인데 따라서 브라우저 역시 60fps를 유지해야 웹페이지가 매끄럽게 보임 만약 브라우저가 1초에 60프레임을 그려내지 못하게 되면, 웹페이지에서 스크롤을 내린다거나 드래그를 할 때 버벅이는 현상 발생(Jank) 최적화(Optimization)가 필요 네트워크 요청에 빠르게 응답하자 리다이렉션을 피할 것 : 응답 시간이 지연됨 meta-refresh 사용금지 ?? CDN(content delivery network)을 사용할 것 ?? 동시 커넥션 수를 최소화 할 것 ?? 커넥션을 재활용할 것(Connection : keep alive) 자원을 최소한의 크기로 내려받자 gz.. [DB]트랜잭션(Transaction) 트랜잭션과 잠금(Lock) 트랜잭션 트랜잭션은 작업의 완전성 을 보장해주는 것(= 여러 작업을 논리적인 하나의 작업의 단위로 묶어주는 것) 사용자의 입장에서는 작업의 논리적 단위이며 시스템의 입장에서는 데이터를 접근 및 변경하는 프로그램 단위 트랜잭션은 하나의 논리적인 작업을 구성하는 단위 작업 모두 적용되거나 문제가 있을 시 아무것도 적용되지 않아야 함을 보장(커밋 or 롤백) 예를 들어 1만원이 입금되고 1만원을 송금하는 작업을 트랜잭션으로 묶을 때 둘 중 하나라도 오류가 있으면 작업은 아예 이루어지지 않는다. 멀티트랜잭션 환경, 송금 처리 등 시스템에서 활용 잠금 Lock : 데이터베이스의 일관성과 무결성을 유지하기 위해 트랜잭션의 순차적 진행을 보장할 수 있는 장치 잠금(Lock)은 동시성을 제어.. [운영체제]프로세스 스케줄링 스케줄러 프로세스를 스케줄링하기 위한 Queue 종류 Job Queue : 현재 시스템 내에 있는 모든 프로세스의 집합 Ready Queue : 현재 메모리 내에 있으면서 CPU에 할당되어 실행되기를 기다리는 프로세스의 집합 Device Queue : Device I/O 작업을 대기하고 있는 프로세스의 집합 스케줄러 종류 장기스케줄러(Long-term scheduler or job scheduler) 대용량 메모리(하드디스크, SSD)에 저장되어 있는 프로세스 중 어떤 프로세스에 메모리를 할당하여 ready queue 로 보낼지 결정 메모리와 디스크 사이의 스케줄링을 담당 단기스케줄러(Short-term scheduler or CPU scheduler) CPU 와 메모리 사이의 스케줄링을 담당 Ready.. [DB] Connection pool(커넥션풀)이란? Connection Pool(커넥션풀) Database에서 데이터를 얻어 오기 까지 가장 느린 부분은 웹 서버에서 DB서버에 처음 연결 후 Connection 객체를 생성하는 부분 웹 애플리케이션은 HTTP 요청에 따라 Thread를 생성하고 DB 서버로부터 데이터를 얻어옴 DBCP(Database Connection Pool)를 이용하면 DB Connection 객체를 생성하는 부분에 대한 비용과 시간을 줄이고, 네트워크 연결 부하 감소 Connection pool은 Connection을 여러 개 생성해 두어 저장해 놓은 공간(캐시), 또는 이 공간의 Connection을 필요할 때 꺼내 쓰고 반환하는 기법을 뜻함 롤백 기능은 connection 객체에서만 가능함, 브라우저의 각 요청마다 개별 db c.. 이전 1 2 3 4 ··· 7 다음