HTTP
김영한님
의 인프런 강의 -모든 개발자를 위한 HTTP 웹 기본 지식를 통해 학습한 내용을 정리한 파일
인터넷 네트워크
인터넷 통신
- 복잡한 인터넷 망
IP(인터넷 프로토콜)
- 지장한 IP주소에 데이터 전달
- 클라이언트가 IP주소 부여
- 요청을 받는 서버도 IP주소 있어야 함
패킷
- 애플리케이션 영역에서 생성된
전송할 데이터
와
출발지 IP
, 목적지 IP
, 기타...
- 한계
- 비연결셩 : 통신하는 대상 여부와 상관없이 전송
- 비신뢰성 : 패킷이 중간(네트워크 어딘가)에서 사라지거나, 순서가 바뀔 수 있음
- 프로그램 구분 : 같은 IP에서 애플리케이션 구분 불가 → 포트로 해결
인터넷 프로토콜 4계층
계층 |
프로토콜 |
전송 |
어플리케이션 계층 |
HTTP, FTP |
DATA, 메세지 생성 |
전송 계층 |
TCP, UDP |
세그먼트 |
인터넷 계층 |
IP(IPv4, IPv6) |
패킷 |
네트워크 인터페이스 |
LAN, 이더넷 |
프레임, 비트 |
TCP
- 연결 지향
graph LR
A(클라이언트)-->|1.SYN|B(서버)
B-->|2.SYN+ACK|A
A-->|3.ANK|B
- 물리적으로 연결되어 있는지 확인 X →
논리적
으로 연결되어있다고 판단
- 데이터 전달 보증
- 순서 보장
- 패킷의 순서가 다르게 도착하면 재요청
- 1, 2, 3으로 전송 → 1, 3, 2로 도착
- 2부터 다시 보내달라 응답
UDP
- 거의 기능이 없음
- IP와 유사
- HTTP/3에서 사용
- TCP는 이미 짜여져있는 부분이 커서 기능 개선이 어려운 반면, UDP는 기능 개선의 여지가 있음
PORT
같은 IP 주소에서 둘 이상의 연결
이 있을 때..
- ex. 하나의 컴퓨터에서 게임을 들으면서 보이스톡을 하는 경우..
- 패킷 정보
DNS
-
네트워크로 통신하기 위해선 IP가 필요
- IP는 기억하기 어렵움
- IP는 변경이되면 알 수 없음
-
Domain Name System
- IP 주소를 나타내는 도메인 명
- DNS 서버에 등록
- 도메인 명을 IP로 변환하여 접속
DNS서버 |
도메인 명 |
IP |
aaa.com |
200.200.200.2 |
bbb.com |
210.210.210.3 |
: |