목록CS (6)
clohi 님의 블로그
XSS(Cross-Site Scripting)란? 웹 페이지에 악성 스크립트를 삽입하여 사용자의 브라우저에서 실행되도록 만드는 공격 공격자는 게시글, 댓글, 검색어, 프로필 입력창 등에 악성 스크립트를 삽입할 수 있다.그리고 다른 사용자가 해당 페이지에 접근하면, 삽입된 스크립트가 사용자의 브라우저에서 실행된다. 예를 들어 게시판 댓글에 다음과 같은 코드가 그대로 저장되고 출력된다고 가정한다. 이 코드가 단순한 문자로 처리되지 않고 HTML 코드로 해석된다면, 사용자의 브라우저에서 스크립트가 실행된다.이를 통해 공격자는 사용자의 쿠키를 탈취하거나, 세션 정보를 훔치거나, 악성 사이트로 이동시키는 등의 공격을 할 수 있다.즉, XSS는 서버 자체를 직접 공격한다기보다, 웹 페이지를 이용하는 사용자의 브..
HTTP Method란? 클라이언트-서버 구조에서 요청과 응답이 이루어지는 방식 서버가 수행해야 할 동작을 지정해서 요청을 보내는 방식 HTTP Method의 종류 Method설명GET서버에서 데이터를 조회할 때 사용POST서버에 새로운 데이터를 생성하거나 요청을 처리할 때 사용PUT서버에 있는 데이터를 전체 수정할 때 사용DELETE서버에 있는 데이터를 삭제할 때 사용PATCH서버에 있는 데이터의 일부만 수정할 때 사용HEADGET과 비슷하지만, 응답 본문 없이 헤더 정보만 반환OPTIONS서버가 지원하는 HTTP 메서드나 통신 옵션을 확인할 때 사용CONNECT클라이언트와 서버 사이에 터널 연결을 만들 때 사용TRACE요청이 서버에 도달하기까지 어떻게 전달되는지 확인할 때 사용 HTTP Met..
HTTP/3 란? 기존 HTTP/1.1·HTTP/2가 사용하던 TCP 대신, UDP 기반의 QUIC 프로토콜 위에서 동작하는 새로운 HTTP 버전이다. HTTP/3가 등장한 이유TCP 레벨의 HOLB(Head-of-Line Blocking) 해결패킷 하나가 유실되면 같은 TCP 연결 내 뒤쪽 데이터까지 지연될 수 있음 QUIC 스트림별 독립 처리로 완화연결 설정 지연 시간(Latency) 단축TCP 연결(Handshake)과 보안(TLS) 설정을 각각 따로 진행해서 여러번의 왕복 필요전송과 보안 핸드셰이크를 하나로 통합모바일 환경의 네트워크 전환 대응IP 주소를 기반으로 연결을 식별, Wi-Fi에서 LTE로 바뀌는 등 IP가 변하면 기존 연결이 끊어짐.Connection ID 기반 연결 유지TCP 자체 ..
DNS (Domain Name System) 란? 사람이 읽기 쉬운 도메인 이름(예: google.com)을 컴퓨터가 이해하는 IP 주소(예: 142.250.190.46) 로 변환해 주는 인터넷 전화번호부 시스템 웹 브라우저에 주소를 입력할 때 이 시스템을 통해 원하는 웹사이트의 실제 위치를 찾아 연결해 준다. DNS 의 구조 루트 DNS 서버 (Root DNS Server): .DNS 트리의 꼭대기. 모든 도메인 탐색의 출발점이다.전 세계에 분포되어 있으며, 하위(TLD) 서버들의 주소 목록을 관리한다.최상위 도메인 서버 (TLD, Top-Level Domain): .com, .net, .kr 등도메인의 성격이나 국가를 나타내는 카테고리이다..com을 담당하는 TLD 서버는 전 세계의 모든 .com..
가비지 컬렉션(Garbage Collection, GC)이란?프로그램이 실행되는 동안 더 이상 사용하지 않는 메모리를 자동으로 찾아서 해제하는 메모리 관리 기법이다 가비지 컬렉션 = 식당의 웨이터가 다 먹고 더 이상 사용하지 않는 그릇을 자동으로 수거하는 것 가비지 컬렉션이 필요한 이유?C/C++ 같은 언어에서는 개발자가 메모리를 직접 할당하고 반납해야 했다. (malloc(), free() / new, delete) → 사람이 직접 관리하기 때문에 실수하기 쉽고, 실수를 하게 되면 다음과 같은 문제가 생길 수 있다. 메모리 누수(Memory Leak): 쓸모없는 메모리를 해제하지 않아서 계속 쌓이는 경우댕글링 포인터(Dangling Pointer): 이미 해제된 메모리를 또 참조하는 경우이중 해제(Do..
Deadlock이란? 2개 이상의 프로세스나 스레드가 서로가 가진 자원을 기다리며 무한히 대기하는 상태 시스템(운영체제)이나 외부의 강제적인 개입 없이는 프로세스들이 자발적으로 자원을 포기하지 않으므로 영구적인 정체 상태에 빠지게 된다. 위 사진처럼 철학자 4명이 식탁에 앉아있고, 식사를 하는 상황을 가정해보자. 각 철학자들은 본인의 양측에 있는 젓가락을 손에 집어서 식사를 할 것이다.하지만 문제가 발생한다. 만약 철학자1이 젓가락1을 손에 집었다면, 철학자 4는 본인의 왼쪽 젓가락인 젓가락1을 획득하기 까지 대기해야한다. 즉, 모든 철학자가 동시에 포크를 집어 식사를 하면 그 어떤 철학자도 식사를 할 수 없고, 젓가락을 획득하기 위해 영원히 대기해야한다. 다시 말해, 모든 철학자는 다른 철학자가 포..