2024. 7. 30. 16:09ㆍ카테고리 없음
HTTP; HyperText Transfer Protocol
웹에서 데이터를 전송하기 위한 주요 프로토콜
클라이언트(주로 웹 브라우저)와 서버 간에 문서를 교환하는 데 사용, 주로 HTML 문서, 이미지, 비디오 등의 자원을 요청하고 전송하는 데 쓰임
HTTP의 주요 특징
- 비연결성(Connectionless): 클라이언트가 서버에 요청을 보내고 서버가 응답하면, 연결이 바로 해제됨. 이는 통신 오버헤드를 줄이는 데 도움이 되지만, 매 요청마다 새로운 연결을 생성해야 한다는 단점이 있음.
- 무상태(Stateless): HTTP는 기본적으로 무상태 프로토콜. 이는 서버가 이전 요청의 상태 정보를 유지하지 않는다는 의미임. 세션 관리나 쿠키 등의 기술을 통해 이 제한을 극복할 수 있음
- 확장 가능성(Extensible): HTTP는 새로운 메소드와 헤더를 추가함으로써 쉽게 확장할 수 있음. 이를 통해 사용자 정의 데이터 처리나 추가적인 기능을 구현할 수 있음.
HTTP의 작동 방식
1. 요청(Request): 클라이언트가 서버에 자원을 요청할 때 HTTP 요청 메시지를 사용. 이 메시지에는 요청 메소드(GET, POST 등), URI, 프로토콜 버전, 헤더 필드(클라이언트의 정보, 콘텐츠 타입 등)가 포함됨
2. 응답(Response): 서버는 요청에 대한 응답을 HTTP 응답 메시지로 전송함. 이 메시지에는 상태 코드(200 OK, 404 Not Found 등), 프로토콜 버전, 응답 헤더, 응답 본문(요청된 자원)이 포함됨
Version
1. HTTP/1.0: 초기 버전으로, 각 요청/응답마다 새로운 연결이 필요했음.
2. HTTP/1.1: 가장 널리 사용되는 버전으로, 지속 연결(Persistent Connection)과 파이프라이닝(Pipelining)을 지원
3. HTTP/2: 2015년에 공개된 이후로 성능 개선을 위해 다양한 새로운 기능이 추가됨. 예를 들어, 헤더 압축과 서버 푸시 기능이 있음
4. HTTP/3: 최신 버전으로, 기존 TCP 대신 UDP를 기반으로 하는 QUIC 프로토콜을 사용하여 연결의 설정 시간과 신뢰성을 개선