HTTP

하이퍼텍스트 전송 프로토콜 (HTTP) 은 HTML과 같은 하이퍼미디어 문서를 전송하기 위한 애플리케이션 계층 프로토콜입니다. 웹 브라우저와 웹 서버간의 통신을 위해 설계되었지만 다른 목적으로도 사용할 수 있습니다. HTTP는 클라이언트가 요청을 하기 위해 연결을 연 다음 응답을 받을때 까지 대기하는 전통적인 클라이언트-서버 모델을 따릅니다. HTTP는 무상태 프로토콜이며, 서버가 두 요청 간에 어떠한 데이터(상태)도 유지하지 않습니다.

자습서

가이드와 튜토리얼을 통해 HTTP를 사용하는 방법을 배워보세요.

HTTP 개요

클라이언트-서버 프로토콜의 기본 기능들입니다. HTTP로 할 수 있는 것과 의도된 용도를 알아보세요.

HTTP 캐시

캐싱은 빠른 웹 사이트를 위해 아주 중요합니다. 이 글은 여러 캐싱 방법과 HTTP 헤더를 사용하여 이를 제어하는 방법을 설명합니다.

HTTP 쿠키

쿠키가 동작하는 방식은 RFC 6265에서 정의합니다. HTTP 요청을 서버에 넘겨줄 때, 서버는 응답과 함께 Set-Cookie HTTP 헤더를 돌려줍니다. 그 다음에 클라이언트는 모든 요청과 함께 쿠키의 값을 Cookie 요청 헤더의 형태로 동일한 서버로 넘겨줍니다. 쿠키는 특정 날짜에 만료되도록 설정하거나, 특정 도메인 및 경로에 제한되도록 설정할수도 있습니다.

교차 출처 리소스 공유(CORS)

교차 사이트 HTTP 요청은 요청을 생성한 리소스의 도메인과 다른 도메인의 리소스에 대한 HTTP 요청입니다. 예를 들면, 도메인 A(http://domaina.example/)의 HTML 페이지가 img 요소를 통해 도메인 B(http://domainb.foo/image.jpg)의 이미지에 대한 요청을 생성하는 것입니다. 오늘날의 웹 페이지가 CSS 스타일시트, 이미지, 스크립트 등을 포함하는 교차-사이트 리소스을 로드하는 것을 아주 흔하게 볼 수 있습니다. CORS를 통해 웹 개발자는 그들의 사이트가 교차-사이트 요청에 대해 어떻게 반응할지 제어할 수 있습니다.

클라이언트 힌트

클라이언트 힌트는 서버가 클라이언트로부터 디바이스, 네트워크, 사용자 및 사용자 에이전트별 기본 설정에 대한 정보를 사전에 요청하기 위해 사용할 수 있는 응답 헤더의 집합입니다. 이에 따라 서버는 클라이언트가 제공하는 정보에 기반하여 전송할 리소스를 결정할 수 있습니다.

HTTP의 진화

초기 버전의 HTTP와 현대의 HTTP/2 및 새로 등장한 HTTP/3 이후 버전 간의 변경 사항에 대한 간략한 설명입니다.

Mozilla 웹 보안 가이드라인

안전한 웹 어플리케이션을 만들어주는 운영 팀에 도움이 될 만한 힌트 모음입니다.

HTTP 메시지

HTTP/1.x와 HTTP/2의 다양한 종류의 메시지 타입과 구조에 대해 설명합니다.

전형적인 HTTP 세션

일반적인 HTTP 세션의 흐름을 보여주고 설명합니다.

HTTP/1.x의 연결 관리

HTTP/1.x에서 사용가능한 세 가지 연결 관리 모델과 그 장단점을 설명합니다.

참고서

상세한 HTTP 참고서를 살펴보세요.

HTTP 헤더

HTTP 메시지 헤더는 리소스 또는 서버나 클라이언트의 동작을 설명하는데 사용됩니다. 헤더 필드는 IANA 레지스트리에서 유지 관리됩니다. IANA는 또한 제안된 새로운 HTTP 메시지 헤더의 레지스트리에서 유지 관리됩니다..

HTTP 요청 메서드

GET, POST 요청 및 덜 자주 사용되는 OPTIONS, DELETE, TRACE 요청과 같이 다양한 작업을 HTTP로 수행할 수 있습니다.

HTTP 상태 응답 코드

HTTP 응답 코드는 지정한 HTTP 요청이 성공적으로 완료되었는지를 나타냅니다. 응답은 다섯 가지 클래스로 그룹핑됩니다. 정보성 응답, 성공 응답, 리다이렉트, 클라이언트 에러, 서버 에러.

CSP 지시문

Content-Security-Policy 응답 헤더 필드는 주어진 페이지를 로드하기 위해 유저 에이전트가 허용한 리소스를 웹 사이트 관리자가 제어할 수 있도록 해줍니다. 몇 가지 예외를 제외하고, 대부분의 정책은 서버 오리진과 스크립트 엔드포인트 지정을 포함합니다.

도구 & 리소스

HTTP를 이해하고 디버깅하는데 도움이 되는 도구와 리소스입니다.

Firefox 개발자 도구

네트워크 모니터

Mozilla Observatory

개발자, 시스템 관리자, 보안 전문가가 사이트를 안전하게 구성하는 것을 돕기위해 고안된 프로젝트입니다.

RedBot

캐시 관련 헤더를 확인하는 도구입니다.

브라우저가 동작하는 방식(2011)

브라우저 내부와 HTTP 프로토콜을 통한 요청 흐름에 대한 아주 이해하기 쉬운 문서입니다.