2월 1주차 스터디 발표 자료📖
기술 면접을 준비하며 정했던 주제 중 두번 째 주제입니다!
URL,URI,URN 비슷하게 생긴 3개의 개념을 정리해보고자합니다.
URI의 정의
➔ 이름,위치 또는 둘 모두를 사용하여 웹 리소스를 식별하는 문자열
➔ 일반적으로 XML, 태그 라이브러리 파일 및 기타 파일( JSTL,XSTL 등)에서 사용된다.
- Uniform Resource Identifier의 약자이다.
- Uniform : 리소스를 식별하는 통일된 방식
- Resource : 자원, URI로 식별할 수 있는 모든 것
Identifier : 다른 항목과 구분하는데 필요한 정보
- URI의 목적?
➔ 리소스를 정의하고 위치,이름 또는 두가지를 모두 사용하여 리소스를 다른 리소스와 구별하는 것이
주 목적이다.
URL의 정의
➔ 리소스의 웹 주소 또는 위치를 지정한다.
➔ 인터넷에서 웹페이지를 검색할 때 주로 사용된다.
- Uniform Resource Locator의 약자이다.
- URL은 URI의 하위 집합이다.
- 시간이 지남에 따라 변할 수 있다. 즉, 영구적이지 않다.
- URL의 구조?
- scheme?
➔ 주로 프로토콜 사용
➔ 프로토콜? 어떤 방식으로 자원에 접근할 것인가 하는 약속 규칙(ex.http,https,ftp 등)
[:port] ➔ 각 프로토콜에 해당하는 포트를 작성하나, 생략이 가능하다. (ex. http-80, https-443) - userinfo?
➔ URL에 사용자의 정보를 포함하여 인증한다.(거의 사용하지 않음) - host?
➔ 호스트 명 (도메인 명이나 IP 주소를 직접 사용할 수 있다.)
➔ 도메인 명 vs 호스트명
호스트명은 컴퓨터의 이름, 도메인 명은 네트워크에 부여되는 이름이다.
www.naver.com , kin.naver.com, cafe.naver.com에서 호스트명은 www,kin,cafe이고,
naver.com은 도메인명이다. - port?
➔ 접속 포트이며, 일반적으로 생략한다.
➔ 생략 시, http는 80 https는 443으로 자동 설정된다. - path?
➔ 리소스 경로이며, 계층적 구조를 띈다.
ex) /home/file1.jpg , /members, /member/100 - query? ( = query parameter, query string)
➔ key = value의 형태로 구성되있으며, ?로 시작하고 &로 쿼리 추가가 가능하다.
➔ query parameter로 불리는 이유?
웹서버에 제공하는 파라미터이기 때문에
➔ query string으로 불리는 이유?
어떤 자료형이든 String으로 전달되기 때문에 - fragment?
➔ html 내부 북마크 등에 사용 (해당 태그로 이동)
➔ 서버에 전송하는 정보가 아니다.
- scheme?
- URL의 목적?
➔ 인터넷의 모든 리소스에 대한 가장 기본적인 네트워크 식별자이다. 해당 식별자가 있기에, 사용자들이
손쉽게 리소스에 접근할 수 있다.
➔ World Wide Web(WWW)에서 주소를 지정하기 위한 형식이다.
➔ 즉, 주요 목적은 리소스의 주소 또는 위치를 얻는 것
URN의 정의
➔ 리소스를 영구적으로 식별하는 것이 목적이며, 지속적이고 독립적인 식별자이다.
➔ 즉, 리소스의 위치가 변경되어도 유효하다는 것을 의미.
- Uniform Resource Name의 약자이다.
- URN은 URI의 하위 집합이다.
- 하지만, URN 이름만으로 실제 리소스를 찾는 방법이 보편화되지 않았다.
- ex. urn : isbn : 1234567891234 (국제 표준 도서 번호)
URI와 URL,URN의 차이?
- URL? 프로토콜이 결합된 형태
- URI? 이름 그 자체도 가능하며, 이름+위치도 가능하다.
- URN? 리소스의 위치와 무관하게 이름을 부여한 것이다. 즉, 웹서버 주소가 바뀌어도 /chonahyeon?tab=repositories라는 식별자는 변경되지않는다.