HTTP Protocol

Yuno·2024년 8월 11일

JavaSpring

목록 보기
11/16

✏️ HTTP Protocol 이란?

HTTP (Hyper Text Transfer Protocol) 는 웹에서 데이터를 전송하는 프로토콜.
HTTP는 클라이언트와 서버 간의 요청과 응답을 관리하며, 웹 페이지, 이미지, 비디오 등 다양한 유형의 데이터를 전송하는 데 사용됨


📌 HTTP의 주요 개념

1. 클라이언트와 서버 :

  • 클라이언트 : HTTP 요청을 보내는 주체. 일반적으로 웹 브라우저나 모바일 애플리케이션이 클라이언트 역할을 함
  • 서버 : 클라이언트의 요청을 처리하고 응답을 보내는 주체. 웹 서버는 웹 페이지와 다른 자원을 호스팅 함

2. 요청과 응답 :

  • 요청(Request) : 클라이언트가 서버에 보내는 메세지. 요청에는 메서드, URL, 헤더, 본문 등이 포함됨
  • 응답(Response) : 서버가 클라이언트의 요청에 응답하는 메세지. 응답에는 상태 코드, 헤더, 본문 등이 포함됨

3. 메서드 :

  • GET : 서버에서 자원을 요청. 예를들어, 웹 페이지를 요청할 때 사용됨
  • POST : 서버에 데이터를 제출하여 자원을 생성하거나 업데이트 함. 예를들어, 폼 데이터를 제출할 때 사용됨
  • PUT : 서버의 자원을 업데이트하거나 새로 생성
  • DELETE : 서버에서 자원을 삭제
  • PATCH : 자원의 부분적인 업데이트를 수행

4. 상태 코드 :

  • 200 OK : 요청이 성공적으로 처리되었음을 나타냄
  • 404 Not Found : 요청한 자원을 서버에서 찾을 수 없음을 나타냄
  • 500 Internal Server Error : 서버에서 처리 중 오류가 발생했음을 나타냄
  • 301 Moved Permanently : 자원이 영구적으로 이동되었음을 나타냄
  • 302 Found : 자원이 일시적으로 다른 위치에 있음을 나타냄

5. 헤더(Header) :

  • Request Header : 요청의 메타데이터를 포함. 예를들어, User-Agent Accept Authorization 등이 있음
  • Response Header : 응답의 메타데이터를 포함. 예를들어, Content-Type Content-Lenth Set-Cookie 등이 있음

6. 본문(Body) :

  • 요청과 응답의 본문은 실제 데이터(예: HTML 페이지, JSON 데이터 등)을 포함함.
    GET 요청에는 일반적으로 본문이 없고, POST 요청에는 본문이 포함될 수 있음

📌 HTTP/1.0 과 HTTP/1.1

  • HTTP/1.0 : 최초의 HTTP 버전으로, 단일 요청/응답 사이클만 지원했음. 각 요청 후에 TCP 연결을 닫았음
  • HTTP/1.1 : HTTP/1.0 의 개선된 버전으로, 지속적인 연결과 파이프라이닝을 지원하여 성능을 향상. 동일한 연결에서 여러 요청과 응답을 처리할 수 있음

📌 HTTP/2

HTTP/2 는 HTTP/1.x 의 개선된 버전으로, 성능 향상을 위해 설계됨.

  • 다중화(Multiplexing) : 하나의 연결에서 여러 요청과 응답을 동시에 처리할 수 있음
  • 헤더 압축(Header Compression) : 헤더 정보를 압축하여 네트워크 효율성을 높임
  • 서버 푸시(Server Push) : 서버가 클라이언트의 요청 없이 자원을 사전에 푸시할 수 있음

📌 HTTPS

HTTPS(Hyper Text Transfer Protocol Secure)
는 HTTP의 보안 버전으로, SSL/TLS 프로토콜을 사용하여 데이터를 암호화.
HTTPS는 데이터 전송의 기밀성과 무결성을 보장하며, 민감한 정보를 다룰 때 사용됨

profile
Hello World

0개의 댓글