그림으로 배우는 Http&Network Basic 회고
동기
- 실무에서 만나는 대분의 통신은 Http로 하는데 지식이 부족하다고 생각해서 읽게 되었습니다.
- 아샬님께서 예전에 추천해 주셨던 책이라 메모해두고 이번 기회에 읽게 되었습니다.
요약 및 기억하고 싶은 내용
HTTP(HyperText Transfer Protocol)는 프로토콜입니다.
프로토콜은 '약속' 이라는 의미입니다.
일반적인 네트워크는 TCP/IP 라는 프로토콜에서 움직이고, HTTP는 그 중 하나입니다.
즉, 웹은 HTTP 라는 약속을 사용한 통신으로 이루어집니다.
Http는'기술' 보단 '약속'이라는 것을 아는것이 중요하다고 생각합니다.
IP와 IP주소는 다르다.
IP(Internet Protocol)는 프로토콜의 명칭입니다.
IP는 개개의 패킷을 상대방에게 전달하는 역할을 합니다.
일상생활에서 IP와 IP주소라는 말은 구분지어 사용해야 합니다.
TCP는 신뢰성을 위해 '바이트 스트림'이란 서비스를 활용합니다.
바이트 스트림이란 TCP 세그먼트라고 불리는 단위 패킷으로 분리해 관리하는 것입니다.
TCP는 신뢰성을 담당한다는 점을 기억해야합니다.
POST는 엔티티를 전송하기 위해 사용합니다.
PUT은 파일을 전송하기 위해 사용합니다.
주로 POST는 값을 저장하기 위해 사용하고 PUT은 수정하기 위해 사용하고 있었는데 정확한 사용시기를 알고 사용하는것이 좋겠습니다.
서버와 클라이언트 말고 이 둘을 중계하는 것들이 있습니다.
프록시, 게이트웨이, 터널
실무에서 주로 사용하는 것은 프록시이고 게이트웨이는 HTTP 서버 이외의 서버와 통신한다는 것을 알게되었습니다.
HTTP통신은 취약하다. HTTPS를 주로 사용한다.
HTTPS 통신은 아래와 같은 순서로 진행된다.
- 서버의 공개키를 인증기관에 등록한다.
- 인증기관은 자신의 비밀키로 서버의 공개키에 디지털 서명을 통한 공개키 증명서를 등록한다.
- 클라이언트는 해당 서버로 부터 2번에서 만들어진 공개키를 입수하고 디지털 서명을 인증 기관의 공개키로 검증한다. (이 때 인증기관의 공개키는 사전에 브라우저에 내장되어 있다.)
- 서버의 공개키로 암호화해서 서버에 요청을 보낸다.
- 서버의 비밀키로 메시지를 복호화한다.
제 3의 인증기관을 통해 공개키를 디지털 서명으로 안전하게 만들어주는 작업이 주요합니다. 공개키를 암호키처럼 사용하는 방법이라고 생각합니다.
마무리
책을 읽고나서 Http가 친숙해진 느낌이였습니다. 실무에서 Http와 관련된 오류를 경험하게 되면 당황하는 경우가 많았는데 실체를 알게되어 두려움이 줄어들었습니다.
하지만 이 책에서 소개해주는 모든 정보들이 현재 실무에서 만날수 있는것들은 아니기 때문에 이런 부분들은 가볍게 넘어갔습니다. 이런 부분을 만나게 된다면 그 때 다시 한번 이 책을 읽는게 좋을것 같습니다.
'RETROSPECT' 카테고리의 다른 글
코드숨 북클럽 [인스파이어드] 회고 (0) | 2022.01.26 |
---|---|
유스콘 2021 Spring Boot TDD Start! 회고 (2) | 2022.01.09 |
[자바의 신2] 23장 회고 (0) | 2021.10.18 |
[자바의신2 21장] 회고 (0) | 2021.10.01 |
[당신은 다른 사람의 성공에 기여한 적 있는가?] 회고 (0) | 2021.09.30 |