기타/HTTP & 인증체계

[HTTP] HTTP란 무엇인가? HTTP 알아보기2 - URI & URL

just-e 2021. 1. 12. 23:52

[그림 1]

HTTP 시리즈

  1. HTTP 알아보기1 - HTTP 개념
  2. HTTP 알아보기2 - URI & URL

 

 

URI와 URL은 무엇인가요?

URI와 URL은 무엇일까요?? 어떤분들은 URL이라고 하시는 분이 있고 URI라고 하시는 분들도 있습니다.

정확한 용어로 말을 해도 좋지만, 우리가 궁금해하는 주소를 URL로 통합해서 말해도 상관없습니다.

 

  • URI(Uniform Resource Identifiers)
    URI는 통합 자원 식별자(리소스를 식별하기 위해 문자열 전반 - 필요한 정보 전체를 지정)이며, 1990년부터 WWW의 범용 리소스 식별자로 정의되었습니다.
    RFC2396에서 각각의 단어가 다음과 같이 다음과 같이 정의되어 있습니다.
    URI는 스키마를 나타내는 리소스를 식별하기 위한 식별자입니다. 스키마는 리소스를 얻기 위한 수단에 이름을 붙이는 방법입니다.
    ex) 스키마: http:, file: 등 (콜론) 앞에 있는 모든것을 스키마라고 합니다.

    - Uniform
       : 통일(Uniformity)된 서식을 결정하는 것으로, 여러가지 종류의 리소스 지정 하는 방법.
    - Resource
       : 식별 가능한 모든 것으로, 파일 뿐만 아니라 이미지, 서비스등 구별할 수 있는 모든 것은 리소스.
    - Identifier
       : 식별 가능한 것을 참조하는 오브젝트이다.

  • URL(Uniform Resource Locator)
    URL은 리소스의 장소(네트워크 상의 위치)이며, URL은 URI의 서브셋입니다.
  • 절대 URI 포맷

[그림 2] 절대 URI 포맷

  1. ①, 스키마: http:와 httpsL 같은 스키마를 사용하며, 리소스를 얻기 위해 사용하는 프로토콜을 지시합니다.
                  대소문자는 무시되고 마지막에 콜론( : )과 //이 붙습니다.
  2. ②, 자격증명(크리덴셜): 서버로부터 리소스를 취득하려면 자격정보(크리덴셜)가 필요합니다. 
                                  유저명과 패스워드를 지정할 수 있으며, 자격증명은 옵션입니다.
  3. ③, 서버 주소: 주소는 DNS(www.moaju.co.kr)나 IPv4 주소(192.168.1.1), IPv6 주소[0:0:0:0:0:0:0:1]를 
                       지정할 수 있습니다.
  4. ④, 서버 포트: 서버의 접속 대상이 되는 네트워크 포트 번호를 지정합니다. 
                       포트는 옵션이며 생략하면 디폴트 포트(80)가 사용됩니다.
  5. ⑤, 계층적 파일 패스: 특정 리소스를 식별하기 위해서 서버 상의 파일 패스를 지정합니다.
                                (ex, /dir/user/signup.html)
  6. ⑥, 쿼리 문자열: 임의의 파라미터를 넘겨주기 위해 쿼리 문자열을 사용합니다.
                          쿼리 문자열은 옵션입니다.
  7. ⑦, 프래그멘트 식별자: 리소스에서 서브 리소스를 가리키기 위해서 프래그멘트 식별자가 사용됩니다.
                                  프래스멘트 식별자는 옵션입니다.
  • 자주 사용하는 URI
    위에 있는 내용(절대 URI 포맷)을 알고 있으면 좋겠지만 위에 내용이 너무 어렵다면 못해도 아래에 있는 포맷은 알고 있는것이 좋습니다. 의미를 알고 개발하는 것과 모르고 개발할 때에 차이는 크다고 생각합니다. 그리고 이해하고 있는것이 많으면 많을 수록 외워야 할께 줄어들어서 머리가 편해지겠죵??

[그림 3] 자주 사용하는 URI

 

 

 

 

 

참고 자료

IETF RFC2616 - Hypertext Transfer Protocol

[도서] HTTP 완벽가이드

[도서] 그림으로 배우는 HTTP & Network Basic