분류 전체보기(52)
-
왜 HTTP는 Statless 인가??
TCP 의 특징 중 하나가 Stateful 이라고 하는 데 왜 HTTP는 Statless 인건가?? 1. TCP는 Stateful(상태 유지)TCP(Transmission Control Protocol)는 Stateful하다- TCP는 연결형 프로토콜로, 클라이언트와 서버 간의 연결을 유지하면서 데이터를 주고받는다.- 3-Way Handshake(3방향 핸드셰이크) 를 사용하여 연결을 설정한 후 데이터를 주고받고, 4-Way Handshake(4방향 핸드셰이크) 로 연결을 종료합니다. TCP의 Stateful 동작 방식클라이언트가 서버와 연결을 설정 (3-Way Handshake)데이터 전송 시 연결 유지 (State 유지)서버가 데이터 패킷을 재전송할 수도 있음 (State를 기억함)연결 종료 (4-..
2025.02.06 -
Multi Process vs Multi Thread
ProcessOS 운영체제에서 실행 중인 프로그램(작업 단위)독립적인 메모리 공간을 가지며, 다른 프로세스와 격리된다.하나의 프로세스가 종료되어도 다른 프로세스에 영향을 주지 않는다.하지만 새로운 프로세스를 생성하는 데 비용과 리소스가 많이 사용된다. ex)- 크롬 브라우저를 실행하면 여러 개의 프로세스가 생성됨.- firefox, nginx, apache2 같은 실행 중인 프로그램도 각각 독립적인 프로세스. Thread프로세스 내에서 실행되는 가벼운 작업 단위같은 프로세스 내의 Thread 들은 메모리를 공유하며, 서로의 데이터를 주고 받기 쉽다.Thread를 생성하는 비용이 Process 보다 적고 서로 간의 빠른 통신도 가능하다하지만 하나에 Thread이나 문제가 발생하면 같은 Process 안에 ..
2025.02.05 -
Synchronous vs Asynchronous ( 동기 vs 비동기 ) 방식
Synchronous ( 동기 방식 ) Requset 가 들어오면 해당 작업이 끝날 때까지 기다린 후 다음 작업을 처리하는 방식순차적(Blocking) 처리 방식으로 하나의 요청이 끝나야 다음 요청을 처리할 수 있다. 동기 방식 예제 (Python) import time def task1(): print("Task 1 시작") time.sleep(3) # 3초 대기 print("Task 1 완료") def task2(): print("Task 2 시작") time.sleep(2) # 2초 대기 print("Task 2 완료") task1() task2() print("모든 작업 완료")실행 결과Task 1 시작 (3초 후) Task 1 완료 Task 2 시..
2025.02.05 -
ACL (Access Control List)
Access List(ACL)는 네트워크 장비(라우터, 스위치 등)에서 트래픽을 필터링하고 보안을 강화하기 위해 사용되는 규칙들의 집합특정 IP 주소, 포트, 프로토콜 등에 기반하여 트래픽을 허용(permit)하거나 차단(deny)할 수 있도록 하는 설정 ACL의 역할- 트래픽 필터링: 네트워크 보안을 위해 불필요한 트래픽 차단- 보안 강화: 특정 IP 또는 포트 차단으로 해킹 및 비인가 접근 방지- QoS(Quality of Service): 특정 트래픽 우선 처리 가능- 네트워크 성능 최적화: 불필요한 트래픽을 줄여 대역폭 절약ACL의 유형(1) Standard ACL IP 주소만을 기반으로 필터링 (출발지 IP 기준)번호 범위: 1~99, 1300~1999간단한 트래픽 제어Router(config)..
2025.02.05 -
Static Request vs Dynamic Request
위 1번이 정적인 요청이고 2번이 동적인 요청일까?? 1. Static Request미리 저장된 파일을 그대로 반환하는 요청- 서버는 단순히 파일을 클라이언트에게 제공하고 끝남.- 서버에서 별도의 코드 실행 없이 클라이언트에게 응답을 반환함.- 요청이 들어오면 서버가 파일을 읽어서 그대로 클라이언트에게 전송하는 방식.ex) curl http://example.com/index.html서버에 미리 저장된 index.html을 그대로 반환.curl http://example.com/images/logo.png서버에 있는 logo.png 이미지를 그대로 반환.curl http://example.com/style.cssCSS 파일을 있는 그대로 클라이언트에게 제공. Client → (HTTP 요청) → We..
2025.02.04 -
SSH(Secure Shell)
네트워크 상에서 안전하게 통신하기 위해 설계된 프로토콜로, 원격 접속 및 파일 전송 등의 작업을 수행할 때 데이터의 기밀성, 무결성, 인증을 보장한다. SSH가 이러한 보안을 제공하기 위해 내부적으로 사용하는 주요 기술은 비대칭(Asymmetric) 암호화, 대칭(Symmetric) 암호화, 그리고 해시(Hash) 함수이다.Telnet is an older protocol that provides unencrypted communication over a networkTelnet 방식의 보안적 취약점을 보안하기 위해 등장한 프로토콜 SSH 는 크게 Handshake 와 Data transmission 단계로 나뉜다1) Handshake- Protocol version exchnage- Key exch..
2025.02.04