개발 공부는 어려워
Published 2023. 3. 13. 15:20
HTTP 기본 개념 정리/Http
반응형

Http(HyperText Tranfer Protocol)

  • 우리가 알고있는 대부분의 정보를 전송
    • HTML, TEXT, IMAGE, 음성, 영상, JSON, XML....
  • TCP
    • HTTP/1.1, HTTP/2
  • UDP
    • HTTP/3
  • 특징
    • 클라이언트 서버 구조
    • 무상태 포로토콜(Statelsee), 비연결성
    • HTTP 메세지
    • 단순함, 확장 가능

2. 클라이언트 서버 구조

  • Request Response 구조
  • 클라이언트는 서버에 요청을 보내고, 응답을 대기
  • 서버가 요청에 대한 결과를 만들어서 응답
  • 클라이언트와 서버를 분리시킨다면 독립적으로 업그레이드가 가능하다.

3. 무상태 프로토콜

  • 상태유지(stateful)
    • 서버가 클라이언트의 이전 상태를 보존 한다.
      • ex) 로그인 후 작업들 -> 로그인 정보 유지
  • 무상태(stateless)
    • 서버가 클라이언트 이전 상태를 보존하지 않는다.
    • 이전 상태를 보존하지 않기 때문에 응답 서버를 쉽게 바꿀 수 있다.
    • 스케일 아웃(수평 확장)에 유리하다.

4. 비 연결성

  • HTTP는 기본이연결을 유지하지 않는 모델이다.
  • 서버 자원을 매우 효율적으로 사용할 수 있다.
  • 단점
    • 3 way handshake 시간이 추가된다.
    • 연결될때  HTML, 자바스크립트, CSS, IMAGE등 여러 자원이 다운로드 된다.
  • 지금은 HTTP 지속 연결으로 최적화

5. HTTP 메세지

  • 시작 라인
    • request-line = method, target, HTTP-version
      • Method
        • GET
        • POST
        • PUT
        • DELETE
      • TARGET
        • absolute-path
        • '/'으로 시작하는 절대경로
    • 응답라인
      • satus-line = HTTP-VERSION, status, reason
    • HTTP 헤더
      • HTTP 전송에 필요한 모든 부가정보 포함
      • 필요시 임의의 헤더 추가 가능
    • HTTP 메세지 바디
      • 실제 전송할 데이터
      • HTML, IMAGE, JSON 등등 byte로 표현할 수 있는 모든 데이터 전송이 가능하다.
반응형

'개념 정리 > Http' 카테고리의 다른 글

HTTP 상태 코드  (0) 2023.03.14
HTTP 메서드 활용  (0) 2023.03.14
HTTP 메서드  (0) 2023.03.13
URI  (0) 2023.03.13
인터넷 네트워크  (0) 2023.03.13
profile

개발 공부는 어려워

@신입개발자하랑이

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!