본문 바로가기

프로그래밍 지식/웹 개발

HTTP 기본 지식 - URI, URL, URN

URI(Uniform Resource Identifier)

통합 자원 식별자(Uniform Resource Identifier, URI)는 인터넷에 있는 자원을 나타내는 유일한 주소이다. URI의 존재는 인터넷에서 요구되는 기본조건으로서 인터넷 프로토콜에 항상 붙어 다닌다.

URI의 하위개념으로 URL, URN 이 있다.

(ko.wikipedia.org/wiki/%ED%86%B5%ED%95%A9_%EC%9E%90%EC%9B%90_%EC%8B%9D%EB%B3%84%EC%9E%90)

 

Uniform은 리소스를 식별하는 통일되어있는 방식

Resource는 URI로 식별할 수 있는 모든 자원

Idenifier는 다른 항목과 구분하는데 필요한 정보를 의미한다. 

 

https://danielmiessler.com/study/difference-between-uri-url/

 

URL(Uniform Resource Locator)

네트워크의 자원에 대한 

locator는 리소스가 있는 위치를 지정하는 것(일반적으로 보편화 되어있다)

 

protocol://host:[port][/(path)][?query][#fragement]

protocol

 

어떤 방식으로 자원을 접근 할 것인가 에 대한 규약 (http, https, ftp 등이 있다)

 

host

Domain Name 혹은 IP Address를 사용한다

port

기본 http 포는 80

https 포트는 443 포트를 사용하는데 두 포트는 생략이 가능하다

 

path

웹 서버의 resource 경로를 나타낸다.(계층적 구조)

과거에는 직접적인 폴더의 경로를 나타냈지만 근래 웹사이트는 추상화된 경로를 나타낸다.

(/myhome/rooms/1)

 

query

key=value 형태로써 ?로 시작하고 &를 붙여서 추가할수 있다(?name=chicken&locate=seoul)

웹사이트에서 동적으로 데이터를 가져오기 위한 파라미터 부분들이다.

 

fragement

html 내부에서 북마크를 위해 사용하며 서버에 전달되는 정보는 아니다.

 

 

URN(Uniform Resource Name)

name은 리소스에 이름을 부여하는 것 (일반적으로 보편화 되어있지 않다)

 

 

 

HTTP 메시지 전송 순서 

  1. DNS 와 포트 조회
  2. HTTP 요청 메세지 생성
  3. SOCKET 라이브러리를 통해 TCP/IP 계층에 전달 (TCP/IP 연결 후 데이터 전달)
  4. TCP/IP 패킷 생성
  5. LAN을 통해 인터넷에 전달
  6. 인터넷에서 서버에 전달 

 

http://www.tcpschool.com/webbasic/works