AlgorithmStudy21 / HTTP-The-Definitive-Guide

HTTP 완벽 가이드 스터디
1 stars 0 forks source link

[240213] 08. 통합점 ~ 10. HTTP/2.0 #3

Open soheeeeP opened 6 months ago

soheeeeP commented 6 months ago
Q. 질문

A. 답변
soheeeeP commented 6 months ago

Q. SSL 터널링

A. SSL 트래픽이 프락시 방화벽(HTTP port인 80만 허용)을 통과할 수 있도록 해주는 개념 작동 원리는 아래와 같음

  1. 연결 설정: 클라이언트와 SSL 프록시 서버 사이의 연결 설정
  2. SSL Handshake: 클라이언트의 요청에 따라 목적지 서버와 SSL Handshake를 통해 연결 생성. 서버를 확인하고 세션 키를 교환하여 통신에 사용할 암호화 알고리즘 지정
  3. 데이터 전송: 클라이언트와 목적지 서버 사이에서 SSL 터널을 통해 암호화된 데이터를 통신시킴
  4. 세션 종료: SSL 세션이 종료되고 사용된 암호화 키를 폐기
autumndr3ams commented 6 months ago

Q. 느슨한 존재 비트맵 -> url을 숫자형태의 비트로 만들어서 저장하고, 같은 존재비트가 있으면 이미 크롤링 되었다고 간주하는 것으로 이해

A. (by chatGPT) 느슨한 존재 비트맵(Lossy presence bitmaps)은 대량의 데이터 집합에서 요소의 존재 여부를 효율적으로 추적하기 위한 데이터 구조입니다. 이 기법은 일반적으로 분산 시스템이나 대규모 데이터 처리 시스템에서 사용됩니다. 느슨한 존재 비트맵은 전통적인 비트맵과는 다르게, 데이터의 일부 정확성을 희생하고 데이터를 더욱 효율적으로 저장합니다.

압축: 느슨한 존재 비트맵은 일반적으로 비트 당 하나의 요소를 나타내는 전통적인 비트맵과는 다르게, 여러 요소를 하나의 비트로 그룹화하여 데이터를 압축합니다. 이러한 압축은 데이터를 더욱 효율적으로 저장할 수 있도록 도와줍니다.

정확성의 희생: "느슨한(Lossy)"이라는 용어는 압축 과정에서 일부 정확성을 희생한다는 것을 나타냅니다. 즉, 느슨한 존재 비트맵은 일정 수준의 정확성을 보장하지만, 가끔은 오류가 발생할 수 있습니다. 이러한 오류는 비트맵이 요소의 존재를 잘못 표시하는 경우(거짓 양성)나 요소의 실제 존재를 감지하지 못하는 경우(거짓 음성)로 나타날 수 있습니다.

autumndr3ams commented 6 months ago

Q. 현재 HTTP2.0에 대한 논의는 어디까지 진행되었는가?

  1. 우리가 일반적으로 사용하는 모바일 디바이스에서 구동되는 대부분의 브라우저는 HTTP/2를 지원하고 있음 image

  2. HTTP/2 뿐만 아니라 HTTP/3도 등장함. HTTP/2: 멀티플렉싱(다수의 문서 요청을 한 커넥션으로 처리), 헤더 압축, 서버가 클라이언트 요청에 여러 응답을 한꺼번에 보내기 가능 HTTP/3: TCP를 사용하지 않고 UDP를 사용함(핸드쉐이크 과정 최적화-tcp는 3way handshake, 패킷 수신 시 병목현상 완화, 커스터마이징 용이...) 그러나 많은 네트워크들이 UDP를 지원하지 않는다는 문제가 있음. 참고: https://evan-moon.github.io/2019/10/08/what-is-http3/

  3. 개발자 도구에서 프로토콜 확인 가능

Joonhyeong-Park commented 6 months ago

Q. nginx에 인증서를 등록하여 사용하는 것은 ssl 터널링, https 게이트웨이 중에 어떠한 방식을 채택한 것인가

A. ssl 터널링

seoyeonkim01 commented 6 months ago

p. 109 Connection 헤더는 홉 바이 홈 헤더이다.

Q. hop-by-hop 방식이 뭔지?

A. 프록시에 의해 재전송되거나, 캐시되어선 안되는 헤더들. Connection, Keep-Alive, Proxy-Authenticate, Proxy-Authorization, Connection 등. 일반적으로 연결 관리, 성능 향상, 디버깅 등에 사용된다.

유의 사항

그래서 HTTP 명세를 완전히 준수하지 않는 단순 맹목적 릴레이 HTTP를 사용하는 경우, Connection: keep-alive 헤더를 받아도 이걸 이해하지 못하고 그대로 넘겨버리는 문제가 발생할 수 있음. (요거 근데 엄청 옛날 기술인듯 ;; )

MDN 공식문서에도 이정도로만 설명이 나와있음. Connection 헤더로 보내짐.

seoyeonkim01 commented 6 months ago

Q. SSL 터널링이란 무엇인가?? 옆에 기술들과 머가 다른것.? (vs HTTPS, SSL VPN)

A.

image
seoyeonkim01 commented 6 months ago

Q. 네이버는 검색 엔진 최적화 어떻게 하나요?? (네이버 자체가 검색엔진인데 구글 기준에 맞춰서 최적화도 하는지 궁금함다!)

seoyeonkim01 commented 6 months ago

Q. SSL (Secure Socket Layer) ?

A. 전송 계층 보안 (TLS, Transport Layer Security). 컴퓨터 네트워크에 통신 보안을 제공하기 위해 설계된 암호 규약.

OSI 7 Layer의 7계층에 해당하는 애플리케이션의 통신에 보안을 제공하기 위한 암호 규약, 프로토콜. 사용자가 보내고자하는 데이터 (HTTP, SMTP, TELNET, SNMP) 등을 암호화, 이를 TCP/IP를 통해 통신.

image

참고 : https://aws-hyoh.tistory.com/198

seoyeonkim01 commented 6 months ago

Q. �nginx에 인증서를 등록하여 사용하는 것은 ssl 터널링, https 게이트웨이 중에 어떠한 방식을 채택한 것인가

A. ssl 터널링

ㅋㅋㅋㅋㅋㅋㅋㅋㅋ HTTPS 게이트웨이는 도대체 왜 필요한것??

Joonhyeong-Park commented 6 months ago

Q. �nginx에 인증서를 등록하여 사용하는 것은 ssl 터널링, https 게이트웨이 중에 어떠한 방식을 채택한 것인가 A. ssl 터널링

ㅋㅋㅋㅋㅋㅋㅋㅋㅋ HTTPS 게이트웨이는 도대체 왜 필요한것??

https 게이트웨이라 함.. ai 할루시네이션으로 애가 미쳐서 ssl 터널링이라고 잘못 말한듯