본문 바로가기

CS/Network

(6)
HTTP와 HTTPS HTTP는 서버와 클라이언트 간에 통신을 주고받는 프로토콜을 말한다. 이 프로토콜 방식은 주고받는 데이터가 암호화되지 않기 때문에 보안 문제가 발생할 수 있다. 따라서 HTTPS 프로토콜을 사용하는데 이는 HTTP 프로토콜에 보안 기능을 추가한 것이다. 2014년부터 구글은 웹 전반의 보안을 개선하기 위해 모든 사이트에 HTTPS 방식을 사용할 것을 요구했으며 HTTPS를 사용한 사이트에는 가산점을 주어 사용자들에게 잘 노출되도록 했고, HTTPS를 사용하지 않을 경우 '안전하지 않음'의 경고 문구를 보내며 사용자들이 접속하지 않게끔 하였다. 그렇다고 HTTPS가 모든 보안 문제를 해결하는 것은 아니다. 최소한의 요건만 갖춘 것이다. HTTP Server와 Client 간에 데이터를 주고받는 통신 프로토..
CDN이란 무엇일까? 이전 포스팅에서 사용자가 특정 사이트로 요청했을 때 전반적인 처리 과정에 대해서 살펴보았다. 클라이언트가 서버에 요청을 보냈을 때 일차적으로 자체 DNS 캐시를 검색하고, 없을 경우 DNS Server에 해당 DNS에 대한 IP를 질의하여 자신이 원하는 사이트의 IP를 알아낸다. 하지만 이 IP 주소가 본 서버의 IP 주소가 아닐 수 있다. 큰 서버일수록 대용량의 트래픽을 관리하기 위해 서버를 분산하여 본 서버로의 접속을 줄인다. 분산된 서버들을 CDN이라 볼 수 있다. AWS, Cloudfare, Akamai의 CDN 관련 문서 자료를 참고하였습니다. CDN(Content Delivery Network) CDN은 콘텐츠 전송 네트워크로 콘텐츠를 효율적으로 전달하기 위해 여러 노드를 가진 네트워크에 데이..
클라이언트의 서비스 요청에 따른 서버의 처리과정 클라이언트가 웹 브라우저를 사용하여 특정 웹 사이트에 접근할 때 웹 브라우저는 해당 사이트의 IP 주소를 찾아 서버와의 통신을 진행한다. 그러면 서버는 클라이언트의 요청을 처리하고 그에 따른 응답을 웹 브라우저에 보내면 웹 브라우저는 클라이언트가 보기 좋게 렌더링 하여 보여준다. 이번 포스팅에서는 URL 입력과 IP 조회 및 반환에 대해서 작성해 보았다. TCP 연결 및 연결해제에 관련해서는 이전 포스팅 OSI 7 Layers 와 TCP와 UDP를 참고하길 바란다. 기본 과정 1. 사용자는 웹 브라우저를 통해 url 주소 입력 2-1. Hosts파일의 IP 정보들은 DNS 캐시 파일에 저장이 되어진다. 2-2. 브라우저에서 사용자 요청 도메인의 IP 주소를 찾기 위해 DNS Cache 접근 2-3. DN..
TCP와 UDP 지난 포스팅에서 OSI의 7 계층에 대해 간략히 적어 보았다. 그중 4 계층에 해당하는 Transport Layer에서는 TCP 프로토콜과 UDP프로토콜을 통해 데이터를 전송하는 역할을 한다. 그중 TCP 프로토콜은 흐름 제어, 순서 제어, 연결 제어, 중복검사를 하여 데이터를 순차적으로 안전하게 전달할 수 있도록 보장한다. TCP와 UDP가 서버와 동작하는 과정을 살펴보고 차이점을 알아보도록 하자. 데이터 송·수신의 전반적인 과정 호스트 간(peer to peer / client to server)에 데이터를 송·수신하기 위해 각 Layer를 거치며 만들어지는 데이터가 감싸지는 모습이다. L4에서 송신자는 소켓을 통해 스트림 형식으로 데이터를 기록한다. L3에서 MSS(Minimum Segment Si..
Proxy 프록시 클라이언트와 서버 사이에서 중계 역할을 담당한다. 주로 보안, 트래픽 분산의 역할을 한다. 응용프로그램 수준에서만 동작(L7) 프록시(Proxy) 클라이언트와 서버 사이에서 중계기를 역할을 하며 서버 대신에 프록시 서버와 클라이언트 사이에서 통신을 하여 원활한 통신이 이루어질 수 있도록 하는 기능이 있음 캐시 / 필터 / 보안 / 트래픽 분산 등의 장점 서버의 대리 역할(리버스 프록시)을 할 때도, 클라이언트의 대리역할(포워드 프록시)을 할 때도 있음 프록시는 위치에 따라 포워드 프록시와 리버스 프록시로 나누어짐 포워드 프록시(Forward Proxy) 포워드 프록시는 인터넷과 클라이언트 사이에 위치 클라이언트의 요청을 프록시의 요청인 것처럼 하여 서버에 전송할 수 있음 서버에 요청된 정보를 캐시를 이용..
세션과 토큰 https://www.youtube.com/watch?v=tosLBcAX1vk 웹을 공부하기 위해서는 웹의 동작 방법에 대해 알고 있어야 합니다. 그 중 쿠키와 세션 그리고 토큰의 일종인 JWT에 대해 노마드 코더님의 영상을 보며 정리해 보았습니다. 쿠키 우선 쿠키에 대해 알아보겠습니다. 웹 서핑을 하다보면 "모든 쿠키를 허용하시겠습니까" 라는 문구를 종종 볼 수 있습니다. 웹에 대해 잘 알지 못한다면 여기서 말하는 쿠키가 분명 먹을 것은 아닐테고, 과연 이것이 무엇인지 잘 모르실 것 입니다. 그리고 인터넷 사용 기록을 보기 위해 브라우저의 설정 창에 들어가면 위와 같은 내용을 볼 수 있습니다. 쿠키가 하는 역할이 무엇인지 어느 정도 예상 되시나요? 쿠키는 사용자가 특정 웹 사이트에 방문하기 위해 서버에..