Network

HTTP 웹 기본 지식

Z00_HWAN_99 2024. 8. 27. 11:13
728x90
반응형

HTTP는 인터넷의 공용어이다.

CS란?

  • Computer Science의 약자

알아가야 할 중요 항목

  • 얼마나 많은 클라이언트와 서버가 통신하는지
  • 리소스(웹 컨텐츠)가 어디서 오는지
  • 웹 트랜잭션이 어떻게 동작하는지
  • HTTP 통신을 위해 사용하는 메시지 형식
  • HTTP(TCP 네트워크 전송) : 인터넷의 멀티미디어 배달부

인터넷 네트워크

  • 인터넷 통신
  • IP(Internet Protocol)
  • TCP, UDP
  • PORT
  • DNS

인터넷에서 컴퓨터 둘은 어떻게 통신할까?

  • 클라이언트 <-> 서버
  • OSI 7 Layer
    1. 물리 계층 : 전달받은 신호를 비트로 전환 or 전달받은 비트를 신호로 전환
    2. 데이터 링크 계층 : 프레임 단위로 묶는다. MAC주소 / IP헤더 / TCP헤더 / 데이터
    3. 네트워크 계층 : 패킷 단위로 묶는다. IP헤더 / TCP헤더 / 데이터
    4. 트랜스포트 계층 : 세그먼트 단위로 묶는다. TCP헤더 / 데이터 -> TCP, UDP
    5. 세션 계층 : 데이터만 남게 된다.
    6. 표현 계층 -> SSL
    7. 응용 계층 -> HTTP

리소스(Resource)

  • 리소스의 관리는 웹 서버.
  • 미디어타입(MIME - 다목적 인터넷 메일 확장) : HTTP는 웹에서 전송되는 객체 각각에 MIME 타입이라는 데이터 포맷 라벨을 붙인다.

IP(인터넷 프로토콜 역할)

  • 지정한 IP 주소(IP Address)에 데이터 전달.
  • 패킷(Packet)이라는 통신 단위로 데이터 전달.

IP프로토콜의 한계

  • 비연결성
    • 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
  • 비신뢰성
    • 중간에 패킷이 사라지면?
    • 패킷이 순서대로 안오면?
  • 프로그램 구분
    • 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면?

인터넷 프로토콜 스택의 4계층

  • 애플리케이션 계층 - HTTP, FTP
  • 전송 계층 - TCP, UDP
  • 인터넷 계층 - IP
  • 네트워크 인터페이스 계층

프로토콜 계층

  • 프로그램이 Hello, world! 메세지 생성
  • Socket 라이브러리를 통해 전달
  • TCP 정보 생성, 메시지 데이터 포함
  • IP 패킷 생성, TCP 데이터 포함

TCP 특징(전송 제어 프로토콜 - Transmission Control Protocol)

  • 연결지향 - TCP 3 way handshake(가상 연결)
  • 데이터 전달 보증
  • 순서 보장
  • 신뢰할 수 있는 프로토콜(클라이언트와 서버 양쪽 모두 데이터를 전송할 준비가 되었음을 보장)
  • 현재는 대부분 TCP 사용

TCP 3 way handshake

  • SYN : 접속 요청
  • ACK : 요청 수락
  • 과정
    1. SYN
    2. SYN + ACK
    3. ACK

UDP 특징(사용자 데이터그램 프로토콜 - User Datagram Protocol)

  • 하얀 도화이제 비유(기능이 거의 없음)
  • 연결 지향 X -TCP 3 way handshake X
  • 데이터 전달 보증 X
  • 순서 보장 X
  • 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름.
  • 정리
    • IP와 거의 같다. +PORT +체크섬 정도만 추가
    • 애플리케이션에서 추가 작업 필요

DNS(도메인 네임 시스템 - Domain Name System)

  • 전화번호부
  • 도메인 명을 IP 주소로 변환
728x90
반응형

'Network' 카테고리의 다른 글

웹의 탄생, 그리고 발전  (15) 2024.09.07
HTTP 분석  (0) 2024.09.03
Network Question  (0) 2024.08.29
URI와 웹 브라우저 요청 흐름  (0) 2024.08.27
서버-클라이언트 구조  (0) 2024.08.22