카테고리 없음

HTTP 2장

노엠디엔 2023. 7. 17. 02:39

파라미터

애플리케이션이 인터넷에 있는 리소스를 찾으려면, 리소스를 호스팅 하고 있는 장비와
그 장비 내에서 리소스에접근할 수 있는 서버가 어디에 있는지 알아야 한다.

URL의 호스트와 포트 컴포넌트는 그 두가지 정보를 제공해 준다.

 

경로는 서버가 리소스의 위치를 찾는 데 사용하는 정보이며 HTTP URL에서 경로는
컴포넌트는 '/' 문자를기준으로 경로조각으로 나뉜다.
각 경로 조각은 자체만의 파라미터 컴포넌트를 가질 수 있다.

 

많은 스킴이 (리소스에 접근하는 데 사용되는 프로토콜을 지정, 예시: HTTP URL의 스킴은 "http://")
객체에 대한 호스트 및 경로 정보만으로는 리소스를 찾지 못한다고 한다.

서버가 어떤 포트를 열어놓고 있는지, 리소스에 접근하기 위해
사용자 이름과 비밀번호를 명시했는지 여부 외에도 많은 프로토콜이 더 많은 정보를 요구한다.

URL을 사용하는 애플리케이션이 리소스에 접근하려면 프로토콜 파라미터가 필요하다.
프로토콜 파라미터가 없으면 서버는 그 용청을 잘못 처리하거나 처리를 하지 않을 것이기 때문이다.

URL의 파라미터 컴포넌트는, 애플리케이션이 서버에 정확한 요청을 하기 위해 필요한 입력 파라미터를 받는 데 사용한다.

이 컴포넌트는 이름/값 쌍의 리스트로 URL 나머지 부분들로부터 ':' 문자로 구분하여 URL에 기술한다.


ftp ://prep.ai.mitedu/pub/gnu:typed=d 

이름은 'type'이고 값은 'd'인 type=d라는 단 한 개의 파라미터를 전달한다.

 

http:/www.joes-hardware.com/hammers;sale=false/index.html;graphics=true

이 URL에는 hammers와 index.html이라는  두 개의 경로조각이 있다.

hammers 경로 조각은 값이 false인 sale이라는 파라미터를 가진다.

index.html 경로조각은 값이 true인 graphics란 파라미터를 가진다.

 

질의 문자열

데이터 베이스 같은 서비스들은 요청받을 리소스 형식의 범위를 좁히기 위해 질문이나 질의를 받을 수 있다.

http:/www.joes-hardware.com/inventory-check.cgi?item=12371
? 물음표 우츠에 있는 값들을 질의 컴포넌트라고 부른다.

질의 컴포넌트는 게이트웨이를 가리키는 URL의 경로 컴포넌트와 함께 전달하고 있다.

 

플래그 먼트

HTML 같은 리소스 형식들은 본래의 수준보다 더 작게 나뉠 수 있다고 한다.

텍스트 문서의 경우 그 리소스에 대한 URL은 텍스트 문서 전체를 가리키겠지만,
리소스 안에 있는 특정 절을 가리킬 수 있어야 한다.

리소스의 특정 부분을 가리킬 수 있도록, URL은 리소스 내의 조각을 가리킬 수 있는
프래그먼트 컴포넌트를 제공한다.

http://www.joes-hardware.com/tools.html#drills 

프래그 먼트는 URL의 오른쪽에 #문자에 이어서 온다.
drills라는 프래그먼트죠의 컴퓨터 가게 웹 서버에 위치한 

/toools.html 웹페이지의 일부를 가리키며 그 부분을 'drills'라고 기술하였다.

일반적으로 HTTP 서버는 객체 일부가 아닌 전체만 다루기 때문에
클라이언트는 서버에 프래그먼트를 전달하지 않는다.
브라우저가 서버로부터 전체 리소스를 내려받은 후
프래그먼트를 사용하여 사용자가 보고자 하는 리소스의 일부를 보여준다.

책 : HTTP 완벽 가이드