CS(6)
-
SSL/TLS 와 mixed contents error
💡 웹사이트와 사용자 사이의 통신을 암호화하는 보안 프로토콜 SSL/TLS 는 개인 정보와 민감한 데이터를 안전하게 전송하기 위해 사용합니다. SSL/TLS? SSL(Secure Sockets Layer)은 웹 통신의 보안을 위해 사용되는 프로토콜로, 1996년에 SSL 3.0이 발표된 이후 업데이트되지 않았습니다. SSL은 알려진 여러 취약점이 있으며, 이로 인해 보안 전문가들은 SSL의 사용을 중단하고 TLS(Transport Layer Security)로 전환할 것을 권장하고 있습니다. 🛑 SSL이 취약한 공격 POODLE (Padding Oracle On Downgraded Legacy Encryption) 공격: SSL 3.0의 취약점을 이용한 공격으로, 암호화된 통신을 해독할 수 있습니다. D..
2023.11.06 -
DB 인덱스에서 Hash보다 B-TREE 를 사용하는 이유
기본적으로 Hash Table은 탐색속도가 빠른 자료구조에용 그런데 왜 DB 인덱스에서는 Hash 가 아닌 B-TREE 구조를 사용할까용? B-Tree (Balanced Tree) 의 탐색 시간 복잡도는 O(logN) 에용 인덱스에 일반적으로 사용되는 자료구조는 B+TREE 구조에용 Hash Table 해시 테이블은 연관배열 구조를 이용해 key 에 value 를 저장하는 자료구조에용 연관배열구조 = key와 value 가 1:1 로 매칭되어있는 자료구조, key를 통해 value를 도출할수있음 해시 테이블의 Search(검색) 의 시간 복잡도는 기본적으로 O(1)이다. KEY에 매칭되는 VALUE 를 바로 찾기 때문이다. 그런데 이렇게 탐색시간이 빠른 Hash가 왜 인덱스에서 사용 되지 않을까용? 해시..
2023.01.31 -
[DB] Index, B-Tree , B+Tree
Index 데이터베이스에서 인덱스란 테이블에 대한 검색성능 속도를 높여주는 자료 구조입니다. 특정컬럼에 인덱스를 생성하면, 해당 컬럼의 데이터들을 정렬하여 별도의 메모리공간에 데이터의 물리적 주소와 함께 저장 됩니다. 인덱스의 단점으로는 항상 최신의 데이터를 정렬된 상태로 유지해야 빠르게 값을 탐색할수있기에 INSERT, DELETE, UPDATE 구문이 실행 된다면 계속해서 정렬을 해줘야 하고 이로인한 부하가 발생합니다. 때문에 인덱스에서는 이런 부하를 최소화 하기위해 데이터 삭제라는 개념에서 인덱스를 사용하지않음이라는 작업을 합니다. INSERT = 새로운 데이터에 대해 인덱스를 추가합니다. UPDATE = 기존 인덱스를 사용하지않음 처리 후, 업데이트 된 데이터에 인덱스를 추가함. DELETE = ..
2023.01.27 -
캐시(Cache)-(1)
캐시가 없을 경우 데이터가 변경되지 않아도 계속 네트워크를 통해 데이터를 다운로드 받아야한다 느리고 비싼 네트워크 브라우저 로딩 속도가 느리다 느린 사용자경험 캐시 사용할때 캐시 가능 시간동안 네트워크를 사용하지 않아도 된다 비싼 네트워크 사용량 줄이기 가능 브라우저 로딩 속도 빠름 빠른 사용자 경험 캐시 시간이 초과 서버를통해 데이터 다시조회 캐시 갱신 네트워크 다운로드 발생 - 네트워크 다운로드가 발생하지만 용량이 적은 헤더정보만 다운로드함 - 캐시 유효 시간이 초과해도, 서버의 데이터가 갱신되지 않으면 304 Not Modified + 헤더 메타 정보만 응답함 - 클라이언트는 서버가 보낸 헤더 정보로 캐시의 메타 정보 갱신과 캐시에 저장된 데이터를 재활용 함 검증 헤더와 조건부 요청 검증헤더 = 캐..
2022.05.18 -
HTTP Cookie
Cookie 주 사용처 사용자 로그인 세션 관리 광고 정보 트래킹 쿠키정보는 항상 서버에 전송 네트워크 트래픽 추가 유발 최소한의 정보만 사용(세션 id, 인증 토큰) 서버에전송하지않고, 웹 브라우저 내부에 저장하려면 웹 스토리지(localStorage, sessionStorage) 보안에 민감한 데이터는 절대 저장 금지 세션 쿠키 : 만료일자 생략시 브라우저 종료시까지만 유지 영속 쿠키 : 만료일자 입력시 해당 일자까지 유지 도메인 명시 : 명시한 문서 기준 도메인 + 서브 도메인 포함 적용 domain = example.org example.org = 접근 dev.example.org = 접근 생략 : 현제 문서 기준 도메인만 적용 domain = example.org example.org = 접근 ..
2022.05.15 -
HTTP status code
HTTP status code 클라우드 환경에서 HTTP API를 통해 통신하는것이 대부분 이때, 응답 상태 코드를 통해 성공/실패 여부를 확인할수 있으므로 API 문서 작성할때 필수로 알아야 하는것 100번대 : 정보 확인 200번대 : 통신 성공 300번대 : 리다이렉트 400번대 : 클라이언트오류 500번대 : 서버오류 200번대 : 통신 성공 상태코드 이름 의미 200 OK 요청 성공(GET) 201 Create 생성 성공(POST) 202 Accepted 요청 접수O, 리소스 처리X 204 No Contents 요청 성공O, 내용 없음 300번대 : 리다이렉트 상태코드 이름 의미 300 Multiple Choice 요청 URI에 여러 리소스가 존재 301 Move Permanently 요청 UR..
2022.04.26