본문 바로가기

분류 전체보기292

HTTP, HTTP/2, HTTP/3의 차이점 HTTP/1.1, HTTP/2, 그리고 HTTP/3는 웹에서 데이터를 전송하는 데 사용되는 프로토콜로, 각각의 버전은 성능과 효율성을 개선하기 위해 진화해왔습니다. 각 버전의 차이를 자세히 알아보면 다음과 같습니다.1. HTTP/1.1HTTP/1.1은 현재까지도 많이 사용되는 프로토콜 버전입니다. HTTP/1.0의 문제점을 해결하기 위해 등장했으며, 새로운 웹 환경에 맞게 여러 기능들이 추가되었습니다.주요 특징:요청/응답 모델: HTTP/1.1은 요청과 응답이 1:1로 이루어지는 방식입니다. 클라이언트가 요청을 보내면, 서버는 그 요청에 대한 응답을 보내고, 그 과정이 끝나면 연결이 종료됩니다.지속 연결(persistent connection): HTTP/1.0에서는 요청을 할 때마다 새로운 TCP 연결.. 2024. 9. 30.
텍스트 인코딩 방식과 HTTP의 발전 1. 텍스트 인코딩 방식텍스트 데이터를 컴퓨터에서 저장하고 처리할 때, 다양한 인코딩 방식이 사용됩니다. 이 중 대표적인 인코딩 방식은 ASCII와 **유니코드(UTF-8, UTF-16)**입니다.1) ASCIIASCII(American Standard Code for Information Interchange)는 가장 기본적인 텍스트 인코딩 방식입니다.7비트를 사용해 128개의 문자(영문 알파벳, 숫자, 기본 특수 문자 등)를 표현할 수 있습니다.확장 ASCII는 8비트를 사용해 256개의 문자를 지원합니다.초기 컴퓨터 시스템에서 많이 사용되었으나, 다국어를 처리하는 데 한계가 있습니다.2) 유니코드(Unicode)유니코드는 전 세계 모든 문자를 하나의 표준으로 정의한 인코딩 방식입니다.UTF-8과 U.. 2024. 9. 29.
HTTP 요청/응답 구조 (프로토콜, 메서드) HTTP는 클라이언트(주로 웹 브라우저)와 서버 간에 이루어지는 요청/응답(Request/Response) 기반의 통신 프로토콜입니다. HTTP 통신에서 요청(Request)과 응답(Response)은 각각 헤더(Header)와 바디(Body)로 구성됩니다. HTTP 요청(Request) 구조요청 라인(Request Line):HTTP 메서드, 요청할 URL, 사용된 HTTP 버전을 포함합니다.예시: GET /index.html HTTP/1.1헤더(Header):요청에 대한 메타데이터를 포함하며, 각 헤더는 이름과 값으로 이루어져 있습니다.예시 헤더:Host: 요청 대상 서버의 도메인 이름 (예: Host: www.example.com)User-Agent: 클라이언트의 정보 (브라우저, 운영체제 등)Ac.. 2024. 9. 27.
2024.09.27(금) { HTTP/3, HTTP 상태 코드, HTTP는 무상태 프로토콜, 파이프라이닝, 소켓통신 } HTTP/3는 QUIC(Quick UDP Internet Connections) HTTP/3와 QUIC의 관계HTTP/3는 HTTP/2의 후속 프로토콜로, TCP 대신 UDP를 기반으로 동작합니다. 기존의 HTTP/1.x와 HTTP/2는 모두 TCP 위에서 동작했지만, HTTP/3는 QUIC 프로토콜을 기반으로 하여 UDP 위에서 동작합니다.QUIC는 Google이 개발한 전송 계층 프로토콜로, 빠르고 안전한 데이터 전송을 위해 설계되었습니다. TCP의 성능 문제(예: 느린 연결 설정, HOL(Head-of-Line) 블로킹)를 해결하기 위해 만들어졌습니다.HTTP/3는 QUIC을 사용해 이러한 성능 문제를 개선하며, 주로 웹 브라우저와 서버 간 통신에서 사용됩니다.HTTP/3(QUIC)의 주요 특징UD.. 2024. 9. 27.
HTTP와 HTTPS HTTP와 HTTPS의 차이는 보안 여부에 있습니다. HTTPS는 HTTP에 보안 계층(SSL/TLS)을 추가하여 데이터를 암호화하여 전송하는 방식입니다. 이를 통해 데이터를 안전하게 전송할 수 있도록 보장합니다. 다음은 HTTP와 HTTPS의 주요 차이점입니다.HTTP(비보안):**HTTP(HyperText Transfer Protocol)**는 비암호화된 통신 프로토콜입니다.데이터를 클라이언트(브라우저)와 서버 간에 **평문(Plain Text)**으로 주고받습니다. 즉, 전송된 데이터는 누구나 중간에서 쉽게 볼 수 있습니다.보안 위협에 취약합니다. 예를 들어, **중간자 공격(Man-in-the-Middle Attack)**이나 도청 등의 공격에 노출될 수 있습니다.주로 80번 포트를 사용합니다.H.. 2024. 9. 27.
인증(Authentication)과 인가(Authorization) **인증(Authentication)**과 **인가(Authorization)**는 보안 시스템에서 서로 다른 개념이며, 각각의 목적과 기능이 다릅니다. 아래에서 이 두 개념의 차이점을 자세히 설명하겠습니다.1. 인증(Authentication)인증은 사용자가 누구인지 확인하는 과정입니다. 즉, 시스템에 접근하려는 사용자가 자신이 주장하는 대로 정당한 사용자인지를 검증하는 절차입니다.무엇을 확인하는가?: 사용자 또는 시스템이 본인임을 증명하는 것.어떻게 확인하는가?: 보통 사용자 이름과 비밀번호, 인증 토큰, 생체 정보(지문, 얼굴 인식) 등을 사용하여 본인을 증명합니다.예시: 사용자가 로그인할 때 아이디와 비밀번호를 입력하는 과정이 인증입니다. 여기서 시스템은 입력된 정보가 사용자 데이터베이스에 있는 .. 2024. 9. 27.