컴퓨터 과학 19

CS-CORS(Cross-Origin Resource Sharing) 교차 출처 리소스 공유

CORS ? CORS는 Cross-Origin Resource Sharing(교차 출처 리소스 공유)의 약자이다. 웹 애플리케이션의 보안 정책 중 하나로, 브라우저가 서로 다른 출처(도메인, 프로토콜, 포트) 간에 데이터를 주고받을 수 있는 규칙을 정의한다. 웹 보안 모델은 보안상의 이유로 기본적으로는 동일-출처 정책(Same-Origin Policy)을 따른다. 즉, 스크립트에서 로드한 문서나 리소스는 해당 스크립트가 포함된 출처와 동일한 출처에서 가져와야만 한다. 악성 스크립트로부터의 보호를 위해 다른 출처에서의 리소스 접근을 방지하는 것이 이유이다. 특정 교차 도메인 간(cross-domain) 요청, 특히 Ajax 요청도 동일-출처 보안 정책에 의해 기본적으로 금지된다. 하지만, CORS는 이러한..

컴퓨터 과학 2023.12.25

CS-SOP(Same-Origin Policy) 동일 출처 정책

CORS를 이해하기 전에, SOP(Same-Origin-Policy), 동일 출처 정책을 알 필요가 있다. SOP ? SOP(동일 출처 정책, Same-Origin Policy) 으로, 동일 출처 정책(Same-Origin Policy)은 웹 브라우저에서 스크립트로 로드한 문서나 리소스가 해당 스크립트가 위치한 출처와 동일한 출처에서만 가져와야 한다는 웹 보안 정책이다. 이는 다른 출처(프로토콜, 도메인, 포트) 간 데이터 공유를 제한하여 악성 스크립트에 의한 공격을 방지하고 사용자 정보 보호를 강화하는 보안 메커니즘이다. 동일 출처 정책은 다음과 같은 원칙을 따른다. 같은 출처 프로토콜(https://, http:// 등), 호스트(도메인), 포트(명시된 경우)가 동일한 리소스들은 동일 출처로 간주된다..

컴퓨터 과학 2023.12.18

CS-TCP(전송 제어 프로토콜)

TCP ? Transmission Control Protocol, 전송 제어 프로토콜이라고 한다. 컴퓨터가 다른 컴퓨터와 데이터 통신을 하기 위한 규약(프로토콜)의 일종이다. TCP는 데이터를 보내기 전에 연결을 설정하고, 데이터를 안정적으로 전송하며, 전송 후에는 연결을 정리하는 등의 기능을 담당하여 신뢰성 있는 데이터 전송을 보장한다. 이 프로토콜은 인터넷에서 가장 널리 사용되며, 웹 브라우징, 이메일, 파일 전송 등과 같은 다양한 네트워크 응용 프로그램에서 활용된다. TCP는 세계 통신표준으로 개발된 OSI 모형에서 4번째 계층인 전송 계층(Transport Layer)에서 사용하는 규약으로, 보통 하위 계층에서 사용하는 IP와 엮어서 TCP/IP로 표현하는 경우가 많다. 동일 계층에서 사용하는 또..

컴퓨터 과학 2023.12.13

CS-OSI(Open Systems Interconnection) 7계층

OSI(Open Systems Interconnection) ? 네트워크 프로토콜의 기능과 작업을 7개의 계층으로 나눈 모델이다. 즉, 컴퓨터를 사용할 때 네트워크 상에서 통신이 수행되는 과정을 표현한다. 각 계층은 특정한 기능을 수행하고, 상위 및 하위 계층과 통신한다. 전체 과정이 구분된다는 점에서 네트워크 문제가 생겼을 때, 해결하기 쉽다. → 이상이 발생한 계층의 장비만 수리할 수 있다는 점에서 효과적이다. OSI 7계층 P-D-N-T-S-P-A Physical Layer(물리 계층, 1계층) 기계의 전기적인 특성을 활용하여 비트(bit) 단위로 0 혹은 1을 의미하는 전기 신호를 전달한다. ex) 통신 케이블, 리피터 Data Link Layer(데이터 링크 계층 , 2계층 ) MAC 주소를 사..

컴퓨터 과학 2023.12.11

CS-데이터베이스(DataBase)

1. 데이터베이스(DataBase)란 ? DB라고도 부른다. 여러 사람이 공유하여 사용할 목적으로 체계화 해 통합, 관리하는 데이터의 집합을 말한다. 웹 사이트 혹은 앱을 개발할 떄 데이터베이스를 사용하는 경우가 많다. 예를들어, 커뮤니티 사이트를 개발한다고 하면 1. 회원 정보 2. 게시글 정보 등의 데이터를 저장할 공간이 필요할 것이다. 이때 DBMS 소프트웨어를 이용해서 DB를 관리한다. 2. DBMS(DataBase Management System)란 ? 데이터베이스 관리 시스템, 말 그대로 데이터베이스를 생성하고 관리하는 소프트웨어 시스템으로, 데이터에 접근하여 저장, 관리, 조작, 검색 등을 수행한다. DBMS는 사용자와 데이터베이스 간의 상호 작용을 관리하고, 사용자가 데이터를 쉽게 접근하고..

