[FE로드맵] Internet

브리셀·2021년 9월 7일
0

인터넷

  • 어원: INTERnational NETwork
    TCP/IP를 정립한 빈튼 서프밥 간이 '네트워크의 네트워크'를 구현하여 모든 컴퓨터를 하나의 통신망으로 연결하고자 하며 명명함
    • TCP/IP: 인터넷 프로토콜 스위트(컴퓨터 간에 데이터를 주고 받는 데에 쓰이는 프로토콜의 모음) 중 가장 많이 쓰이는 프로토콜
      • 프로토콜(통신규약): 컴퓨터 간에 데이터를 주고 받는 양식과 규칙의 체계. 쉽게 말해서 "이 프로토콜에서는 이런 데이터를 이런 형식으로 보내겠다" 하는 약속.
        HTTP, FTP, IMAP, POP3, SMTP 등도 이에 속함
      • IP(Internet Protocol): 데이터를 패킷이라는 형태로 주고 받는 정보 위주의 규약.
        데이터의 형태만을 담당하기 때문에 비신뢰성과 비연결성이 특징임. 즉, 데이터가 손상 없이, 원하는 곳에, 순서대로, 도착했는지와는 전혀 관련이 없으므로 TCP 등을 함께 사용함.
        "IP주소"의 IP가 이 IP이며, 버전 0부터 3까지는 테스트 버전이고 v4가 현재 널리 쓰이고 있으나 주소공간 고갈 등의 문제로 v6으로 전환하는 추세.
      • TCP(Transmission Control Protocol): 데이터 옥텟(8비트; 1바이트)을 손상 없이, 원하는 곳에, 순서대로 주고받을 수 있게 하는 규약.

참고한곳

HTTP(HyperText Transfer Protocol)

  • (주로) HTML을 주고받는 데에 쓰이는 프로토콜
  • 1996년에 v1.0, 1999년에 v1.1이 발표됨
  • TCP와 함께 쓰였으나 HTTP/3부터는 UDP를 사용함
    • UDP(User Datagram Protocol): 요약하자면 TCP보다 데이터를 단순한 형태로 단방향으로 전송하는 방식으로, 속도가 빠른 장점이 있음
  • 평문(ASCII)으로 된 요청과 응답으로 통신
    • 요청 메시지: 요청 내용, 헤더, 빈 줄, 기타 메시지로 구성
      • 요청 내용에는 메소드가 포함되는데, 대표적으로 GET, POST, PUT, PATCH, DELETE 등이 있으며, 메소드에 따라 기타 메시지 포함 여부 등이 다름
      • 각 항목은 CrLf로 끝나야 하며 빈 줄에는 그 외엔 다른 문자가 있으면 안 됨
    • 응답 메시지: 상태 표시, 헤더, 빈 줄, 기타 메시지로 구성
      • 상태 표시에는 응답코드가 포함되는데, 대표적으로 200(Success), 404(Not found) 등이 있음
//요청 예시
GET /restapi/v1.0 HTTP/1.1
Accept: application/json
Authorization: Bearer UExBMDFUMDRQV1MwMnzpdvtYYNWMSJ7CL8h0zM6q6a9ntw


//응답 예시
HTTP/1.1 200 OK
Date: Mon, 23 May 2005 22:38:34 GMT
Content-Type: text/html; charset=UTF-8
Content-Encoding: UTF-8
Content-Length: 138
Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
Server: Apache/1.3.3.7 (Unix) (Red-Hat/Linux)
ETag: "3f80f-1b6-3e1cb03b"
Accept-Ranges: bytes
Connection: close

<html>
<head>
  <title>An Example Page</title>
</head>
<body>
  Hello World, this is a very simple HTML document.
</body>
</html>

참고한곳

  • HTTP @ 위키백과

인터넷의 동작 원리

  1. 인터넷에 연결된 모든 컴퓨터에는 IP주소가 할당됨 (말 그대로 '주소')
    • 서버 컴퓨터에도 IP주소가 있지만 대부분은 도메인이라는 문자열로 대체됨 (예: velog.io, google.com 등)
    • 이 도메인-IP주소 데이터 쌍은 DNS(Domain Name System) 서버에 저장되어 있음
      • DNS 서버는 주로 각 통신사나 구글(*서버가 일본에 있음)이 운영함
      • 도메인 자체는 ICANN이라는 기관이 관리함
  2. 사용자가 브라우저에 도메인을 입력함
  3. 브라우저가 DNS서버에서 해당 도메인의 IP주소를 받아옴
  4. 브라우저가 해당 IP주소의 데이터센터(서버)에 데이터를 요청함
  5. 데이터센터가 데이터를 패킷으로 가공("IP")하여 TCP를 따라 광 펄스의 형태로 전송함
  6. 해저 케이블을 타고 온 광 펄스 데이터가 라우터에서 전기신호로 변환되고, 이더넷 케이블을 따라 컴퓨터로 이동됨
    • 혹은 기지국에서 전파신호로 변환되어 휴대용 기기로 이동됨
    • 케이블을 타고 이동하는 경로는 일정하지 않으며, 해당 시점의 가장 빠른 경로를 이용하게 됨
  7. 브라우저가 전송받은 데이터를 프로토콜에 따라 해석하여 화면에 띄워줌
  • 요약: 데이터센터(발신처)에 저장된 데이터가 TCP/IP 등의 프로토콜을 따라 수신처로 전송됨
    • (위성 통신이 아니라) 해저에 매립한 광케이블 네트워크를 통해 빠르게 전송됨

참고한곳

profile
풀스택도 프론트부터

0개의 댓글