
URL(Uniform Resource Locator)은 인터넷의 리소스를 가리키는 표준 이름이다.
URL을 사용하면 리소스를 일관된 방식으로 지칭할 수 있다.
대부분의 URL은 동일하게 스킴://서버위치/경로 구조로 이루어져 있다.
통합 자원 식별자(URI)란 서버 리소스의 이름이다. 웹 서버 리소스는 각자 이름을 갖고 있고, 클라이언트는 특정 리소스에 URI를 통해 접근할 수 있다. URI는 URL과 URN으로 구성되어 있다.
통합 자원 지시자(URL)는 특정 서버의 한 리소스에 대한 구체적인 위치를 서술한다.
대부분의 URL은 세 부분으로 이루어진 표준 포맷을 따른다.
통합 자원 이름은 특정 리소스에 대해 위치에 영향 받지 않는 유일무이한 이름을 뜻한다. 리소스의 위치가 변하더라도 URN은 정상 동작한다. 하지만 리소스 위치를 분석하기 위한 인프라의 부재로 아직까지 많이 사용되지는 않는다.
<scheme>://<user_name>:<password>@<host>:<port>/<path>;<parameter>?<query>#<fragment>

"https:"//velog.io/@tjdqls1668/http-study-2
:를 사용한다.| 스킴 | 설명 |
|---|---|
| http | 일반 URL 포맷을 지키는 http 스킴이다. - 포트 기본값은 80이다. 기본 형식: http://<host>:<port>/<path>?<query>#<fragment> |
| https | http 스킴과 거의 같다. 다만 차이점은 HTTP 커넥션 양 끝단에서 암호화를 위해 SSL을 사용한다는 것이다. - 포트 기본값은 443이다. 기본 형식: https://<host>:<port>/<path>?<query>#<fragment> |
| mailto | mailto URL은 이메일 주소를 가리킨다. - 이메일은 다른 스킴과는 다르게 동작한다. - mailto URL은 표준 URL과 다른 포맷을 가진다. - 인터넷 이메일 주소의 문법은 RFC 822에 기재되어 있다. 기본 형식: mailto:<RFC-822-addr-spec> |
| ftp | FTP 서버에 있는 파일을 내려받거나 올리고, FTP 서버의 디렉터리에 있는 콘텐츠 목록을 가져오는데 사용한다. - FTP는 웹과 URL이 출현하기 전부터 있었다. - 웹 애플리케이션은 데이터에 접근하는 용도의 스킴으로 FTP를 사용한다. 기본 형식: ftp://<user_name>:<password>@<host>:<port>/<path>;<parameter> |
| rtsp, rtspu | 실시간 스트리밍 프로토콜이라는 뜻 - 오디오 및 비디오와 같은 미디어 리소스 식별자이다. - rtspu의 u는 UDP를 뜻한다. 기본 형식: rtsp(u)://<user_name>:<password>@<host>:<port>/<path> |
| file | 주어진 호스트 기기에서 바로 접근할 수 있는 파일들을 나타낸다. - 각 필드는 일반적인 URL 포맷을 따른다. - 호스트가 생략되어 있으면 기기의 로컬 호스트가 기본값이 된다. 기본 형식: file://<host>/<path> |
| telnet | 대화형 서비스에 접근하는데 사용한다. telnet URL 자체가 객체를 가리키지는 않지만 리소스라고 할 수 있는 대화형 애플리케이션은 telnet 프로토콜을 통해 접근 가능하다. 기본 형식: telnet://<user_name>:<password>@<host>:<port>/ |
기본값
- 사용자 이름:
anonymous- 비밀번호:
chrome@example.com(chrome)
# 1. 사용자 이름이나 비밀번호 값이 없다면 기본값을 사용
ftp://ftp.prep.ai.mit.edu/pub/gnu
# == ftp://anonymous:chrome@ftp.prep.~~
# 2. @ 문자로 url에서 사용자 정보(사용자 이름, 비밀번호) 분리
ftp://**anonymous**@ftp.prep.ai.mit.edu/pub/gnu
# 3. : 문자로 사용자 이름, 비밀번호 분리
ftp//**anonymous:my_passwor**d@ftp.prep.ai.mit.edu/pub/gnu
https://"velog.io:443"/@tjdqls1668/http-study-2
https://velog.io"/@tjdqls1668/http-study-2"
/ 문자를 기준으로 경로조각으로 나뉜다.이름/값 쌍의 리스트로 URL 나머지 부분들로부터 ; 문자로 구분한다.이런 URL 형식을 Matrix parameter라고 부른다.
검색해보니 쿼리 스트링과의 차이점은 아래와 같다고 나왔다.
https://github.com/Sophoca[?tab=repositories&q=&type=&language=&sort=name]
& 문자로 나뉜 이름=값 쌍 형식의 쿼리 스트링을 원한다.웹 클라이언트는 몇몇 단축 URL을 인식하고 사용한다.
URL은 2가지로 나뉜다.
- 상대 URL: 모든 정보를 담고 있지 않다.
- 절대 URL: 리소스에 접근하는데 필요한 모든 정보를 가지고 있다.
상대 URL 문법에 따르면 HTML 작성자는 URL에 스킴, 호스트 그리고 다른 컴포넌트를 모두 입력하지 않아도 된다. 그러한 정보들은 컴포넌트가 포함된 리소스의 기저 URL에서 알아낼 수 있다.
기저 URL은 상대 URL의 기준이 된다.
기저 URL을 가져오는 방법은 다음과 같다.
<base> HTML 태그를 기술할 수 있다.상대 URL과 기저 URL을 각각의 컴포넌트 조각으로 나누는 것이다. (=URL 분해하기)
분해를 한 이후에는 다음 사진처럼 알고리즘을 사용해
상대 URL을 절대 URL 형태로 변환한다.

해당 기능을 지원하는 브라우저는 입력한 호스트 명을 전체 호스트 명으로 확장할 수 있다.
호스트명 확장 기능은
과거에 사용자가 방문했던 URL의 기록을 저장해 놓는 것이다.
히스토리 확장 기능은