99클럽 TIL
99클럽 코테 스터디 26일차 Network Persistent Connection, Non-Persistent Connection
차가리
2024. 6. 14. 17:46
728x90
- NetWork
- DNS
DNS ResolverDNS란
- Http Header
CORSkeep-alive header- Persistent Connection, Non-Persistent Connection
- OSI 7 계층과 각 계층의 구성요소
- TCP vs UDP
- DNS
1. Persistent Connection
정의
- 지속적인 연결은 클라이언트와 서버 간의 TCP 연결을 여러 HTTP 요청과 응답에 걸쳐 유지하는 방식
- HTTP/1.1 에서는 기본적으로 지속적인 연결이 설정되어 있으며,
Connection: keep-alive
헤더를 통해 명시적으로 지속 연결을 요청할 수 있음.
장점
- 연결 및 종료에 소요되는 시간과 자원을 절약할 수 있음.
- 네트워크 지연을 감소시키고, 전체적인 통신 성능을 향상시킴.
- 여러 자원(이미지,css 파일, 자바스크립트 등)을 빠르게 로드할 수 있음.
사용
- 웹 페이지에서 다수의 리소스를 빠르게 로드해야 할 때 유리함.
- 네트워크 지연이 성능에 큰 영향을 미치는 환경에서 효과적임.
예시
HTTP/1.1 응답에서 Persistent Connection의 사용
HTTP/1.1 200 OK
Date: Mon, 23 May 2022 12:00:00 GMT
Server: Apache/2.4.1 (Unix)
Content-Type: text/html
Content-Length: 1234
Connection: keep-alive
Keep-Alive: timeout=10, max=50
2. Non-Persistent Connection(비지속적인 연결)
정의
- 각 HTTP 요청마다 새로운 TCP 연결을 생성하고 요청/응답이 끝나면 즉시 연결을 종료하는 방식
- HTTP/1.0 의 기본 연결 방식, 각 요청이 독립적으로 처리됨.
장점
- 서버에 지속적인 연결로 인한 부하가 적음
- 서버 리소스 관리가 단순해지며, 각 요청이 완전히 독립적으로 처리됨.
단점
- 연결 및 종료를 반복해야 하므로 추가적인 시간과 자원이 소모됨.
- 네트워크 지연과 로드 시간이 증가할 수 있음.
사용
- 간단한 요청이나 서버 부하를 최소화해야 할 때 사용됨.
- 서버와의 연결을 짧게 유지해야 하는 보안상의 이유로 사용될 수 있음.
예시
HTTP/1.0 요청에서 비지속적인 연결의 사용
HTTP/1.0 200 OK
Date: Mon, 23 May 2022 12:00:00 GMT
Server: Apache/2.4.1 (Unix)
Content-Type: text/html
Content-Length: 1234
Connection: close
728x90