전체 글135 [HTTP] HTTP 주요 헤더와 활용법 HTTP 주요 헤더와 활용법1. 일반 헤더 (General Headers)Connection현재의 전송이 완료된 후 네트워크 접속을 유지할지 결정Connection: keep-aliveConnection: closeDate메시지가 생성된 날짜와 시간Date: Wed, 19 Feb 2025 08:30:00 GMT 2. 요청 헤더 (Request Headers)Accept클라이언트가 처리 가능한 컨텐츠 타입Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8Authorization인증 토큰이나 인증 정보를 서버로 전송Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXV.. 2025. 2. 21. [HTTP] HTTP 인증방식 : Basic, Bearer, OAuth까지 HTTP 인증 방식 완벽 가이드: Basic, Bearer, OAuth까지 1. Basic 인증가장 기본적인 인증 방식으로, 사용자 이름과 비밀번호를 Base64로 인코딩하여 전송합니다. 구현 예제// 클라이언트 측const username = 'user';const password = 'pass';const basicAuth = 'Basic ' + btoa(username + ':' + password);fetch('https://api.example.com', { headers: { 'Authorization': basicAuth }});// 서버 측 (Express)const auth = require('basic-auth');app.use((req, res, next) =>.. 2025. 2. 21. [HTTP] 웹 브라우저 동작 원리 : URL 입력부터 화면 표시까지 웹 브라우저 동작 원리: URL 입력부터 화면 표시까지 1. URL 입력과 파싱사용자가 브라우저에 URL을 입력하면 다음과 같은 과정이 시작됩니다: URL 파싱https://www.example.com/path프로토콜(https://) 확인도메인(www.example.com) 추출경로(/path) 식별 2. DNS 조회 과정 1) DNS 캐시 확인브라우저 DNS 캐시OS DNS 캐시로컬 hosts 파일 2) DNS 조회 순서Root DNS 서버 조회TLD(Top Level Domain) 서버 조회Authoritative DNS 서버 조회example.com -> 93.184.216.34 3. TCP 연결 수립 TCP 3-way Handshake클라이언트 → SYN → 서버클라이언트 ← SYN + ACK .. 2025. 2. 21. [HTTP] URL 구조 파헤치기 URL 구조 파헤치기 URL의 기본 구조scheme://username:password@host:port/path?query#fragment1. 스키마(Scheme)프로토콜을 지정주요 스키마:http: 일반 웹 통신https: 보안 웹 통신ftp: 파일 전송mailto: 이메일file: 로컬 파일2. 사용자 정보(Userinfo)username:password 형식거의 사용되지 않음 (보안상 권장되지 않음)예: ftp://user:pass@ftp.example.com/3. 호스트(Host)도메인 이름 또는 IP 주소예시:www.example.com192.168.1.1localhost4. 포트(Port)서비스 포트 번호생략 시 기본값 사용:HTTP: 80HTTPS: 443FTP: 215. 경로(Path)리.. 2025. 2. 20. [HTTP] 쿠키와 세션 완벽 가이드: 웹 인증의 기본 쿠키와 세션 완벽 가이드쿠키(Cookie)란?쿠키는 웹사이트가 사용자의 브라우저에 저장하는 작은 텍스트 파일입니다. 웹사이트는 쿠키를 통해 사용자의 설정이나 선호도를 기억할 수 있습니다. 쿠키의 주요 특징클라이언트(브라우저) 측에 저장만료 기간 설정 가능도메인별로 저장되어 관리용량 제한 있음 (보통 4KB) 쿠키 생성 예제 (Express)app.get('/set-cookie', (req, res) => { res.cookie('user', 'john', { maxAge: 24 * 60 * 60 * 1000, // 24시간 httpOnly: true, // JS 접근 방지 secure: true, // HTTPS에.. 2025. 2. 20. [HTTP] HTTP 메서드 완벽 가이드: RESTful API의 기초 HTTP 메서드 완벽 가이드: RESTful API의 기초HTTP 메서드란?HTTP 메서드는 클라이언트가 웹 서버에게 요청의 목적과 종류를 알려주는 방법입니다. 각 메서드는 특정한 의미를 가지고 있으며, RESTful API 설계에서 핵심적인 역할을 합니다. 주요 HTTP 메서드 GET리소스 조회에 사용서버의 데이터를 변경하지 않음 (읽기 전용)URL에 데이터가 노출되므로 민감한 정보 전송에 부적합캐시 가능GET /api/users/123 HTTP/1.1Host: example.com 실제 사용 예:게시글 목록 조회사용자 프로필 정보 조회상품 상세 정보 조회 POST새로운 리소스 생성서버의 상태나 데이터를 변경요청 데이터를 body에 포함멱등성을 보장하지 않음POST /api/users HTTP/1.1H.. 2025. 2. 19. [HTTP] 개발자가 꼭 알아야 할 HTTP 상태 응답 코드 개발자가 꼭 알아야 할 HTTP 상태 응답 코드 HTTP 상태 코드란?HTTP 상태 코드는 서버가 클라이언트의 요청을 처리한 결과를 알려주는 3자리 숫자입니다. 이 코드를 통해 요청이 성공했는지, 실패했다면 어떤 문제가 있는지를 빠르게 파악할 수 있습니다. 상태 코드의 분류상태 코드는 첫 번째 숫자에 따라 5가지 종류로 구분됩니다: 1xx (정보 응답)요청을 받았으며 작업을 계속한다는 의미실제로는 자주 사용되지 않음 2xx (성공)가장 자주 보게 되는 성공 상태 코드들입니다:200 OK가장 일반적인 성공 응답GET 요청이 성공적으로 처리됨실제 데이터가 응답 본문에 포함201 Created새로운 리소스가 성공적으로 생성됨POST 요청 후 새 리소스 생성 시 사용주로 회원가입, 게시글 작성 등에서 발생20.. 2025. 2. 19. [HTTP] X-Forwarded-For 헤더 이해하기 HTTP X-Forwarded-For 헤더 이해하기 X-Forwarded-For 헤더란?X-Forwarded-For(XFF) 헤더는 HTTP 프록시나 로드 밸런서를 통해 웹 서버에 접속하는 클라이언트의 원 IP 주소를 식별하기 위한 표준 헤더입니다. 클라이언트가 프록시를 거치면 서버는 프록시의 IP만 볼 수 있기 때문에, 실제 클라이언트의 IP를 전달하기 위해 이 헤더가 사용됩니다. 헤더의 구조 X-Forwarded-For 헤더의 기본 형식은 다음과 같습니다:X-Forwarded-For: client-ip, proxy1-ip, proxy2-ip가장 왼쪽의 IP가 원래 클라이언트의 IP이며, 오른쪽으로 갈수록 요청이 거쳐간 프록시들의 IP가 순서대로 나열됩니다. 사용 사례 X-Forwarded-For 헤더.. 2025. 2. 14. [IntelliJ] IntelliJ IDEA(2024.1.3 버전)에서 항상 파일 경로 보이게 설정 IntelliJ IDEA 2024.1.3 버전에서 항상 파일 경로 보이게 설정 작업을 하다보면, 경로가 궁금한 적이 많은데, 아주 쉽게 경로를 확인할 수 있게 설정을 변경할 수 있다. 설정전에는 Navigation Bar > Don't Show로 선택되어있다. Mac 기준View > Appearance > Navigator Bar > In Status Bar 로 변경한다. 설정 후, 왼쪽 하단 밑에 경로가 나타난 걸 확인할 수 있다. 2025. 2. 13. [iTerm2] 스크롤 무제한으로 늘리기 - Unlimited scrollback 설정 iTerm2의 터미널 기본 설정에는 스크롤이 1000줄 넘어가면 화면에 보이지가 않는다.무제한으로 설정하는 방법을 알아본다 설정 전(기본값) Settings > Profiles > Terminal 에서 Unlimited scrollback 을 클릭해주면 된다. 설정 후 화면 2025. 2. 10. [MySQL] "Integer display width is deprecated" 경고 메시지 이해하기 MySQL "Integer display width is deprecated" 경고 메시지 이해하기 경고(warning) 메시지 해석Warning | 1681 | Integer display width is deprecated and will be removed in a future release.이 경고 메시지는 MySQL 8.0에서 정수형 데이터 타입에 표시 너비를 지정하는 것이 더 이상 사용되지 않으며(deprecated), 향후 버전에서 제거될 예정이라는 것을 알려주는 메시지다. 기존 사용 방식과거의 표시 너비 지정 방식-- 표시 너비를 지정한 방식CREATE TABLE users ( id INT(11), age INT(3), score TINYINT(2));여기서 괄호 안의 숫.. 2025. 2. 7. [MySQL] TINYINT vs BIT - 어떤 것을 사용해야 할까? [MySQL] TINYINT vs BIT - 어떤 것을 사용해야 할까?MySQL에서 boolean 값을 저장할 때 주로 사용되는 TINYINT와 BIT 타입에 대해 비교 분석해보자. 데이터 타입 특징TINYINT-- TINYINT 정의CREATE TABLE test_tinyint ( id INT PRIMARY KEY, is_active TINYINT(1));-- 데이터 삽입INSERT INTO test_tinyint VALUES (1, 1); -- trueINSERT INTO test_tinyint VALUES (2, 0); -- false저장 공간: 1바이트값 범위: -128 ~ 127 (TINYINT SIGNED) 또는 0 ~ 255 (TINYINT UNSIGNED)boolean 용도.. 2025. 2. 7. 이전 1 2 3 4 ··· 12 다음