꿀똥벌레
꿀똥벌레 개발 블로그
꿀똥벌레
전체 방문자
오늘
어제
  • 분류 전체보기 (90)
    • JAVA (17)
    • SPRING (14)
    • Elasticsearch (4)
    • GRADLE (2)
    • HTML, CSS (0)
    • JAVASCRIPT (0)
    • GIT (1)
    • Vue.js (1)
    • server (1)
    • Python (0)
    • IT리뷰 (0)
    • 인프라 (6)
    • IOS (21)
    • 디자인패턴 (20)
    • Kafka (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • persistence connection
  • persistent connection
  • springintegration
  • 스프링 인티그레이션
  • spring integration
  • Index Template
  • ES
  • spring
  • KEEPALIVE
  • maxConnPerRoute
  • maxConnTotal
  • 엘라스틱서치
  • java
  • connectionRequestTimeout
  • 스프링 인테그레이션
  • 인덱스 템플릿
  • SWIFT
  • elasticsearch
  • Index
  • mappings

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
꿀똥벌레

꿀똥벌레 개발 블로그

인프라

Http keep alive 란

2023. 3. 7. 16:00

Http1.0 이후 클라이언트와 서버 간 요청과 응답을 어떻게 하면 좀 더 빨리 할 수 있을지에 대한 연구가 이루어졌다. 기존에는 Http 요청때마다 TCP연결을 3-way handshake방식으로 맺어야 했다. 하지만 시대가 변함에 따라 클라이언트와 서버간 http요청의 수는 증가하여 handShaking의 오버헤드에 대한 고민이 있었고, 그에 따라 Persistent Connection이 등장하게 되었다.

Persistent Connection

Http에서 Persistent Connection이란 Http 어플리케이션이 TCP connection을 요청마다 close 하지 않고 유지하는 것을 Persistent Connection 이라 한다.

Persistent Connection이 필요한 이유

Persistent Connection을 사용하게 되면 TCP연결을 맺기 위해 SYN 과 ACK 를 주고받는 three-way-handshake를 매 요청마다 맺을 필요가 없어 지는 장점이 있다.

keep-alive

Persistent Connection 은 당연하게도 클라이언트와 서버 양측이 다 지원해야 한다. 클라이언트는 Persistent Connection 연결을 위해 다음과 같은 헤더를 포함하여 요청한다.

Connection: keep-alive

해당 요청을 받은 서버는 해당 TCP연결을 HTTP 응답 이후에도 끊지 않고 계속 사용하겠다는 약속으로 동일 헤더를 response에 담아 보낸다.

  • Http 1.1부터는 디폴트로 keep alive가 적용되어 있다.

참고
https://etloveguitar.tistory.com/137
https://brunch.co.kr/@sangjinkang/4
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/Connection

저작자표시 (새창열림)

'인프라' 카테고리의 다른 글

Http 클라이언트 설정 시 메모  (0) 2024.04.02
macos ventura 업데이트 후 ssh 오류  (0) 2023.02.09
DB 트랜잭션 및 락  (0) 2022.05.18
docker 기본 사용법  (0) 2021.06.20
docker mysql 설치  (0) 2021.06.20
    꿀똥벌레
    꿀똥벌레
    개발자 꿀똥벌레 입니다.

    티스토리툴바