반응형

URI(Uniform Resource Identifier)

URI는 로케이터(locator), 이름(name)  또는 둘다 추가로 분류될 수 있다.

 

Uniform - 리소스 식별하는 통일된 방식

Resource - 자원, URI로 식별할 수 있는 모든 것(제한 없음)

Identifier - 다른 항목과 구분하는데 필요한 정보

 

URL - Uniform Resource Locator

 - 리소스가 있는 위치를 지정

 - URI를 URL과 같은 의미로 많이 사용

 

URN - Uniform Resource Name

 - 리소스에 이름을 부여

 - URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화 되지 않음.

 

URL 전체문법

 scheme://[userinfo@]host[:port][/path][?query][#fragment]

- scheme : 주로 프로토콜 사용, 어떤 방식으로 자원에 접근할 것인가 하는 약속 규칙 예) http, https, ftp 등

- [userinfo@] : URL에 사용자정보를 포함해서 인증, 거의 사용하지 않음

- host : 호스트명, 도메인명 또는 IP 주소를 직접 사용가능

- [:port] : 접속포트, 일반적으로 생략, 생략시 http는 80, https는 443

- [/path] : 리소스 경로(paht), 계층적 구조

- [?query] : ket=value 형태, ?로 시작, &로 추가 기능 (query parameter, query string등으로 불림)

- [#fragment] : html 내부 북마크 등에 사용, 서버에 전송하는 정보 아님

 

웹 브라우저 요청 흐름

HTTP 메시지 전송

  1. 클라이언트가 패킷을 생성해서 출발지 IP, PORT, 목적지 IP, PORT 전송 데이터(HTTP 메시지)를 서버에 요청한다.
  2. 데이터는 수많은 노드들을 거쳐서 서버에 전달된다.
  3. 서버는 TCP/IP 패킷을 제거 후 HTTP 메시지를 해석하여 응답 메시지를 생성한다.
  4. 서버도 똑같이 TCP/IP 패킷으로 감싼 후 클라이언트에 전달한다.

 

참고

inflean 강의 (모든 개발자를 위한 HTTP 웹 기본 지식, 김영한)

728x90
반응형

'Network' 카테고리의 다른 글

인터넷 네트워크  (0) 2021.09.04
반응형

인터넷 통신

 - 크게 클라이언트서버로 구성되어 있는데, 그 사이에 수많은 노드 서버들이 존재하여 노드들을 거쳐서 통신하게 된다.

IP

인터넷 프로톸콜 역할

 - 지정한 IP 주소(IP Address)에 데이터 전달

 - 패킷이라는 통신 단위로 데이터 전달

 

* IP 패킷 정보 데이터(출발지 IP, 목적지IP, 기타...)

IP 프로토콜의 한계

비연결성

 - 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송된다.

비신뢰성

 - 중간에 패킷이 사라질수 있다.

 - 패킷이 순서대로 도착 안 할 수 있다.

프로그램 구분

 - 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면 어떻게 구분할 것인가?

 

 

* IP 프로토콜의 한계를 극복하고자 TCP UDP 프로토콜 등장

 

인터넷 프로토콜 스택의 4계층

  1. 애플리케이션 계층 - HTTP, FTP
  2. 전송 계층 - TCP, UDP
  3. 인터넷 계층 - IP
  4. 네트워크 인터페이스 계층

TCP 프로토콜

* TCP 세그먼트 정보(출발지 PROT, 목적지 PORT, 전송 제어, 순서, 검증 정보 ...)

 

TCP 특징

전송 제어 프로토콜(Transmission Control Protocol)

  • 연결 지향 - TCP 3 way handshake (가상 연결)
  • 데이터 전달 보증
  • 순서 보장

 - 신뢰할 수 있는 프로토콜

 - 현재는 대부분 TCP 사용

 

 

TCP 3 way handshake

 - IP 프로토콜 비연결성 해결

데이터 전달 보증

 - IP 프로토콜 비신뢰성 해결

순서 보장

 - IP 프로토콜 순서 비신뢰성 해결

 

UDP 특징

  • 기능이 거의 없음
  • 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름
  • IP 프로토콜과 거의 같다 + PORT + 체크섬 정도 추가
  • 애플리케이션 추가 작업 필요
  • 요새 TCP의 SYN, ACK 과정들을 줄이기 위해서 다시 관심받고 있다.

 

PORT

 - 같은 IP 내에서 프로세스 구분

 - IP 프로토콜 프로그램 구분 해결

 - 예) IP가 아파트 한동이라면 PORT는 호수

 

* IP는 기억하기 어렵고, 바뀔 가능성이 있다. 그래서 DNS 등장

DNS

도메인 네임 시스템(Domain Name System)

- 도메인 명을 IP 주소로 변환

 

 

 

 

참고

inflean 강의 (모든 개발자를 위한 HTTP 웹 기본 지식, 김영한)

728x90
반응형

'Network' 카테고리의 다른 글

URI, URL, URN  (0) 2021.09.06

+ Recent posts