분류 전체보기

HTTPS (HTTP over SSL/TLS)대칭키 암호화 알고리즘비대칭키 암호화 알고리즘키 교환 알고리즘인증서인증 기관 대칭 키 암호화 알고리즘"암호화에 사용하는 키" 와 "복호화에 사용하는 키" 가 같은 알고리즘예 )DES (Data Encrytion Standard)AES (Advanced Encryption Standard)암복호화 성능이 좋은 특징이 있음. 비대칭키 암호화 알고리즘암복호화에 사용하는 키가 서로 다른 알고리즘공개키 & 개인키공개키로 암호화 한 것은 개인키로 풀 수 있음.개인키로 암호화 한 것은 공개키로 풀 수 있음.예: RSA
1. HTTP의 인증, 쿠키, 세션HTTP는 무상태(stateless) 프로토콜이기 때문에, 클라이언트와 서버 간의 연결 상태를 유지하지 않는다.따라서 사용자의 로그인 상태를 유지하거나, 요청을 인증하는 기능이 필요하다.이를 위해 HTTP는 인증(Authentication), 쿠키(Cookie), 세션(Session) 등의 기술을 사용한다. 1.1 HTTP 인증 (Authentication)HTTP 요청을 보낸 클라이언트가 "누구인지" 확인하는 과정 1.1.1 HTTP 기본 인증 방식Basic Autentication: 가장 단순한 방식으로, 아이디와 비밀번호를 Base64로 인코딩하여 전달Digest Authentication: Basic 방식보다 보안이 강화된 방식 (해시 기반 인증)Token-Bas..
1. HTTP 메서드 1.1 HTTP 메서드란?HTTP 메서드는 클라이언트가 서버에 요청을 보낼 때 어떤 동작을 수행할지 지정하는 방법이다.HTTP 메서드는 크게 5가지 주요 메서드와 기타 보조 메서드로 나뉜다.주요 메서드: GET, POST, PUT, PATCH, DELETE보조 메서드: HEAD, OPTIONS, CONNECT, TRACE 1.2 HTTP 주요 메서드 설명1.2.1 GET 메서드서버에서 데이터를 조회하는 요청이다.요청 본문(Body)을 포함하지 않는다.사용 예시웹사이트에서 페이지를 로드할 때REST API에서 데이터를 가져올 떄 (예: GET /users)검색 엔진에서 URL을 크롤링할 때GET 요청 예제GET /products HTTP/1.1Host: example.comUser-A..
1. HTTP (HyperText Transfer Protocol)HTTP는 인터넷 상에서 데이터를 주고받기 위한 프로토콜로, 웹에서 가장 널리 사용되는 프로토콜이다  1.1 HTTP의 특징1. 비연결성 (Stateless)각 요청(request)과 응답(response)은 독립적으로 처리된다.서버는 클라이언트의 이전 요청 상태를 기억하지 않는다.상태를 유지하려면 쿠키,세션,JWT 등의 기술을 활용해야 한다.2. 요청-응답 구조클라이언트가 요청을 보내고 서버가 응답을 반환하는 방식요청에는 데이터를 요청하거나, 서버에 데이터를 전송할 수 있다.3. 텍스트 기반 프로토콜요청과 응답 메시지는 사람이 읽을 수 있는 텍스트 형식이는 디버깅과 테스트를 쉽게 해준다.4. URI 사용HTTP는 URI (Uniform ..
1. HyperText (하이퍼텍스트)HyperText는 텍스트 기반 정보 표현 방식 중 하나로, 연결성과 비선형성을 특징으로 한다.문서 내 텍스트에서 다른 문서나 리소스로 이동할 수 있는 링크(연결 고리)를 제공한다. 1.1 HyperText의 개념정의: 하이퍼텍스트는 특정 단어나 구문을 클릭했을 때, 관련1된 다른 텍스트나 리소스에 연결되는 방식으로 작성된 텍스트비선형성: 사용자가 문서를 읽는 순서를 강제하지 않고, 자유롭게 이동할 수 있도록 설계되어 있음.인터랙티브성: 사용자가 원하는 정보에 즉시 접근할 수 있는 인터페이스를 제공함. 1.2 HyperText의 특징1. 비선형 구조정보를 순차적을 읽을 필요 없이, 사용자가 원하는 정보를 자유롭게 탐색 가능예: 웹 브라우징, 위키백과2. 상호 연결성문..
Java Socket CommuncationJava에서는 socket 통신을 위해 Socket 클래스와 서버 구성을 위한 ServerSocket 클래스를 지원하며, 아래와 같이 동작한다. Class SocketJava에서 Socket 클래스는 네트워크 상에서 두 프로세스 간 통신을 가능하게 하는 엔드포인트이다. 주로 클라이언트가 서버에 연결할 때 사용되며, TCP 기반으로 동작한다. (DatagramSocket은 UDP 기반)  Socket의 기본 동작 흐름1. 클라이언트가 Socket 객체를 생성하여 서버의 특정 IP주소와 포트로 연결 요청2. 서버가 ServerSocket.accept()를 호출하여 클라이언트 연결 수락3. 클라이언트와 서버가 데이터를 송수신4. 통신이 끝나면 close()를 호출하여..
UDPUDP (User Datagram Protocol)는 비연결형, 속도 우선의 전송 계층 프로토콜로, 네트워크상에서 데이터를 빠르게 전송하기 위해서 설계됌.  특징비연결형 (Connectionless)UDP는 송신자와 수신자가 데이터를 교환하기 전에 연결 설정 과정이 없다. 이로인해 전송 지연이 적고 속도가 빠름.신뢰성 없음 (Unreliable)UDP는 데이터의 전달 여부를 확인하지 않는다.데이터의 신뢰성을 보장해야 하는 경우 애플리케이션 레벨에서 이를 별도로 처리해야 함.패킷 단위 전송UDP는 데이터를 데이터그램 단위로 전송한다.각 데이터그램은 독립적으로 처리되며, 패킷의 크기가 IP 패킷의 최대 크기를 초과하면 전송이 불가능함.빠른 속도신뢰성이나 순서 보장을 위한 부가적인 작업을 수행하지 않으므..
TCP (Transmission Control Protocol)TCP (Transmission Control Protocol)는 인터넷 프로토콜 스위트의 핵심 프로토콜 중 하나로, 신뢰성 있는 데이터 전송을 보장하는 연결 지향 프로토콜이다. TCP는 데이터의 전송 순서와 무결성을 보장하며, 패킷 손실 시 재전송을 통해 데이터의 완전성을 유지한다. 특징연결 지향 (connected-oriented)TCP는 데이터 전송 전에 송신자와 수신자 간의 연결을 설정한다.신뢰성 (Reliability)데이터가 손실되거나 손상된 경우 재전송을 통해 데이터의 무결성을 보장한다.흐름 제어 (Flow Control)송신자가 수신자의 처리 능력을 초과하지 않도록 데이터 전송 속도를 조절한다.혼잡 제어 (Congestion C..
Socket Communication(소켓 통신)소켓 통신은 네트워크상에서 두 프로그램 간의 통신을 가능하게 하는 기술이다.소켓은 IP 주소와 Port 번호로 구성되며, 클라이언트와 서버 간의 데이터 전송을 담당한다. IP Address (Internet Protocol Address, IP 주소)IP 주소는 네트워크상에서 장치를 구분하는 고유한 식별번호이다. IP 주소는 두 가지 버전이 있다.1. IPv4 : 32비트 주소 체계로, 4개의 8비트 숫자로 구성된다.예: 192.168.0.12. IPv6 : 128비트 주소 체계로, 8개의 16비트 숫자로 구성된다.예: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 Port (포트)포트는 IP 주소와 결합되어 특정 네트워크 서비스나..
특징여러 개의 스레드를 만들어 두고 여러 번 재사용되는 작업자 스레드 그룹을 나타낸다.고정 크기로 생성된 스레드 풀에 Runnable object를 주고 실행을 요청하면, thread pool에서 thread를 가져와 실행한다.만약 스레드 풀에 남아 있는 스레드가 없다면, 유휴 스레드가 생길 때 까지 해당 작업은 실행되지 못하고 대기 상태에 있게 된다.실행 중이던 스레드는 작업이 완료되면 다시 스레드 풀로 돌아오게 되고, 대기 중인 작업이 있는 경우 다시 실행되게 된다.장점스레드 생성과 삭제에 따른 시간과 자원을 절약할 수 있다.스레드 생성을 제한함으로써, 무분별한 자원 사용에 따른 문제점을 방지할 수 있다.주의할 점DeadlockMulti-thread와 관련된 모든 프로그램에서 교착 상태가 발생할 수 ..
말동말동현
'분류 전체보기' 카테고리의 글 목록