Network 3

HTTP란?(HTTP/1.1, HTTP/2, HTTP/3, TLS HandShake)

HTTP(HyperText Transfer Protocol) HTTP는 OSI 7 계층과 TCP/IP 4계층의 응용 계층(Application Layer)에서 데이터를 주고 받는데 사용하는 프로토콜입니다. 보통의 웹개발에서 클라이언트가 HTTP 요청을 보내고 서버가 응답하는 방식으로 동작합니다. 현재 HTTP/3까지 만들어져 있으며 HTTP/0.9 ~HTTP/2 까지는 TCP 기반으로 동작합니다. HTTP/3은 표준화된 것이 2022년 6월 6일이기 때문에 HTTP/1.1과 HTTP/2 버전이 제일 많이 사용되고 있습니다. 버전별 특성은 아래와 같습니다. HTTP/0.9 1. 요청은 GET이 유일합니다. 2. HTTP 헤더가 없습니다. 즉, HTML 파일만 주고 받을 수 있습니다. 3. 상태/오류 코드도..

Network 2022.07.19

TCP, UDP란?

TCP와 UDP는 OSI 7 계층과 TCP/IP 4계층(updated 5계층)의 전송 계층(Transport Layer)에서 데이터를 주고 받는데 사용하는 프로토콜입니다. TCP TCP 3 & 4way HandShake 라는 과정을 통해 서로간 통신을 활성화하고 해제합니다. 그리고 흐름제어, 혼잡제어, 오류제어를 통해 데이터를 정확하게 주고 받을 수 있음을 보장합니다. 이렇게 해서 TCP는 신뢰성 있는 통신이 가능하게 됩니다. 그렇다면 TCP에서 사용하는 3 & 4 way HandShake 라는 것은 무엇일까요? 3way HandShake는 연결을 맺는 과정입니다. 신뢰성있는 통신을 위해 서로간 통신 가능 여부를 확인하여 연결하는 절차입니다. SYN : 'synchronize sequence number..

Network 2022.07.18

CDN이란?

CDN(Content Delivery Network)은 사용자의 요청을 처리하는 곳을 분산시키는 기술이다. CDN 서버에는 본 서버의 각종 이미지나 기타 정적 요소들이 상당수 저장 캐싱되어 있다. DNS에서 본 서버에 직접 요청하던 걸 CDN 서버를 먼저 걸쳐서 오도록 설정 할 수도 있다. 설정에 따라 여러 방식이 사용될 수 있는데, 일단 정적 캐싱과 동적 캐싱이 있다. 정적 캐싱은 캐싱할 것들을 미리 엣지에 보내는 거고 동적 캐싱은 사용자의 요청에 따라 보낼 컨텐츠가 엣지에 있는지 먼저 확인한 다음 있으면(cache hit) 바로 사용자에게 보내고 없으면(cache miss) 서버에 요청해서 받아온다. 동영상 무거운 파일 같은 경우에는 정적 캐싱으로 설정하는 것이 적합하다. 위의 사진과 같이 CDN 서..

Network 2021.09.18