[Dairy] S.C.C 3일차 / HTTP와 사용하는 메소드

Shaun.the.sheep·2025년 6월 24일

[Dairy] S.C.C TIL

목록 보기
2/22

금일 공부 내용

  1. Stateful, Stateless
    • Stateful
      1. 특징
      - 상태 유지로 기존의 요청에 대한 데이터 및 상태를 확인 가능
      - 같은 서버에 요청해야함
      - 서버는 다양한 이유로 동작하지 않을 수 있다.
      - 요청 트래픽이 몰리게 되면 상태를 유지하는 것에 Resource가 많이 소모됨
    • Stateless
      1. 특징
      - 상태 유지 불가능으로 기존 요청 유지가 불가함
      - 서버의 변경에 대한 에러는 없음
      - Scale Out 수평 확정성이 높다.
      - 서버 증설이 용이하다.
      - 클라이언트의 처리 데이터 수가 늘어나고 요청 데이터 수도 늘어난다.
      1. 한계점
        • WebApplication을 만들 때 서버의 확장성을 고려하여 최대한 Stateless하게
          만들어야함
          • 로그인과 같은 상태 유지가 발생
      2. 해결방안
        • 추후에 배울 Cookie, Session, Token 등을 활용하여 이러한 한계를 극복한다.
  2. Connectionless, Connection
    • Connectionless
      -장점
      1. 서버 자원을 효율적으로 사용할 수 있음
      -단점
      1. 요청이 추가적으로 오게되면 연결을 새로 해야함
      2. 웹사이트의 HTML, CSS JS 이미지 등의 정적 자원 모두를 다시 다운로드 해야

      -해결방안
      1. HTTP 지속연결로 문제를 해결

HTTP 지속연결

  • 하나의 요청에 필요한 요청들이 모두 응답될 때까지 연결을 유지
  • 연결을 한번만 맺고 끊기 때문에, Connectionless 방식보다 연결 횟수가 적음
    ex) 3way handshake
    - html + css + js + 이미지

HTTP

  1. 특징
    • TEXT, IMAGE, FILE, HTML, JSON 등 다양한 형태의 데이터가 HTTP를 통해 전송된다.
      HTTP에도 버전이 존재하며 그중 대부분 HTTP/1.1 (TCP)을 사용한다. 현대에는 HTTP/2,
      HTTP/3 (UDP)의 사용량이 급속도로 증가하는 추세이다.
    • HTTP는 인터넷 상에서 불특정 다수의 통신 환경을 기반으로 설계되었다. 만약 서버에서 다
      수의 클라이언트와 상태나 연결을 계속 유지해야 한다면 이에 따른 많은 서버의 리소스가
      필요하다.
    • 위에서 설명한 각 연결 및 상태에 대한 용어를 참고
  2. 구조
Method
  • 요청의 의도를 가진 GET, POST, PUT, PATCH, DELETE 등이 있다.
    • Create - POST
      • 리소스의 생성과 바디 데이터를 포함하여 데이터를 서버 측에 전송하는 메소드
    • Read - GET
      • Query String이 있는 경우
        - 특별한 조건이 없어 전체의 데이터를 수신할 때 사용한다.
        • Query String이 없는 경우
          - 조건으로 검색 및 조회 시에 특정 소스를 전달 받을 수 있다.
    • Update - PUT(전체), PATCH(일부)
    • Delete - DELETE
    • Request Target

0개의 댓글