728x90
반응형
HTTP는 인터넷의 공용어이다.
CS란?
- Computer Science의 약자
알아가야 할 중요 항목
- 얼마나 많은 클라이언트와 서버가 통신하는지
- 리소스(웹 컨텐츠)가 어디서 오는지
- 웹 트랜잭션이 어떻게 동작하는지
- HTTP 통신을 위해 사용하는 메시지 형식
- HTTP(TCP 네트워크 전송) : 인터넷의 멀티미디어 배달부
인터넷 네트워크
- 인터넷 통신
- IP(Internet Protocol)
- TCP, UDP
- PORT
- DNS
인터넷에서 컴퓨터 둘은 어떻게 통신할까?
- 클라이언트 <-> 서버
- OSI 7 Layer
- 물리 계층 : 전달받은 신호를 비트로 전환 or 전달받은 비트를 신호로 전환
- 데이터 링크 계층 : 프레임 단위로 묶는다. MAC주소 / IP헤더 / TCP헤더 / 데이터
- 네트워크 계층 : 패킷 단위로 묶는다. IP헤더 / TCP헤더 / 데이터
- 트랜스포트 계층 : 세그먼트 단위로 묶는다. TCP헤더 / 데이터 -> TCP, UDP
- 세션 계층 : 데이터만 남게 된다.
- 표현 계층 -> SSL
- 응용 계층 -> 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 : 요청 수락
- 과정
- SYN
- SYN + ACK
- 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 |