URL 과 리소스
HTTP란
- http는 신뢰성 있는 데이터 전송 프로토콜을 사용해서 데이터 전송 중 손상되거나 꼬이지 않음을 보장
웹 클라이언트와 서버와 리소스
- 웹 서버는 인터넷의 데이터를 저장하고, HTTP 클라이언트가 요청한 데이터를 제공한다.
- 웹 서버는 웹 리소스를 관리하고 제공한다.
- 리소스는 정적 일 수도 있고, 요청에따라 콘텐츠를 생산하는 프로그램이 될 수도 있다.
- 인터넷은 수천 가지의 데이터 타입을 다루기 때문에 MINE 타입이라는 데이터 포맷 라벨을 붙인다.
- 모든 객체 데이터에 MIME 타입을 붙인다.
- 서버의 리소스 이름은 URI로 불린다. 우편물 주소 같은 것으로, 정보리소스를 고유하게 식별하고 위치를 지정할 수 있다.
- URL은 특정 서버의 한 리소스에 대한 구체적인 위치를 서술한다. 오늘날 대부분의 URI는 URL이다.
URL
예를 들어 https://www.naver.com 를 보자
- URL의 첫 부분인 HTTP는 URL의 스킴이다. 스킴은 웹 클라이언트가 리소스에 어떻게 접근하는지 알려준다.
- 두 번째는 www.naver.com은 서버의 위치이다. 웹클라이언트의 리소스가 어디에 호스팅 되어 있는지 알려준다.
- 세 번째는 리소스의 경로이다 경로는 서버에 존재하는 로컬 리소스들 중에서 요청받은 리소스가 무엇인지 알려준다.
대부분 URL 스킴의 문법은 9개로 나뉜다.
<스킴>://<사용자 이름>:<비밀번호>@<호스트>:<포트>/경로>;<파라미터>?<질의>#<프레그먼트> 구조로 이루어져 있다.
스킴
- 스킴은 주어진 리소스에 어떻게 접근하는지 알려주는 중요한 정보다.
- :로 구분되며 어떤 프로토콜을 사용하여 리소스를 요청해야 하는지 알려준다.
호스트와 포트
- 애플리케이션이 인터넷에 있는 리소스를 찾으려면, 리소스를 호스팅하고 있는 장비와 그 장비 내에서 리소스에 접근 할수 있는 서버가 어디에 있는지 알아야한다.
- 호스트 컴포넌트는 인터넷상의 호스트 장비
- 포트 컴포넌트는 서버가 열어놓은 네트워크 포트를 가르킨다.
- 내부적으로 TCP 포로토콜을 사용하는 HTTP는 기본 포트로 80을 사용한다.
사용자 이름과 비밀번호
- 자신이 가지고 있는 데이터에 접근을 허용하기 전에 사용자 이름과비밀번호를 요구한다.
- 애플리케이션이 FTP와 같이 사용자 이름과 비밀번호를 요구하는 URL 스킴을 사용한다면, 그 값을 삽입되어 있지 않을 경우 기본 사용자 이름과 비밀 번호를 넣어 놓을 것이다.
- 기본 사용자 이름 값으로 'anonymous'가 비밀번호는 브라우저마다 가지고 있는 기본값을 사용한다.
경로
- 경로 컴포넌트는 리소스가 서버의 어디에 있는지 알려준다.
- 경로는 서버가 리소스의 위치를 찾는데 사용하는 정보다.
질의 문자열
- 서비스의 리소스 형식의 범위를 좁히기 위해서 질문이나 질의를 받을 수 있다.
- ?item=1235 이런 형식으로 물음표 뒤에 있는 값을인데 이를 질의 컴포넌트라고 한다.
절대 URL, 상대 URL
상대 URL
- 상대 URL은 짧게 표기하는 방식이다.
- 예를 들어서 ./play
- 상대 URL 문법에 따르면, HTML 작성자는 URL에 스킴과 호스트 그리고 다른 컴포넌트들을 모두 입력하지 않아도 된다.
- 상대 URL은 알고리즘에 따라 절대 URL로 변환된다.
'개발' 카테고리의 다른 글
spring cloud stream 적용기 (1) | 2020.01.10 |
---|---|
HTTP 완벽 가이드 - http 메시지 (0) | 2019.09.09 |
AMQP 프로토콜의 메시지 소비 과정 (0) | 2019.04.24 |
rabbitMq Exchange 라우팅 패턴 (0) | 2019.04.20 |
AMQ 모델과 Exchange, Queue, Binding 에 대해 (0) | 2019.04.19 |