URI URL 구조, 차이점

h220101·2022년 5월 30일
3

URI (Uniform Resource Identifier, 통합자원식별자)

인터넷에 있는 자원을 나타내는 유일한 주소.
인터넷에 존재하는 각종 정보들의 유일한 이름이나 위치를 표시하는 식별자이다.

URL (Uniform Resource Locator)

웹주소이다.
컴퓨터 네트워크 상에서 리소스가 어디있는지 알려주기 위한 규약이다.

URI 구조

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

스킴 ://사용자정보@host:port/path(경로)?query#fragment
ex) : https://ksmart40id@www.ksmart.or.kr:443/forum/questions?course=sw40&order=name#search

  1. scheme/스킴 : 사용할 프로토콜, 리소스에 어떻게 요청 및 접근할 것인지를 명시한다. 웹에서 주로 HTTP프로토콜을 사용한다.

  2. user, password/사용자정보 : 서버에 접근하기 위한 사용자의 이름, 비밀번호

  3. host : 도메인 혹은 IP -> ksmart.or.kr
    접속하고 싶은 서버 컴퓨터를 의미한다.
    ex) google.com (도메인)

  4. path : 서버에 제공하는 자원의 경로
    요청하는 경로를 MVC패턴에서 숨길 수 있다.

  5. query : 클라이언트가 서버에 요청 시 전송할 데이터 (KEY+VALUE)

  6. fragment : 서브리소스에 대한 방향을 제공하는 식별자이다.

*https 기본포트는 443, http는 80, mysql은 3306이다.
-> 포트는 프로그램이 통신할 수 있게 하는 항구역할이다. (1개만 가질 수 있음) 보안이 필요하다면? 포트를 막으면 된다.

*forum ~이후는 경로이다.

*? 가 붙은 이 뒷 부분은 get방식이며 주소에 실어서 보내는 방법이다. (다른 jsp파일에 데이터를 보낸다.) 다른말로 query parameter 라고도 한다.
쿼리는 요청할 시 (키=값) 최종적인 값을 바인딩 받는다.
쿼리 get뱡식으로 보낼 때 쿼리스트링을 이용한다.
여러개를 보낼 때 (키=값&키=값)

또, post 방식은 header 안에 정보를 실어서 보낸다.

*fragment는 요소에 대한 id이다.
그 위치로 찾아가준다.
#id 는 페이지 안에 있는 식별자를 의미한다.
ex)
#footer
href="id"

URI , URL을 많이 사용하고 URN은 잘 사용하지 않는다.
전체가 URI라 봤을 때,
경로에 해당하는 위치까지는 URl이라 말하고,
프로토콜을 제외한 나머지는 URN이라고 한다.

URN : 특정정보에 이름을 부여하는 방법


URI
https://news.naver.com/main/read.navermode=LSD&mid=shm&sid1=101&oid=421&aid=0005584531
URL
https://news.naver.com/main/read.naver
URN
news.naver.com/main/read.navermode=LSD&mid=shm&sid1=101&oid=421&aid=0005584532

profile
기록하는 삶

0개의 댓글