컴퓨터 과학 2023.11.18

CS-JWT(JSON Web Token)

JWT는 무엇일까 ? JSON Web Token의 약자로, 웹에서 정보를 안전하게 전달하기 위한 토큰 기반의 규약이다. 주로 클라이언트와 서버 간의 인증 및 권한 관리를 위해 사용된다. JSON 형식을 사용하여 정보를 표현하며, 디지털 서명이나 암호화를 통해 검증될 수 있다. JWT의 구조 Header(헤더): JWT의 유형과 사용하는 알고리즘 등에 대한 메타데이터가 포함되어 있다. { "alg": "HS256", "typ": "JWT" } Payload(페이로드): 실제로 전송되는 키, 값 형식으로 이루어진 데이터가 이 부분에 포함된다. 클레임(claim)이라고 불리는 특정 정보를 담고 있다. 클레임은 세 가지 유형으로 나뉘어진다. 등록된(Registered)클레임 공개(Public)클레임 비공개(Pr..

컴퓨터 과학 2023.11.13

CS-JSON(JavaScript Object Notation)

1. JSON은 무엇일까 ? JSON은 (JavaScript Object Notation)의 약자로, 약자를 번역하면 자바스크립트 객체 표기법이라고 할 수 있다.("제이슨" 이라고 읽는다.) 사람이 읽고 쓰기 쉽고 기계가 파싱 및 생성하기도 용이한 텍스트 기반(경량)의 데이터 형식(format)이다. (매우 엄청난 장점이다.) 주로 웹에서 데이터를 전송하거나 구조화된 데이터를 저장하는 데 사용된다. 일반적으로 서버에서 클라이언트로 데이터를 보낼 때 사용하는 양식이다. - JSON 형식의 특징 JSON 형식에서는 키(key)와 값(value)의 쌍으로 이루어진 데이터 객체를 사용한다. JSON 객체 내의 키-값 쌍은 순서를 갖지 않는다. 즉, 데이터의 순서가 중요하지 않다. 새로운 데이터 타입이나 구조를 ..

컴퓨터 과학 2023.11.13

CS-OAuth(Open Authorization)

1. OAuth는 뭘까 ? "Open Authorization"의 약자이다. "Open Authorization"은 사용자의 데이터에 대한 안전한 접근 및 권한 부여를 위한 표준 인증 프로토콜로 사용된다. 예시를 보면 소셜 로그인 또는 sns 로그인이라고 이런 화면 많이 봤을 것이다. 이런 로그인 방식을 OAuth 인증, OAuth 기반 로그인 이라고 한다. 2.그렇다면 OAuth 기반 로그인의 장점은 무엇일까 ? 사용자 경험 개선 사용자가 다른 애플리케이션 또는 서비스로 쉽게 로그인할 수 있도록 도와준다. 사용자가 새로운 계정을 만들거나 로그인 자격 증명을 다시 입력하는 번거로움을 줄여준다. 보안 강화 사용자가 원하는 특정 권한만 부여할 수 있도록 하여, 사용자의 데이터에 대한 접근을 제어할 수 있다...

컴퓨터 과학 2023.11.08

c언어-메모리

16진수(Hexadecimal) 16진수를 사용하면 10진수보다 2진수를 간단하게 나타낼 수 있다. 2^4dl 16이기 때문에 4bits씩 두 덩어리로 나누면 0000부터 1111까지는 16진수로 표현할 수 있다 16진수에서 10부터 15까지는 10은 a, 11은 b ..., 15는 f를 대입하여 사용한다. 4bits씩 16진수로 변환 후 0x를 붙혀 뒤에오는 문자들이 16진수임을 알려준다. 예를 들어 ASCII코드에서 A는 10진수로 65이다. 이걸 2진수로 나타내면, 01000001 인데 0100 은 4 0001 은 1 이므로 16진수로 나타내면 0x41이다. swap 함수 swap은 정수a와 b를 입력받아 그 값을 바꾸는 일을 한다. fopen fopen 함수를 이용하면 파일을 FILE이라는 자료형..

컴퓨터 과학 2023.01.21

c언어-알고리즘

검색 알고리즘 선형 검색 배열의 인덱스를 처음부터 끝까지 하나씩 증가시키면서 방문하여 그 값이 속하는지 검사한다. For i from 0 to n–1 If i'th element is 50 Return true Return false 이진 검색 만약 배열이 정렬되어 있다면, 배열 중간 인덱스부터 시작하여 찾고자 하는 값과 비교하며 그보다 작은 (작은 값이 저장되어 있는) 인덱스 또는 큰(큰 값이 저장되어 있는) 인덱스로 이동을 반복하면 된다. If no items Return false If middle item is 50 Return true Else if 50 middle item Search right half 알고리즘 ..

컴퓨터 과학 2023.01.21