Post

URL과 리소스

2. URL과 리소스

URL은 인터넷 리소소를 가리키는 표준이름

2.1 인터넷의 리소스 탐색하기

  • URL의 첫 부분인 http는 URL의 스킴(웹 클라이언트가 리소스에 어떻게 접근하는지 알려줌) (ex. http, malito, ftp)
  • 두번째 부분은 서버의 위치
  • 세 번째 부분은 리소스의 경로

대부분의 URL은 “스킴://서버위치/경로”

2.1.1 URL이 있기 전 암흑의 시대

복잡했다

2.2 URL 문법

대부분의 URL 스킴의 문법

<스킴>://<사용자 이름="">:<비밀번호>@<호스트>:<포트>/<경로>;<파라미터>?<질의>#<프래그먼트> ### 2.2.1 스킴: 사용할 프로토콜 스킴은 주어진 리소스에 어떻게 접근하는지 알려주는 중요한 정보 대소문자 가리지 않음 ### 2.2.2 호스트와 포트 리소스를 호스팅하고 있는 장비와 그 장비 내에서 리소스에 접근할 수 있는 서버가 어디에 있는지 ### 2.2.3 사용자 이름과 비밀번호 사용자 이름:비밀번호로 구성 ### 2.2.4 경로 리소스가 서버의 어디에 있는지 알려줌 ### 2.2.5 파라미터 애플리케이션이 서버에 정확한 요청을 하기 위해 필요한 파라미터를 받는데 사용 이름/값 쌍의 리스트 (ex. ;type=d) ### 2.2.6 질의 문자열 ?의 우측 값 이름/값 쌍의 리스트(ex. ?item=12345&color=blue) ### 2.2.7 프래그먼트 리소스의 특정 부분을 가리킬 수 있도록 프래그먼트 제공 일반적으로 HTTP 서버는 객체 일부가 아닌 전체만 다루기 때문에, 클라이언트는 서버에 프래그먼트를 전달하지 않는다. 브라우저가 서버로부터 전체 리소스를 내려받은 후, 프래그먼트를 사용하여 보고자 하는 리소스의 일부를 보여준다. ## 2.3 단축 URL ### 2.3.1 상대 URL URL은 상대 URL과 절대 URL로 나뉨 절대 URL은 리소스에 접근하는데 필요한 모든 정보를 가지고 있다. 상대 URL은 모든 정보를 담고 있지는 않다. 기저(base)라고 하는다른 URL 사용 ("./hammers.html") ### 2.3.2 URL 확장 #### 호스트명 확장 "yahoo"를 입력하면 자동으로 "www.yahoo.com" 만든다 #### 히스토리 확장 사용자가 방문했던 URL의 기록을 저장해 놓는 것 ## 2.4 안전하지 않은 문자 안전한 전송이란, 정보가 유실될 위험 없이 URL을 전송할 수 있다는 것을 의미 출력이 되지 않거나 보이지 않는 문자를 URL에서 사용하는 것은 금지됨 그래서 안전하지 않은 문자를 이스케이프 기능을 통해 인코딩 ### 2.4.1 URL 문자 집합 US-ASCII 외의 문자와 이진 데이터를 지원하기 위해 이스케이프 문자열을 사용하도록 설계 ### 2.4.2 인코딩 체계 인코딩은 안전하지 않은 문자를 퍼센티지 기호(%)로 시작해, ASCII 코드로 포현되는 두 개의 16진수 숫자로 이루어진 '이스케이프' 문자로 바꾼다. ### 2.4.3 문자 제한 몇몇 문자는 URL내에서 특별한 의미로 예약되어 있어 제한된 ### 2.4.4. 좀 더 알아보기 어떤 애플리케이션에서 어떤 URL을 보내든지, 그 전에 클라이언트 애플리케이션에서 안전하지 않거나 제한된 문자를 변환하는 것이 좋다. ## 2.5 스킴의 바다 - http 일반 URL 포맷을 지키는 하이퍼텍스트 전송 프로토콜 스킴 포트값이 생략되어 있으면 기본 포트값은 80 - https http의 커넥션의 양 끝단에서 암호화하기 위해 넷스케이프에서 개발한 보안 소켓 계층(Secure Sockets Layer, SSL)을 사용 문법은 HTTP와 같고, 기본 포트값은 443 - malito 이메일 주소 ex. malito:lights8615@naver.com - ftp 파일 전송 프로토콜(File Transfer Protocol) FTP 서버에 있는 파일을 내려 받거나 올림 ex. ftp://anonymous:joe%40joes-hardware.com@naver.com:21/test - rtsp, rtspu 실시간 스트리밍 프로토콜(Real Time Streaming Protocol)을 통해서 읽을 수 있는 오디오 및 비디오와 같은 미디어 리소스 식별자 rtspu의 u는 UDP 사용을 의미 ex. rtsp://www.joes-hardware.com:554/test/video - file 주어진 호스트 기기에서 바로 접근할 수 있는 파일들 ex. file://test/aa/test.doc - news 특정 문서나 뉴스 그룹에 접근하는데 사용 ?? - telnet 대화형 서비스에 접근하는데 사용 ex. telnet://minho:password@naver.com:23/ # ## 2.6 미래 URL이 완벽한 것은 아님 리소스가 옮겨지년 URL을 더는 사용 불가 이런 문제 예방책 -> 객체의 위치와 상관없이, 그 객체를 가리키는 실제 객체의 이름 사용 -> URN ### 2.6.1 지금이 아니면 연제? URL에서 URN으로 바꾸는 것은 매우 큰 작업 대체할 수 있는 것이 나오기 전까지 지속됨 ## 참조 1. HTTP 완벽 가이드
This post is licensed under CC BY 4.0 by the author.