1. 인터넷 프로토콜 스택의 4계층
2. IP 프로토콜
- 지정한 IP주소에 데이터 전달
- 패킷이라는 통신 단위로 데이터 전달
IP 프로토콜의 한계
- 비연결성: 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
- 비신뢰성: 중간에 패킷이 사라지거나 순서가 바뀔 수 있다.
- 프로그램 구분: 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상일 수 있다.
3. TCP, UDP
TCP
- 연결 지향: 3 way handshake
- 데이터 전달 보증
- 데이터 순서 보장
- 신뢰할 수 있는 프로토콜
UDP
- TCP의 기능 없이 IP와 거의 같다.
- IP + PORT + 체크섬 정도만 추가
4. PORT
- 한번에 둘 이상 연결해야 할 때 같은 IP 내에서 프로세스 구분
- 0 ~ 65535: 할당 가능
- 0 ~ 1023: 잘 알려진 포트, 사용하지 않는 것이 좋음
5. DNS
- IP의 변경을 대비
- 도메인 명을 IP 주소로 변환
6. URI
- Uniform: 리소스 식별하는 통일된 방싱
- Resource: 자원, URI로 식별할 수 있는 모든 것
- Identifier: 다른 항목과 구분하는데 필요한 정보
- URL: 리소스가 있는 위치를 지정
- URN: 리소스에 이름을 부여
- 위치는 변할 수 있지만, 이름은 변하지 않는다.
- URN 만으로 실제 리소스를 찾을 수 있는 방법이 보편화 되지 않아 URL 주로 사용
URL 문법
scheme://[userinfo@]host[:port][/path][?query][#fragment]
ex) https://www.google.com:443/search?q=hello&hl=ko
- schema: 주로 프로토콜 사용 (https)
- userinfo: URL에 사용자정보를 포함해서 인증
- host: 호스트명 / 도메인명 또는 IP주소를 사용 (www.google.com)
- port: 접속 포트 (:443)
- path: 리소스 경로 / 계층적 구조
- query: 웹서버에 제공하는 파라미터 (?q=hello&hl=ko)
- fragment: 서버에 전송하는 정보 아님 / html 내부 북마크 등에 사용
'HTTP' 카테고리의 다른 글
[HTTP 웹 기본 지식] 06. 캐시와 조건부 요청 (0) | 2025.02.04 |
---|---|
[HTTP 웹 기본 지식] 05. HTTP 헤더 (1) | 2025.02.04 |
[HTTP 웹 기본 지식] 04. HTTP 상태 코드 (0) | 2025.02.04 |
[HTTP 웹 기본 지식] 03. HTTP 메서드 (0) | 2025.02.04 |
[HTTP 웹 기본 지식] 02. HTTP 기본 (0) | 2025.02.04 |