프로그래밍 공통/기타

개발 99·2025년 8월 7일

Restful API

  • HTTP통신을 Rest설계 규칙을 지켜서 개발한 API

  • Rest설계 규칙은 URI는 정보의 자원만 표현해야 하며, 자원의 상태와 행위는 HTTP Method에 명시.

행위 - 메소드 종류

  • GET : 정보 요청

  • POST : 정보 입력( body )

  • PUT : 전체 데이터 수정

  • PATCH : 일부 데이터 수정

  • DELETE : 정보 삭제.

이는 분산 시스템 간의 통신을 효율적이고 표준화된 방식으로 설계하기 위해 고안된 기술.

프레임워크와 라이브러리 차이

라이브러리는 주도권을 개발자가, 프레임워크는 주도권을 프레임워크에 위임(제어의 역전).

Call By Value와 Call By Reference의 차이

  • Call By Value(값에 의한 호출) = 인자로 받은 값을 복사하여 처리.
    : 값을 복하기 때문에 원래 값을 보존할 수 있지만, 복사로 인해서 메모리 사용량이 증가

  • Call By Reference(참조에 의한 호출) = 인자로 받은 값의 주소를 참조하여 직접 저장해 값에 영향을 줌.
    : 직접 참조를 하기에 원래의 값이 영향을 받는다.

JAVA는 "Call By Value" 이다.

CORS

도메인이 서로 다른 2개의 사이트가 데이터를 주고 받을 때 발생하는 문제.
따라서 다른 서버의 리소스를 불러오기 위해서는, Response 헤더에 그 출처에서 CORS에 대한 내용을 추가해야 한다.

  • Access-Control-Allow-Orgin : 요청을 보내는 페이지의 출처 [ *, 도메인 ]

  • Access-Control-Allow-Methods : 요청을 허용하는 메소드. Default : GET, POST

  • Access-Control-Max-Age : 클라이언트에서 preflight 요청 (서버의 응답 가능여부에 대한 확인) 결과를 저장할 시간

  • Access-Control-Allow-Headers : 요청을 허용하는 헤더

동적 쿼리

실행시에 특정 조건이나 상황에 따라 쿼리 문장이 변경되어 실행되는 쿼리문.
( where절에 조건이 달라질 때 사용 )

CSRF

사이트 간 요청 위조 : 사용자가 이미 로그인된 상태에서, 특정 웹사이트에 요청을 보내도록 속임.( 공격자가 의도한대로 사용자가 행동하게 한다. )

  1. 사용자의 요청에 referrer를 확인하여 도메인 일치여부 파악.

Base64 인코딩

binary 데이터 -> text로 인코딩

장점

  • binary 데이터를 텍스트로 변환.

  • 데이터 유실 없이 안전한 인코딩.

단점

  • 원래 데이터보다 33% 증가

  • 단순 변환이므로 보안성이 없음.

과정 : binary -> 8bit로 번들링 -> ASCII 코드로 변환. 디코딩은 역방향.

profile
구구구구구!

0개의 댓글