본 포스팅은 인프런 김영한 강사님의 HTTP 통신 강의 내용을 정리 및 요약 내용입니다.
인터넷 프로토콜 스택의 4계층
- 애플리케이션 계층(HTTP, FTP)
- 전송계층(TCP, UDP) - OS 레벨
- 인터넷 계층(IP) - OS 레벨
- 네트워크 인터페이스 계층 (LAN 드라이버나 장비 등)
인터넷 프로토콜(IP)의 특징
- 지정한 IP 주소에 데이터 전달
- 패킷(packet)이라는 통신 단위로 데이터 전달
- 비연결성: 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
- 비신뢰성: 중간에 패킷이 사라지거나, 패킷이 순서대로 오지 않을 가능성이 있음
- 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 두개 이상이면 혼란 초래
전송제어 프로토콜(TCP , Transmission Control Protocal)의특징
- 연결지향 - TCP 3 way handshake
1. 클라이언트->서버: 접속요청(SYN)
2. 서버->클라이언트: 요청 수락(ACK) 및 접속요청(SYN)
3. 클라이언트-> 서버: 요청 수락(ACK)
4. 데이터 전송
- 데이터 전달 보증
- 순서 보장
- 신뢰할 수 있는 프로토콜임
- 현재는 대부분 TCP를 사용함
사용자 데이터그램 프로토콜(User Datagram Protocol)의 특징
- 유저가 원하는대로 설정 가능
- TCP와 같이 3 way handshake가 발생하지 않음
- 데이터 전달이 보증되지 않음
- 순서가 보장되지 않음
- 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름
- IP와 거의 같지만, PORT 및 checksum 기능이 추가되어 있음
- 따라서 애플리케이션에서 추가 작업이 필요함
PORT란?
- 포트는 같은 IP 내에서 통신하는 프로세스를 구분할 수 있도록, 프로세스에 번호를 부여하는 것(?)
- 0~65535: 할당가능
- 0~1023: 잘 알려진 포트, 사용하지 않는 것이 좋음
- FTP: 20, 21
- TELNET: 23
- HTTP: 80
- HTTPS: 443
'컴퓨터 네트워크 > 모든 개발자를 위한 HTTP 웹 기본지식 정리' 카테고리의 다른 글
HTTP 상태 코드 (0) | 2022.02.09 |
---|---|
HTTP 메서드 및 URI 설계 (0) | 2022.02.09 |
HTTP 통신 (0) | 2022.01.25 |