■ 소켓통신보다 http통신이 더 비효율적인데 왜 http통신?

2022. 3. 8. 00:09· 무지성 메모
728x90

소켓은 연결을 유지해야해서 비효율적이에요..

계속 커넥션을 물고 있는 것이 효율적인가..?

사이트에 남아 있는 것에 비해 클릭수가 적으면 소켓이 더 비효율적이다.

소켓이 유리해지는 초당 통신량을 비교해보고 http통신vs소켓통신 골라야하는듯

 

1. http 통신도 내려가면 극일부예외를 제외하고는 소켓으로 구현되어 있습니다
2. http가 stateless다보니 연결을 유지하지 않아서 비효율적이라 http keep-alive 등의 옵션으로 세션 유지하는 방법을 사용합니다.
3. http 통신을 하는건 어플리케이션단의 프로토콜 통일을 위해서 주로 사용합니다

 

아모튼 소켓이 연결을 유지해야해서 비효율적인 것은 아닙니닷

 

Connection을 만들고 끊는 작업이 비효율적임 -> keep-alive옵션으로 …

 

그리고 아까도이야기했지만 http도 내려가면 소켓입니다

HTTP도 결국 TCP 연결이에요

 

[학재] [오후 4:01] http 통신은 기본적으로
[학재] [오후 4:01] 하나 전송하고 끊는다고 했잖아요

[학재] [오후 4:01] 그런데 저희가 사용하는 웹은
[학재] [오후 4:01] 그렇지않아요
[학재] [오후 4:01] 한 페이지에서도
[학재] [오후 4:01] 이미지마다 따로 리소스를 불러와요
[학재] [오후 4:01] js도그렇고
[학재] [오후 4:01] css도그렇고

[학재] [오후 4:01] 다 따로따로
[학재] [오후 4:01] 연결을 맺고 가져와야해요
[학재] [오후 4:01] 근데 문제는

[학재] [오후 4:01] http의 기본 특성상
[학재] [오후 4:02] 하나를 받아오는데 하나의 연결을 사용하면
[학재] [오후 4:02] 100개의 이미지를 받아오는데는 100번 연결을 맺었다 끊었다 해야해요
[학재] [오후 4:02] 뿐만아니라
[학재] [오후 4:02] http는
[학재] [오후 4:02] 해당 라인의 속도를
[학재] [오후 4:02] 처음에 1이라는 속도로 시작해서

[학재] [오후 4:02] 제대로 전송되는게 확인하면
[학재] [오후 4:02] 속도를 조금씩 올려가면서
[학재] [오후 4:02] 전송을 합니다
[학재] [오후 4:02] 그럼 100개의 커넥션이
[학재] [오후 4:02] 전부
[학재] [오후 4:02] 1의 속도로 시작해요
[학재] [오후 4:02] 만약 커넥션을 재활용한다면
[학재] [오후 4:02] 1로 시작한 커넥션이
[학재] [오후 4:02] 다음 파일을 받아올땐

[학재] [오후 4:03] 예를들면
[학재] [오후 4:03] 100의 속도로 전송을 시작할 수 있어요

[학재] [오후 4:03] 그래서
[학재] [오후 4:03] 커넥션을 맺는데 들어가는 비용과
[학재] [오후 4:03] 그 매번 떨어지는 속도를
[학재] [오후 4:03] 다시 끌어올리는데 소모되는 시간이라는 비용을
[학재] [오후 4:04] 고려한다면
[학재] [오후 4:04] http 커넥션을 재활용하는게
[학재] [오후 4:04] 좋겠죠
[학재] [오후 4:04] keep-alive는
[학재] [오후 4:04] 이 커넥션을
[학재] [오후 4:04] 최대 몇 번 재활용할지

[학재] [오후 4:04] 그리고 timeout은 어떻게 될지
[학재] [오후 4:04] 설정하게 됩니다

 

말씀해주신거처럼 http가 2.0까지 tcp위에 올라가기때문에

 

0rtt 설명 링크 : https://blog.cloudflare.com/ko-kr/even-faster-connection-establishment-with-quic-0-rtt-resumption-ko-kr/

 

http 2.0까지 tcp기반이었다면 http 3.0은 UDP를 기반으로한 QUIC과 TLS가 아예 합쳐져 있는 모습>..?

QUIC안에 TLS같은 암호화/인증이 포함되어 있습니다..

저작자표시 (새창열림)

'무지성 메모' 카테고리의 다른 글

■ string클래스의 역순 출력 함수  (0) 2022.03.10
■ char배열의 stream은 왜 안되는걸까?  (0) 2022.03.09
■ @RequestBody는 언제 붙여야 하는가 ■ @Transactional 더티체킹? ■ x-www form-urlencoded json 차이  (0) 2022.03.07
■ yaml파일이란 무엇인가..? (.yml)  (0) 2022.03.04
■ HTTP API?? REST API??의 차이? ■ MIME타입 ■ @Controller @RestController  (0) 2022.03.03
'무지성 메모' 카테고리의 다른 글
  • ■ string클래스의 역순 출력 함수
  • ■ char배열의 stream은 왜 안되는걸까?
  • ■ @RequestBody는 언제 붙여야 하는가 ■ @Transactional 더티체킹? ■ x-www form-urlencoded json 차이
  • ■ yaml파일이란 무엇인가..? (.yml)
배게
배게
백엔드배게 님의 블로그입니다.
배게
백엔드
배게
전체
오늘
어제
  • 분류 전체보기 (430)
    • 알고리즘 풀이 (338)
      • 백준 (167)
      • Codility (22)
      • 프로그래머스 (123)
      • LeetCode (2)
      • CodeForces (9)
      • SWEA (15)
    • 백엔드 (11)
    • Coding existing for (3)
    • 무지성 메모 (40)
    • Debug (30)
    • 자바 (8)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • hibernate
  • 카카오톡 txt파일 정렬
  • 카톡
  • MYSQL
  • 카카오톡
  • 카톡 내보내기한 파일 정렬

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.1
배게
■ 소켓통신보다 http통신이 더 비효율적인데 왜 http통신?
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.