ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 백엔드 로드맵
    카테고리 없음 2022. 1. 3. 14:07

    인터넷

    <인터넷은 어떻게  작동될까요?>

    여러 컴퓨터를 그냥 연결하기 위해서는 너무 많은 케이블이 필요하다 => 라우터(연결을 도와주는 특수 소형 컴퓨터)를 사용! 

    하지만, 컴퓨터가 너무 많아진다면 라우터 하나로는 부족하다 => 라우터끼리 연결하여 해결할 수 있다

    너무 먼곳에 있는 곳까지도 연결을 하기 위해서는 어떻게 해야할까? => 라우터를 ISP(Internet Service Provier)에 연결한다!

     

    네트워크에 연결된 모든 컴퓨터에는 IP 주소라는 고유의 주소가 있다. 

    IP주소는 점으로 구분 된 네 개의 숫자로 구성된 주소 

    IP주소를 기억하기 어려우니, 도메인 이름을 지정하여 기억하기 쉽게 사용한다! ex) google.com = '173.194.121.32'

     

    <HTTP는 무엇일까요?>

    HTTP(Hyper Text Transfer Protocol)

    - 인터넷에서 데이터를 주고받을 수 있는 프로토콜. 클라이언트와 웹서버의 커뮤니케이션을 도와준다.

    - 클라이언트가 브라우저를 통해서 요청(request)를 하면 이에 맞는 응답(response)을 주는 형태로 동작한다. 

     

    Request HTTP 구성: method(첫 줄)/ header(두 번째 줄)/ 본문 (세 번째 줄)

    GET https://velog.io/@surim014 HTTP/1.1								// 시작줄
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) ...			  // 헤더
    Upgrade-Insecure-Requests: 1

    1. method

    - http method: get, post, delete 등등...

    - 사이트 주소

    - HTTP version

    2. Header

    - 요청에 대한 정보

    3. 본문

    - 요청을 할 때 함께 보낼 데이터를 담는 부분 

     

    Response HTTTP 구성: 상태코드(첫 줄)/ header(두 번째 줄)/ 본문 (세 번째 줄)

    HTTP/1.1 200 OK														// 시작줄
    Connection: keep-alive												 // 헤더
    Content-Encoding: gzip												 
    Content-Length: 35653
    Content-Type: text/html;
    
    <!DOCTYPE html><html lang="ko" data-reactroot=""><head><title...

    1. 상태코드

    - 100번대 부터 500번대까지 있다. 

    - 자세한 내용은 다른 블로그 참조. 

    2. header, 3.본문은 request와 동일.

     

    HTTP Version: 1.1 / 2 / 3 

    HTTP 1.1: 연결당 하나의 요청에 하나의 응답으로 처리한다. 

    HTTP 1.1의 단점

    - 속도와 성능 이슈 존재

    - HOL(Head of Line) Blocking (특정 응답 지연). 연결당 하나의 요청에 하나의 응답을 처리하기 때문에, 첫 번째 request에 대한 응답이 늦어지면 그 뒤의 request에 대한 response도 늦어지게 된다. 

    - RTT(Round Trip Time) 증가

    - 헤더가 크다(특히, 쿠키). 헤더에는 많은 메타 정보들이 저장되어 있다. 사용자가 방문한 웹페이지는 다수의 http 요청이 발생되는데, 이 경우 매 요청시마다 중복된 헤더 값을 전송하게 되며 각 도메인에 설정된 쿠키 정보도 매 요청시마다 헤더에 포함되어 전송

     

    HTTP 2 출시

    - 한 커넥션에 여러개의 메세지를 동시에 주고받을 수 있다. (Multiplexed Strams) 

    - 요청에 커넥션 상에서 다중화 되므로 HOL Blocking 발생 제어

    - 요청 리소스간 의존관계를 설정 (Stream Prioritization)

    - HTML문서상에 필요한 리소스를 클라이언트 요청없이 보내줄 수 있다. (Server Push)

    - Header정보를 HPACK 압충방식을 이용하여 압축전송 (Header Compression)

     

    <브라우저와 동작 원리>

     

    <DNS와 작동 원리>

     

    <도메인 네임은 무엇일까요?>

     

    <호스팅은 무엇일까요?>

Designed by Tistory.