본문 바로가기
독서/개발

그림으로 배우는 HTTP & Network Basic

by 독서왕뼝아리 2022. 12. 5.

독서기간_2022년 11월 말

저자_우에노 센

 


- 작가의 말 발췌 -
웹 애플리케이션 개발자들이 웹의 중심을 지탱하는 HTTP라는 프로토콜에 대해 모르고 있다는 사실을 깨닫게 되었다. 프로토콜을 알게 되면 웹을 깊게 이해할 수 있을 거라 확신하고 있었다.

 

HTTP 메시지 헤더 하나하나 다 설명하고 넘어간다. 한 번씩 눈도장 찍어두면 좋을 것 같다. REST 통신할 때 헤더 설정하던 기억 새록새록 났다. 아무것도 모르고 부딪히면서 감각적으로 익혔던 HTTP...ㅎ... 읽다보니 보안 쪽에도 관심이 생겼다. 가볍게 기초 웹 보안 서적 읽어 봐야겠다.

 

기초부터 웹 보안까지 훑어주는 책이다. 쉽고 귀엽게 설명해 주니 읽어 보는 것 추천한다!

 


 

맨날 봐도 헷갈리는 개념 정리...

프록시
: 서버와 클라이언트의 양쪽 역할을 하는 중계 프로그램으로, 클라이언트의 리퀘스트를 서버에 전송하고, 서버의 리스폰스를 클라이언트에 전송한다. (URI 변경 안 함) 특정 URI의 엑세스를 제한하는 것도 가능하다.
- 캐싱 프록시 : 프록시 서버 상에 리소스 캐시를 보존해 두는 타입
- 투명 프록시 : 리퀘스트와 리스폰스를 중계할 때 메시지 변경을 하지 않는 타입 (↔ 비투과 프록시)

게이트웨이
: 다른 서버를 중계하는 서버로, 클라이언트에서 수신한 리퀘스트를 리소스를 보유한 서버인 것처럼 수신한다. 경우에 따라서 클라이언트는 상대가 게이트웨이라는 것을 알지 못하는 경우도 있다.

터널
: 서로 떨어진 두 대의 클라이언트와 서버 사이를 중계하며 접속을 주선하는 중계 프로그램이다.

 


HTTP 취약점

- 평문 통신이기 때문에 도청 가능
- 통신 상대를 확인하지 않기 때문에 위장 가능
- 완정성을 증명할 수 없기 때문에 변조 가능


HTTPS = HTTP + 암호화 + 인증+ 완정성 보호

 



SPDY

: 웹 콘텐츠를 전송할 목적으로 구글이 개발한 비표준 개방형 네트워크 프로토콜. 애플리케이션 계층과 트랜스포트 계층 사이에 새로운 세션 계층을 추가하는 형태로 동작한다.
- 다중화 스트림
- 리퀘스트의 우선 순위 부여
- HTTP 헤더 압축
- 서버 푸쉬 기능
- 서버 힌트 기능