HTTP 웹 기본 지식 - 1

geonmyung·2022년 3월 21일
0

HTTP 웹 기본 지식

목록 보기
1/3
post-thumbnail

인프런 김영한 강사님의 모든 개발자를 위한 HTTP 웹 기본 지식 강의를 수강하며 공부한 내용을 정리했습니다.

인터넷 네트워크

인터넷 통신

  • 클라이언트 <-( 인터넷 )-> 서버
    - 인터넷망은 수많은 노드들로 구성되어 있다.
    - 그렇다면 어떤 규칙으로 어떻게 목적지까지 전달할 수 있을까?

IP

  • 인터넷 프로토콜
    - 어떤 역할을 할까?
    • 지정한 IP 주소에 데이터 전달
    • 패킷이라는 통신 단위로 데이터 전달
  • 클라이언트와 서버에 IP 주소를 부여한다.
    • 클라이언트 : 100.100.100.1
    • 서버 : 200.200.200.2
  • IP 프로토콜의 한계
    • 비연결성 : 패킷 수신 대상이 없거나 서비스 불능에도 패킷 전송
    • 비신뢰성 : 중간에 패킷 손실, 패킷이 순서대로 오는가?
    • 프로그램구분 : 같은 IP 사용하는 서버에서 애플리케이션이 여러개라면?

TCP, UDP

  • 프로토콜 계층
    1. 프로그램이 Hello, world! 메시지 생성
    2. SOCKET 라이브러리를 통해 전달
    3. TCP 정보 생성, 메시지 데이터 포함
    4. IP 패킷 생성, TCP 데이터 포함
  • [ IP 패킷 [ TCP 세그먼트 [ 전송데이터 ] ] ]
    - IP 패킷 : 출발지 IP, 목적지 IP, 기타 등등
    - TCP 세그먼트 : 출발지 PORT, 목적지 PORT, 전송 제어, 순서, 검증 정보 등등
  • TCP 특징
    - 연결지향 (3 way handshake)
    - 데이터 전달 보증
    - 순서 보장
    - 신뢰할 수 있는 프로토콜
    - 대부분 TCP 사용
  • UDP 특징
    - 연결지향 (3 way handshake) X
    - 데이터 전달 보증 X
    - 순서 보장 X
    - 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠르다.
    => IP에서 PORT와 체크섬 정도만 추가
    => 애플리케이션에서 추가 작업이 필요하다.

PORT

  • 같은 IP 내에서 프로세스 구분하는 역할
  • IP는 아파트, PORT는 동/호수라고 생각하면 된다.

DNS

  • IP는 기억하기 어렵다. 그리고 IP는 변경될 수 있다.
  • Domain Name System
    - 전화번호부 역할
    - 도메인 명을 IP 주소로 변환

출처

profile
옹골찬 개발자가 되기 위한 험난한 일대기

0개의 댓글