HTTP

[HTTP 웹 기본 지식] 01. 인터넷 네트워크

binning 2025. 2. 3. 23:57

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 내부 북마크 등에 사용