http 7

[모든 개발자를 위한 HTTP 웹 기본 지식] 7. HTTP 헤더 - 캐시와 조건부 요청

1. 캐시 기본 동작캐시가 없을 때데이터가 변경되지 않아도 계속 네트워크를 통해 데이터를 다운로드해야 함인터넷 네트워크는 느리고 비싸며, 브라우저 로딩 속도가 느려져 사용자 경험이 저하됨캐시가 적용첫 번째 요청: 서버가 응답 헤더에 cache-control: max-age=60을 포함하여 전송 (60초간 유효)두 번째 요청: 브라우저 캐시를 확인하여 유효 시간 내라면 네트워크를 타지 않고 캐시에서 조회 (매우 빠름)캐시 시간 초과: 유효 시간이 지나면 다시 서버를 통해 데이터를 조회하고 캐시를 갱신함 (네트워크 다운로드 발생)다시 서버로부터 정보를 받아서 캐시에 데이터를 저장함근데, 첫 번째 요청으로부터 받은 데이터와 세 번째 요청으로 받는 데이터가 같은데 또 다운받는건 비효율적?2. 검증 헤더와 조건부..

INFLEARN 2026.03.31

[모든 개발자를 위한 HTTP 웹 기본 지식] 6. HTTP 일반 헤더

HTTP 헤더 1 - 일반 헤더 정리1. HTTP 헤더 개요형식: field-name ":" OWS field-value OWS (field-name은 대소문자 구분 없음)용도: HTTP 전송에 필요한 모든 부가정보 포함 (메시지 바디 내용, 크기, 압축, 인증, 서버 정보, 캐시 관리 등)표준 헤더: 매우 방대하며, 필요시 임의의 헤더 추가 가능2. HTTP 바디와 헤더의 변화 (RFC2616 → RFC7230)과거 (RFC2616): 엔티티(Entity)라는 용어 사용. 엔티티 헤더가 엔티티 본문 데이터를 해석하는 정보 제공.최신 (RFC7230~7235): 표현(Representation) 이라는 용어 사용.표현 = 표현 메타데이터 + 표현 데이터메시지 본문(message body)을 통해 표현 데..

INFLEARN 2026.03.31

[모든 개발자를 위한 HTTP 웹 기본 지식] 5. HTTP 상태코드 (HTTP Status Codes)

1. 개요상태 코드는 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능입니다.1xx (Informational): 요청이 수신되어 처리 중 (거의 사용 안 함)2xx (Successful): 요청 정상 처리3xx (Redirection): 요청 완료를 위해 추가 행동 필요4xx (Client Error): 클라이언트 오류 (잘못된 문법 등)5xx (Server Error): 서버 오류 (정상 요청을 처리하지 못함)모르는 상태 코드가 나타나면? 클라이언트는 상위 상태 코드(예: 299 -> 2xx)로 해석해서 처리합니다. 이를 통해 미래에 새로운 코드가 추가되어도 클라이언트를 변경할 필요가 없습니다.2. 2xx - 성공 (Successful)클라이언트의 요청을 성공적으로 처리한 상태입니다.200..

INFLEARN 2026.03.31

[모든 개발자를 위한 HTTP 웹 기본 지식] 4. HTTP 메서드 활용 및 API 설계

1. 클라이언트에서 서버로 데이터 전송 방식데이터를 전달하는 방식은 크게 두 가지 경로를 이용합니다.쿼리 파라미터(Query Parameters): 주로 GET 메서드에서 사용하며, 검색어 입력이나 정렬 필터링 등에 활용됩니다.메시지 바디(Message Body): POST, PUT, PATCH 메서드에서 사용하며, 회원 가입, 상품 주문, 리소스 등록 및 수정 시 활용됩니다.데이터 전송의 4가지 상황정적 데이터 조회: 이미지, 정적 텍스트 문서 조회 (쿼리 파라미터 미사용, 경로만으로 조회).동적 데이터 조회: 검색, 게시판 목록 정렬 (쿼리 파라미터 사용).HTML Form 전송: 회원 가입, 데이터 변경 (주로 POST 사용, 파일 업로드 시 multipart/form-data 사용).HTTP AP..

INFLEARN 2026.03.27

[모든 개발자를 위한 HTTP 웹 기본 지식] 3. HTTP 메서드의 핵심 설계 원칙과 종류

1. API URI 설계의 핵심: 리소스 식별좋은 URI 설계를 위해서는 행위(동사)와 리소스(명사)를 분리하는 것이 가장 중요합니다.리소스 중심 설계: '회원을 등록/수정'하는 행위 자체가 아니라, '회원'이라는 개념 자체가 리소스입니다.URI 구성: URI는 오직 리소스만 식별하며, 계층 구조를 활용합니다.회원 목록 조회: /members회원 단건 조회/등록/수정/삭제: /members/{id}구분 방법: URI가 동일하더라도 HTTP 메서드를 통해 어떤 행위(조회, 등록 등)를 할지 구분합니다.2. 주요 HTTP 메서드 종류메서드 주요 역할 특징GET리소스 조회데이터를 쿼리 파라미터를 통해 전달하며, 메시지 바디 사용은 권장되지 않음.POST요청 데이터 처리주로 신규 리소스 등록이나 프로세스 처리(..

INFLEARN 2026.03.27

[모든 개발자를 위한 HTTP 웹 기본 지식] 2. URI의 개념과 웹 브라우저의 요청 흐름

1. URI (Uniform Resource Identifier)의 이해URI는 리소스를 식별하는 통일된 방식을 의미하며, 크게 URL과 URN으로 분류됩니다.URL (Uniform Resource Locator): 리소스가 있는 위치를 지정합니다.URN (Uniform Resource Name): 리소스에 고유한 이름을 부여합니다.특징: 위치는 변할 수 있지만 이름은 변하지 않습니다. 다만, URN만으로 리소스를 찾는 방식은 보편화되지 않아 보통 URI를 URL과 유사한 의미로 사용합니다.URL의 전체 문법과 구조scheme://[userinfo@]host[:port][/path][?query][#fragment]구성 요소 설명 비고Scheme어떤 방식으로 자원에 접근할 것인가에 대한 규약 (http,..

INFLEARN 2026.03.27

[모든 개발자를 위한 HTTP 웹 기본 지식] 1. 인터넷 네트워크

1. 인터넷 통신의 기본 흐름인터넷에서 메시지를 보낼 때는 여러 계층의 프로토콜이 데이터를 단계별로 포장합니다.애플리케이션 계층: 프로그램이 메시지(예: Hello, world!)를 생성합니다.전송 계층: 어떤 프로그램으로 보낼지(PORT) 결정하고, 전송 방식(TCP/UDP)을 선택합니다.인터넷 계층: 목적지 컴퓨터의 주소(IP)를 지정합니다.네트워크 인터페이스 계층: 실제 랜 카드 등을 통해 데이터를 전송합니다.2. IP (인터넷 프로토콜)지정한 IP 주소에 '패킷'이라는 단위로 데이터를 전달하는 역할을 합니다.패킷 구성: 출발지 IP, 목적지 IP, 전송 데이터 등을 포함합니다.주요 한계:비연결성: 상대방이 받을 수 있는 상태인지 확인하지 않고 보냅니다.비신뢰성: 패킷이 중간에 사라지거나 순서가 뒤..

INFLEARN 2026.03.26