인터넷의 역사부터 웹의 탄생, HTTP 와 REST 등, 우리가 현재의 웹을 이해하는데 필요한 것들만 정리 했습니다.
현업에 개신 개발자 분들은 다들 아시는 내용이겠지만, 정작 우리 주위엔 웹을 많이들 쓰고, 관련해서 일을 하면서도 웹의 내부에 대해서는 잘 모르고 있는 사람들이 많습니다.
웹의 기반기술을 제대로 아는것이, 우리가 좀더 웹을 진지하게 접근하는 것의 시작이라고 생각합니다.
인터넷의 역사부터 웹의 탄생, HTTP 와 REST 등, 우리가 현재의 웹을 이해하는데 필요한 것들만 정리 했습니다.
현업에 개신 개발자 분들은 다들 아시는 내용이겠지만, 정작 우리 주위엔 웹을 많이들 쓰고, 관련해서 일을 하면서도 웹의 내부에 대해서는 잘 모르고 있는 사람들이 많습니다.
웹의 기반기술을 제대로 아는것이, 우리가 좀더 웹을 진지하게 접근하는 것의 시작이라고 생각합니다.
node.js를 처음 접하는 개발자를 위한 스터디 자료입니다.
실습 위주로, 간단한 웹 페이지를 만들어 보는 것을 목표로 하며,
express를 활용하기에 앞서, node.js 기본 API만으로 GET/POST 처리 방식을 알아봅니다.
내용의 깊이가 있지는 않으며, 단지 node.js의 입문을 위한 가벼운 수준으로 내용이 구성되었습니다.
The document discusses network packets and TCP/IP protocols. It introduces key concepts like packet structure, IP headers, TCP segments, round-trip time (RTT), retransmission timeout (RTO), and TCP retransmission algorithms like Karn's algorithm and Jacobson's algorithm. It explains TCP terminology such as slow start, congestion avoidance, time out, and exponential weighted moving average. The document also discusses packet vs. segment, ports, checksum, TTL, smoothed RTT, RTT variation, and algorithms for calculating RTO values and performing timer back-off for retransmissions.
인터넷의 역사부터 웹의 탄생, HTTP 와 REST 등, 우리가 현재의 웹을 이해하는데 필요한 것들만 정리 했습니다.
현업에 개신 개발자 분들은 다들 아시는 내용이겠지만, 정작 우리 주위엔 웹을 많이들 쓰고, 관련해서 일을 하면서도 웹의 내부에 대해서는 잘 모르고 있는 사람들이 많습니다.
웹의 기반기술을 제대로 아는것이, 우리가 좀더 웹을 진지하게 접근하는 것의 시작이라고 생각합니다.
인터넷의 역사부터 웹의 탄생, HTTP 와 REST 등, 우리가 현재의 웹을 이해하는데 필요한 것들만 정리 했습니다.
현업에 개신 개발자 분들은 다들 아시는 내용이겠지만, 정작 우리 주위엔 웹을 많이들 쓰고, 관련해서 일을 하면서도 웹의 내부에 대해서는 잘 모르고 있는 사람들이 많습니다.
웹의 기반기술을 제대로 아는것이, 우리가 좀더 웹을 진지하게 접근하는 것의 시작이라고 생각합니다.
node.js를 처음 접하는 개발자를 위한 스터디 자료입니다.
실습 위주로, 간단한 웹 페이지를 만들어 보는 것을 목표로 하며,
express를 활용하기에 앞서, node.js 기본 API만으로 GET/POST 처리 방식을 알아봅니다.
내용의 깊이가 있지는 않으며, 단지 node.js의 입문을 위한 가벼운 수준으로 내용이 구성되었습니다.
The document discusses network packets and TCP/IP protocols. It introduces key concepts like packet structure, IP headers, TCP segments, round-trip time (RTT), retransmission timeout (RTO), and TCP retransmission algorithms like Karn's algorithm and Jacobson's algorithm. It explains TCP terminology such as slow start, congestion avoidance, time out, and exponential weighted moving average. The document also discusses packet vs. segment, ports, checksum, TTL, smoothed RTT, RTT variation, and algorithms for calculating RTO values and performing timer back-off for retransmissions.
HTTP/2 was created to improve on HTTP/1.1. It uses a binary framing layer which allows for multiplexing of requests and responses over a single TCP connection. This improves performance by reducing latency compared to HTTP/1.1. Other features include header compression, server push, and stream prioritization which further enhance performance and efficiency. The document provides technical details on these HTTP/2 features and includes examples of analyzing HTTP/2 traffic using Wireshark.
3. HSTS
안전한 원본 페이지 X가 아닌 => 악의적인 다른 페이지로
Redirect되는 Man in the middle Attack 위험
4. HSTS preload
Chrome 보안 팀 => HSTS preload list [https://hstspreload.org/]
첫 번째 방문에도 Strict Transport Security사 자동으로 활성화되는 Domain 목록
Firefox, Safari, Opera, Edge - Chrome의 HSTS preload list 통합
6. HTTPS
HTTP 프로토콜 + 대칭 / 비대칭 인증서 기반 암호 집합
네트워크 인터페이스
IP
TCP
HTTP 애플리케이션 계층
전송 계층
네트워크 계층
데이터 링크 계층
(A) HTTP
네트워크 인터페이스
IP
TCP
SSL 혹은 TLS 보안 계층
전송 계층
네트워크 계층
데이터 링크 계층
(A) HTTP
HTTP 애플리케이션 계층
7. SSL
1) Client : server에 443 포트로 연결 & Binary 포맷으로 된 몇몇
SSL 보안 매개변수를 교환하면서, HandShake를 하고, 암호화된 HTTP 명령을 보냄
8. SSL or TLS
SSL 3.0을 참고로 해 RFC 2246으로 표준화한 것 => TLS
전송 계층
응용 계층 응용 프로그램 자체 구현 가능
(EAP, IPsec 등 - OS 등에 밀접 관련)
전송 계층 상에서 Client, Server에 대한 인증, 데이터 암호화 수행
19. Solution: HTTPS SSL Tunneling Protocol
클라이언트는 Proxy에게 연결하고자 하는 안전한 호스트와 포트를 말해준다
(암호화가 시작되기 전의 평문으로!)
HTTP -> CONNECT 메소드 : 평문으로 된 종단 정보를 전송하기 위해 사용됨
Connect? : Proxy에게 희망하는 Host, Port 번호로 연결 요구 => 완료되면, 터널 생성
(클라이언트와 서버 사이에 데이터가 직접적으로 오갈 수 있음)
20. Solution: HTTPS SSL Tunneling Protocol
Client는 Proxy로부터 응답 대기 & Proxy는 확인 작업
21. Solution: HTTPS SSL Tunneling Protocol
“원 서버의 Host:Port <HTTP 버전 문자열> CRLF”
0개 이상의 HTTP 요청 헤더줄들이 이어지고, 빈 줄 하나가 옴
if handshake ok, SSL 데이터 전송이 시작됨