얇게 공부한 CS
-
JWT(JSON Web Token) 란얇게 공부한 CS 2024. 3. 1. 14:57
JWT는 인증에 필요한 정보를 암호화한 JSON 형식의 토큰으로, 웹 서비스의 인증 방식으로 사용할 수 있습니다. JWT 토큰을 HTTP 헤더에 실어 서버가 클라이언트를 실별할 수 있도록 합니다. JWT의 기본 구조 JWT는 크게 Header, Playload, Signature로 세 가지의 구성 요소로 이루어져 있습니다. 사용자가 인증을 수행하면, 서버는 다음의 정보를 가진 JWT 토큰을 발급합니다. - Header 사용할 해시 알고리즘과 토큰의 타입을 포함하는 메타 정보를 담습니다. - Payload 사용자의 클레임 등을 키-값 쌍으로 담은 정보입니다. 이 정보는 서버로 전달되어 인증에 사용됩니다. - Signature 헤더와 페이로드를 합친 후, 비밀키로 해싱하여 생성한 서명입니다. Client에게..
-
Oauth얇게 공부한 CS 2024. 2. 27. 15:27
Oauth는 인터넷 사용자가 구글, 카카오, 네이버 같은 SNS 계정을 통해 다른 서비스에 로그인할 수 있도록 하는 개방형 표준입니다. 이를 통해 사용자는 자신의 계정 정보를 직접 공유하지 않고, 다른 서비스에 특정 권한을 부여할 수 있습니다. 예를 들어, 구글 로그인 기능을 사용할 때 사용자가 구글의 비밀번호를 제공하지 않고, 계정의 일부 접근 권한을 얻을 수 있습니다. | 안전하지 않은 인증 방식 만약 사용자가 서비스에 자신의 SNS 아이디와 비밀번호를 직접 입력하고, 서비스가 이를 통해 SNS에 직접 로그인하는 방식은 사용자의 계정 정보가 서비스 제공자에게 직접 노출되기 때문에 보안적인 측면에서 매우 위험합니다. 이는 사용자의 계정 정보가 유출될 위험이 있으며, 이는 심각한 개인정보 침해로 이어질 ..
-
HTTP(HyperText Transfer Protocol) 이해하기얇게 공부한 CS 2024. 2. 26. 14:41
HTTP는 HyperText Transfer Protocol의 약자로 웹상에서 데이터를 주고받는 기본적인 규칙을 정의합니다. 또한 웹 문서뿐만 아니라 모바일 게임 개발 등 다양한 분야에서 활용됩니다. | HTTP HTTP는 클라이언트와 서버 간의 데이터 교환을 가능하게 하는 프로토콜입니다. 클라이언트가 웹 서버에 페이지나 이미지를 요청할 때 사용되고, 서버는 이 요청에 응답하여 필요한 데이터를 제공합니다. | HTTP 메서드(Method) HTTP 프로토콜은 다양한 종류의 요청을 지원하기 위해 여러 메서드를 제공합니다. 각 메서드는 특정한 목적에 맞게 설계되었고, 주요 메서드는 다음과 같습니다. GET: 서버로부터 데이터 조회 요청 ex) 웹페이지 접속, 정보 검색 POST: 데이터 생성 요청 ex) 회..
-
REST API얇게 공부한 CS 2024. 2. 25. 14:50
웹 애플리케이션과 시스템들은 다양한 서비스와 데이터를 공유하며 상호작용합니다. 이러한 상호작용을 가능하게 하는 핵심 기술 중 하나가 바로 REST API입니다. REST API는 다양한 플랫폼과 언어에서 사용할 수 있는 유연성을 제공하며, 웹 기반 서비스의 개발을 간소화하고 표준화합니다. | REST(Representational State Transfer) 등장 배경 HTTP 프로토콜은 GET, POST, PUT, DELETE 같은 다양한 메스드를 지원합니다. 서버가 이런 HTTP 메서드를 기존 설명과 맞지 않게 사용하더라도 프로그램 개발은 가능합니다. 하지만 이러면 소통과 협업에 문제가 발생할 수 있어서 이를 해결하기 위해 REST라는 아키텍처 스타일이 제안되었습니다. | REST의 이해 REST는 ..
-
명령어의 구조얇게 공부한 CS 2024. 2. 24. 16:52
컴퓨터 과학에서 명령어의 구조는 기본적이고 필수적인 지식인 거 같습니다. 이번에 공부를 통해 간단하게 이 구조에 대하여 알아보려 합니다. | 명령어의 기본 구조 명령어는 크게 연산 코드(op-code)와 오퍼랜드(operand) 두 부분으로 나뉩니다. 연산 코드는 덧셈, 뺄셈과 같은 산술 연산이나 데이터 전송 같은 데이터로 수행할 동작을 의미하고, 오퍼랜드는 이러한 연산의 대상이 되는 데이터를 말합니다. 이런 오퍼랜드는 피연산자라고 할 수도 있고, 이는 데이터가 직접 명시되기도 하고, 레지스터 이름, 메모리 주소 같은 대상의 위치가 명시되기도 합니다. 또한 같은 코드를 실행하는 명령어의 개수는 오퍼랜드의 개수에 따라서 달라질 수 있습니다. | 연산 코드의 종류 연산 코드는 크게 데이터 전송, 산술 / 논..
-
쿠키(Cookie)와 세션(Session)얇게 공부한 CS 2024. 2. 23. 14:46
웹 개발을 하다 보면, 사용자의 정보를 유지하고 관리해야 하는 경우가 있습니다. 이때 기본적으로 사용되는 기술이 쿠키(Cookie)와 세션(Session)입니다. | 쿠키(Cookie) 쿠키는 HTTP의 일종으로 사용자가 웹 사이트를 방문할 때, 사용자의 컴퓨터에 저장되는 작은 기록 파일입니다. 이 파일에 사용자가 사이트를 어떻게 이용했는지에 대한 정보가 담겨 있어서 사용자가 다시 사이트를 방문했을 때 이를 참고하여 개인화된 서비를 제공할 수 있습니다. 주요 특징 1. Key-Value쌍으로 구성되어 있습니다. 2. 도매인 당 20개의 쿠키를 가질 수 있습니다. 3. 하나의 쿠키는 4KB(4096byte)까지 저장 가능합니다. 4. 쿠키 이름, 값, 만료시간, 경로 정보 등으로 구성되어 있습니다. 5. ..
-
웹 브라우저의 동작얇게 공부한 CS 2024. 2. 21. 14:38
흔히 웹 사이트에 접속할 때 우리는 웹 브라우저 프로그램을 사용합니다. Chrome, Firefox, Safari와 같은 웹 브라우저들이 있고, 이는 사용자와 인터넷 사이의 중요한 다리 역할을 합니다. 이번에 이런 웹 브라우저의 기본적인 동작 원리와 구조를 살펴보려 합니다. | 서버(Server)와 클라이언트(Client) 인터넷 통신의 기본 구조는 서버와 클라이언 모델을 따릅니다. 클라이언트가 요청(request)을 보내면 서버가 응답(response)을 합니다. 서버로 요청을 보낸 뒤에 응답이 도착할 때까지 기다리고, 서버는 클라이언트로부터 받은 요청을 처리해 응답을 전송합니다. 응답을 받으면 서버의 응답을 처리하여 화면에 출력합니다. | HTML과 HTTP HTML은 웹 문서를 작성하기 위해 사용하..
-
[네트워크] OSI 7 계층얇게 공부한 CS 2024. 2. 2. 15:02
컴퓨터 네트워크 프로토콜 디자인과 통신을 7개의 계층으로 나타낸 국제표준화기구에서 개발한 모델 | OSI 7 계층 1. 물리 계층 (Physical Layer) - 물리적인 매체를 통해서 비트 스트림을 전송 - 전기 신호, 무선 신호, 케이블 등을 이용하여 0과 1의 비트를 전송 ex) 전기 신호, 광 신호, 무선 신호 등을 이용하여 데이터를 물리적인 매체를 통해 전송 2. 데이터 링크 계층 (Data Link Layer) - 물리 계층에서 송/수신되는 정보의 흐름을 관리하고 에러 체크 수행 - 이더넷 프레임, MAC주소를 기반으로 통신 ex) 물리적인 매체에 따라 MAC주소를 사용하여 데이터 전송 3. 네트워크 계층 (Network Layer) - 라우팅과 패킷 전달을 담당 - IP 주소를 사용하여 데..