인프런 커뮤니티 질문&답변

BeakGwa님의 프로필 이미지
BeakGwa

작성한 질문수

CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조

Q. www.naver.com을 쳤을 때 생기는 과정, 그리고 DNS까지 설명해주세요. ★★★

과정 중 리다이렉트와 캐싱에 대한 의문점.

해결된 질문

작성

·

58

·

수정됨

0

감사히 내용 잘 듣고 있습니다! 몇가지 질문이 있어 질문 드립니다.

 

  1. 리다이렉트 후, 캐싱을 한다고 하는데, 캐싱을 하려고하면 www.naver.com 이 어떤 리소스가 필요한지 알아야 캐싱되어있는지 아닌지 확인 할 수 있을 것 같습니다. 따라서 영상에서 캐싱의 예시로 보여준 개발자 도구로 보여주신 캐싱이 해당 과정의 캐싱과 맞는 동작인지 궁금합니다.

  2. 동일하게 리다이렉트 하려고 하면, 리다이렉트 할 정보가 필요한데 이 정보 또한 서버로부터 받아와야 가능한게 아닌가 싶습니다.

     

     

    그래서 제가 이해하고 있는 순서는

    1. www.naver.com 검색 후 엔터

    2. dns 서버

    3. tcp 연결 (핸드세이크 과정 포함)

    4. 클라이언트 http 요청

    5. 서버 http 응답 (이때 리다이렉트 정보가 들어있으면 리다이렉트)

    6. html 반환(예시) 받고, 클라이언트가 해당 파일 읽고 추가적인 리소스가 필요한지 판단 후, 추가 요청 진행. (이때 캐싱되어있다면 요청 하지 않음)

      이렇게 입니다... 네트워크는 정말 어렵네요 ㅜㅜ

      헷갈리는 부분이 많아 질문드립니다. 감사합니다!

     

답변 2

1

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 ㅎㅎ

리다이렉트 이후의 캐시 과정은 브라우저 캐시, 공유캐시 단계를 말합니다.

 

공유캐시의 대표적인 사례는 공유프록시캐시인데요.

일단 프록시 서버같은 경우 실제 서버 앞단에 위치한 서버를 일컫습니다. 예를 들어 nginx를 node.js 서버 앞단에 둘 수가 있죠.

자 원래 사용자는 node.js 서버에 요청했지만 Node.js 서버를 만든 서버개발자는 nginx 서버를 앞단에 두었기 때문에 해당 요청은 nginx를 타고 들어올 수밖에 없습니다.

여기서 공유프록시 캐싱라는 것은 이 중간에 있는 nginx가 캐싱을 하는 것을 말합니다.

image.png

실제 서버의 IP 주소나 DNS를 거쳐야 하는게 아니냐?

-> 캐싱은 일단은 1번 요청한 이후에 발생하는 것입니다. 예를 들어 제가 어떤 사이트를 처음 방문했을 때 많은 것들을 다운로드받게 되지만 그 다음에 방문했을 때는 다운로드 받지 않죠? 즉, 1번 요청한 이후에 방문하기 때문에 이미 IP주소는 아는 상태가 됩니다.

이 때의 과정은 브라우저 캐시 확인 >> 프록시서버의 캐시 확인 >> DNS 요청

이렇게 되는 것입니다.


또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.


1

안녕하세요, 인프런 AI 인턴입니다.

BeakGwa님의 질문에 대한 답변은 제가 제공할 정보에는 포함되어 있지 않습니다. 하지만, 네트워크의 기본적인 흐름에 대해서는 말씀하신 내용이 큰 틀에서 맞습니다.

  1. 클라이언트가 도메인 이름(예: www.naver.com)을 입력하면, 먼저 DNS 서버를 통해 해당 도메인의 IP 주소를 알아냅니다.
  2. IP 주소를 얻은 후, TCP 연결을 통해 서버와의 핸드셰이크를 진행합니다.
  3. TCP 연결이 성공적으로 이루어지면, 클라이언트는 서버에 HTTP 요청을 보냅니다.
  4. 서버는 요청을 받고, 필요에 따라 리다이렉트 정보를 포함한 HTTP 응답을 클라이언트에게 보냅니다. 리다이렉트가 필요한 경우, 클라이언트는 응답으로 받은 리다이렉트 대상 URL로 다시 요청을 보냅니다.
  5. 최종적으로 서버로부터 받은 HTML 문서나 다른 리소스를 클라이언트가 화면에 렌더링합니다. 이 과정에서 클라이언트는 캐싱된 리소스가 있는지 확인하고, 캐싱된 리소스가 있다면 서버에 다시 요청하지 않고 캐시에서 가져옵니다.

네트워크에 대한 이해는 시간이 걸리고 경험을 통해 점점 더 나아지기 때문에, 꾸준히 학습하시면서 실습을 진행해보는 것이 중요합니다.

도움이 필요할 때 마다 질문해 주세요. 항상 도와드리겠습니다!

BeakGwa님의 프로필 이미지
BeakGwa

작성한 질문수

질문하기