ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [CS study] 도메인에 URL을 쓴다면?
    네트워크/CS Study 2023. 6. 30. 21:41

    연결되는 과정

     

    1. 호스팅서버를 찾는다

     

    [channy.creation.net ]둘 중 무엇이 기억하기 쉬운가 [3.34.220.186 ]

    도메인은 IP보다 기억하기 쉽다는 내용을 기억하자.

     

    주소창에 도메인을 입력하면 DNS 조회를 하여 도메인을 통해 서버의 IP 주소를 찾을 수 있다

     

    DNS캐시를 확인하면서 될때까지(고유한 캐시, 운영 체제 캐시, 라우터의 로컬 네트워크 캐시, 회사 네트워크 또는 인터넷 서비스 제공업체(ISP)의 DNS 서버 캐시를 확인) DNS조회를 요청하는데 웹브라우저가 IP주소로 DNS레코드를 가져오면 인터넷에서 서버를 찾아서 연결을 한다.
    (검색결과 페이지와 같이 다양한 도메인명의 링크가 있는페이지에서 DNS Prefetch라는 기능이 도메인명을 미리 확인해서 DNS 확인시간으로 인한 지연을 발생시키지 않는다.)

     

    현재에는 웹서버에 직접 도달하는 방식이 효율적이지 않을 수 있어 CDN(내가 사용하는 서비스에서 제공하는 서버)을 사용해서 정적 및 동적 컨텐츠를 웹 브라우저에 가까이 위치시킨다.

    예시 : 외국에서 있는 웹사이트에서 제공하는 음악이나 동영상을 듣는것보다 내가 사용하고 있는 서비스의 데이터센터에 위치한 콘텐츠 배포서버에서 꺼내서 쓰는게 버퍼링이 없이 서비스를 즐길 수 있으니 이럴 가능성이 더 높다

     

     


     

    2. TCP / IP 연결을 시작한다

     

    걍 연결함..ㄷ

    위 사진을 통해서 TCP연결 시에 얼마만큼의 시간이 걸리는지 확인을 할 수 있다 (이모티콘있는 곳)


     

     

     

    3. 주고받기(서버 -- 클라이언트)

     

    웹브라우저가 인터넷에서 서버를 찾으면 HTTPS를통해서 주고 받는 데이터를 암호화하기 위한 TSL 핸드셰이크 과정을 수행한다 .

     

    웹브라우저가 http요청을 서버로 전송하는 과정을 하는데 이과정에서 요청라인,헤더,본문이 포함된 HTTP요청을 하게된다

     

    <요청 라인>
    GET /tables/user HTTP/1.1
    - GET, POST, PUT, DELETE 등 요청 메서드 : GET
    - 요청된 리소스를 가리키는 경로 : /tables/user
    - 통신할 HTTP 버전 : HTTP/1.1

     

    요청 헤더(Request Header) 는 요청을 라우팅하는데 도움이 되는 추가 정보를 전달하고, 어떤 유형의 클라이언트(사용자 에이전트)가 요청을 수행했는지 나타내며, 블루/그린 배포나 카나리 배포를 지원하는데 사용할 수 있다.

     

    User-Agent: Mozilla/5.0
    Accept: */*

     

    마지막은 본문이다.

    본문은 대부분 GET 요청일 때는 비어있고, POST, PUT 또는 PATCH와 같이 리소스를 조작하는 경우 생성하거나 업데이트할 데이터를 포함한다. 요청 본문의 형태를 서버는 요청 헤더인 Content-Type을 기반으로 이해한다.

     


     

    4. 렌더링    

     

    서버가 요청을 받으면 처리하고 응답을 전송하는데 응답에 포함된 내용은 상태라인, 응답헤더, 요청된 리소스

    전체 브라우저를 띄우는 과정에서 보면 GET요청을 통해 HTML을 반환하고 랜더링을 하기 위한 추가 데이터(JS, CSS 등등)을 요청하는 것을 알 수 있다(위 예제도 웹페이지를 랜더링하기 위한 이미지 요청)

     


     

    밑에껀 보지마세요

    더보기

    통신프로토콜 :

     

    스키마 : 

     

    전송계층보안 : 


    https를 사용하면 암호와 같이 위험한 정보들이 브라우저와 서버간의 데이터 교환과정에서 암호화되어서 교환이 된다.

    도메인 : 기억하기 쉬운주소로 특정 서버의 IP주소를 가르킨다

    DNS는 매우 복잡하고 빨라야해서 웹브라우저 사이의 서로 다늘 계층과 인터넷의 다양한 위치에 임시로 저장되고 이를 캐시라고 부른다


    이러한 DNS캐시를 확인하면서 될때까지 DNS조회를 요청하는데 웹브라우저가 IP주소로 DNS레코드를 가져오면 인터넷에서 서버를 찾아서 연결을 한다

    TCP / IP 전송제어 프로토콜 :

    TLS : 암호화 할 상호대상을 확인하는 과정

    f12눌렀을때 Network라고 적힌 부분이 있는데 여기서 서버와 웹 브라우저 간의 통신이 어떻게 일어나는지 볼 수 있다.

     

     

     

     

     

     

     

     

     

     

     

    참자료

    https://aws.amazon.com/ko/blogs/korea/what-happens-when-you-type-a-url-into-your-browser/

    https://sunrise-min.tistory.com/entry/%EC%9B%B9-%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80%EC%97%90-URL%EC%9D%84-%EC%9E%85%EB%A0%A5%ED%95%98%EA%B3%A0-%EC%82%AC%EC%9A%A9%EC%9E%90%EC%97%90%EA%B2%8C-%EB%B3%B4%EC%97%AC%EC%A3%BC%EA%B8%B0%EA%B9%8C%EC%A7%80-%EA%B3%BC%EC%A0%95

    댓글

Designed by Tistory.