개념노트 6

GraphQL

개념 - GraphQL은 API를 위한 쿼리 언어 일반 REST API(각각 다른 URL로 여러 번 요청)GET /users/123 # 사용자 정보요청GET /users/123/posts # 사용자의 게시물요청 GraphQL(한번의 요청으로 원하는 모든 데이터 가져오기 가능)query { user(id: "1231") { name email posts { title content } }} GraphQL에는 여러가지 컴포넌트가 존재하지만클라이언트가 서버로 요청을 보낼 때 사용하는 주요 작업에대해 정리 Query 요청 (데이터 조회):POST /graphql{ "query": "query GetUser($userId: ID!) { user(id: $..

개념노트 2024.12.29

역방향 프록시(Reverse Proxy)

일반적인 웹 접속의 경우 (손님이 피자집에 직접 전화해서 주문)클라이언트 → 192.168.1.100:5000 (DSM 직접 접속)리버스 프록시를 사용할 경우 ( 손님 → 배달앱으로 주문 → 피자집에서 배달)클라이언트 → nas.domain.com (리버스 프록시) → 192.168.1.100:5000 (실제 DSM) 배달앱(리버스프록시) :손님의 주문을 받고알맞은 피자집에 전달하고피자가 완성되면 손님에게 전달손님입장 : 피자집 번호 몰라도됨배달앱(리버스프록시)으로만 소틍하면됨피자가 어디서 만들어지는지 몰라도 됨외부 요청이 들어왔을 때: "photo.nas.com" → "내부 IP:실제포트" 로 자동 연결되며내부서버 정보를 숨겨 외부에서는 실제 IP와 포트에 대해 직접적인 공격 불가 synology ..

개념노트 2024.12.15

HTTP Header

1. Content-Type응답 본문의 미디어 타입을 나타냅니다.Content-Type: text/html; charset=UTF-8: HTML 문서이며 UTF-8 인코딩을 사용합니다.Content-Type: application/json: JSON 데이터입니다.Content-Type: image/jpeg: JPEG 이미지입니다.기타 미디어 타입: application/xml, application/pdf, audio/mpeg, video/mp4 등.2. Content-Length응답 본문의 크기(바이트)를 나타냅니다.Content-Length: 1234: 응답 본문의 크기가 1234바이트임을 나타냅니다.3. Content-Encoding응답 본문에 적용된 압축 알고리즘을 나타냅니다.Content-Enc..

개념노트 2024.12.15

Web

SQL Injection구분세부 공격 유형비고SQL Injection• Basic/Classic Injection• Blind SQL Injection• Time-based Blind• Error-based• Union-based• Stacked Queries• Out-of-band• Basic: 직접적인 쿼리 조작• Blind: 참/거짓 응답을 통한 데이터 유추• Time-based: 시간 지연을 통한 데이터 유추• Error-based: 에러 메시지를 통한 정보 획득• Union-based: UNION 구문을 통한 데이터 결합• Stacked: 다중 쿼리 실행• Out-of-band: 대역외 채널을 통한 데이터 유출NoSQL Injection• MongoDB Injection• Redis Inject..

개념노트 2024.12.15