본문 바로가기

개발

http 완벽 가이드 - URL 과 리소스

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로 변환된다.
반응형