Skip to content

Latest commit

 

History

History
98 lines (90 loc) · 4.05 KB

20240501_HTTP.md

File metadata and controls

98 lines (90 loc) · 4.05 KB

HTTP

(Hypertext Transfer Protocol)


의미

  • 웹에서 데이터를 전송하는 데 사용되는 프로토콜
  • 데이터 : 텍스트, 이미지, 비디오, 오디오 및 기타 멀티미디어 파일
  • 프로토콜 : 컴퓨터 내부 or 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체계

alt text


특징

  • Stateless: - 상태 유지 X - 각각의 요청 : 서로 독립적 - 이전 요청과 관련 X
  • Connectionless: - 각 요청 : 서버와의 단일 연결을 통해 이루어짐 - 요청 후 연결이 닫힘
  • Text-based: - 요청, 응답 : 텍스트 형식

HTTP 메서드

(매서드 : 일정한 계획에 따른 방법, 격식과 정연에 따른 순서)
  • GET : 서버에서 리소스를 가져오기 위함
  • POST : 서버로 데이터 제출을 위함
  • PUT : 지정된 URI에 리소스 저장을 위함
  • DELETE : 서버에서 리소스 삭제를 위함
  • HEAD, OPTIONS, TRACE

HTTP 상태 코드

  • 1xx : 정보 전달
  • 2xx : 성공적인 요청처리 표시
  • 3xx : 추가 동작이 필요함을 표시
  • 4xx : 클라이언트 오류 표시
  • 5xx : 서버 오류 표시

alt text


HTTP의 활용

  • 웹 브라우징
    • 사용자가 웹 브라우저를 통해 웹 페이지 요청, 표시하는 과정
    • 웹 페이지의 HTML, CSS, JS 멀티미디어 리소스를 요청하고 받아옴
      • 멀티미디어 리소스 :파일 및 이미지, 오디오, 비디오 등
  • 웹 서비스
    • 웹 서비스를 통해 다른 시스템 간에 통신
    • 데이터를 요청, 응답 방법 : RESTful API (웹 서비스)

HTTP 헤더

  • 헤더 : 데이터 앞 부분에 파일에 대한 정보를 실어놓은 부분
  • 의미
    • 클라이언트와 서버가 요청 or 응답
    • 부가적인 정보를 전송할 수 있도록 해줌
  • 종류
    • General header : 요청, 응답 모두 적용 but, 바디에서 최종적으로 전송되는 데이터와 관련X
      • 바디 : HTTP 요청 or 응답에서 실제로 전송되는 데이터
    • Request header : 페치될 리소스 or 클라이언트 자체에 대한 자세한 정보 포함 = 내가 보내는 메세지의 헤더
    • Response header : 응답에 대한 부가적인 정보를 갖는 헤더 = 내가 받은 메세지의 헤더
      • 응답 : 위치 또는 서버 자체에 대한 정보(이름, 버전 등)
    • Entity header: 컨텐츠 길이나 MIME 타입과 같이 엔티티 바디에 대한 자세한 정보를 포함하는 헤더
      • MIME 타입 : 파일의 종류를 식별하기 위한 표준 인터넷 미디어 타입
      • 엔티티 바디 : HTTP 메시지의 실제 데이터 부분

IP (Internet Protocol)

  • 컴퓨터 네트워크 상에서 패킷 교환을 위한 프로토콜
  • HTTP : IP를 통해 데이터 전송 ⇒ 정확한 위치로 데이터 전달

패킷

  • 의미
    • 컴퓨터 네트워크에서 데이터를 전송하는 데 사용되는 작은 조각
  • 목적
    • 데이터 전송 : 큰 데이터 → 작은 단위 ⇒ 효율적인 데이터 전송
  • 구성
    • 헤더(Header):
      • 송신자 및 수신자의 주소, 전송 제어 정보 등의 메타데이터를 포함
    • 페이로드(Payload):
      • 실제로 전송되는 데이터를 포함
        • 예 (이메일) : 이메일의 본문이 페이로드가 될 수 있음
    • 트레일러(Trailer):
      • 선택적으로 포함될 수 있는 추가 정보
      • 패킷의 끝 표시

패킷 교환을 위한 프로토콜

TCP (Transmission Control Protocol)

  • HTTP의 기본 전송 프로토콜 중 하나
  • 연결 지향적, 신뢰성↑ 통신 제공

UDP (User Datagram Protocol)

  • 신뢰성↓, 연결이 없는 프로토콜
  • HTTP와 함께 사용되는 일반적인 프로토콜 X
  • DNS(Domain Name System)에서 사용 가능

alt text