SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
HTTP 완벽 가이드
2장. URL과 리소스
yarn.choong
표준화된 리소스들
• Phone number : 011-1111-1111
• Address : 서울시 관악구 서원동 xxxx번지
• Book : ISBN 81-7525-766-0
• Bank account : 110-2345-0933
•URL : ????
URL
• Uniform Resource Locatot
• Browser(chrome, IE, firefox..)가 정보를 찾는데 필요한 리소스
위치를 가르킴..
• HTTP 이외에 프로토콜을 통해서도 접근가능.
• URI(Uniform Resource Identifier) = URL
– HTTP 명세에서는 URI를 더 일반화된 개념의 리소스의 식별자로 이용한다.
URL
http://www.joes-hardware.com/seasonal/index-fall.html
path(what)host(where)Scheme(how)
URL 문법
<scheme>://<user-
name>:<passowrd>@<host>:<port>/<path>;<params >?<query>#<fragment>
• URL은 일반적으로 9개 부분으로 나누어진다.
• 하지만 이 모든 컴포넌트를 가지는 URL은 없다.
• 가장 중요한 부분은 scheme, host, path
Scheme(protocol)
• Scheme는 주어진 리소스에 어떻게 접근하는 알려주는 정보.
• 알파벳으로 시작
• URL의 나머지 부분들과 ‘:’ 문자로 구분한다.
• 대소문자 구분하지 않는다.
• http, mailto, ftp, rtsp 등..
Host, port
• Host는 접근 하려고 하는 리소스를 가지고 있는 인터넷상의 호스트 장비
• Host는 host명(www.example.com)이나 ip 주소로 제공한다.
• Port는 서버가 열어 놓은 network port
• http default port: 80
User name, password
ftp://ftp.prep.ai.mit.edu/pub/gnu
ftp://anonymou@ftp.prep.ai.mit.edu/pub/gnu
ftp://anonymou:mypasswd@ftp.prep.ai.mit.edu/pub/gnu
• User name, password를 넣지 않을 경우 기본 user name,
password가 들어간다(user name, password를 원하는 경우)
• FTP인 경우 기본 user name은 anonymous가 들어가고 비밀번호는
브라우저 마다 가지고 있는 기본값을 사용한다.
path
http://www.joes-hardware.com/seasonal/index-fall.html
• 리소스가 서버의 어디에 있는지 알려준다.
• 계층적 파일 시스템 경로와 유사한 구조.
• / 문자를 기준으로 나누어진다. (경로 조각?)
• 각 경로 조각은 자체 param을 가질 수 있다.
params
ftp://prep.ai.mit.edu/pub/gnu;type=d
• Host 및 path만으로는 리소스를 찾지 못 할 수 있다.
• Application에서 정확한 요청을 하기 위해 필요한 입력 param을
받는데 사용한다.
• 이름 / 값 처럼 쌍을 이룬다.
• ; 구분하여 URL에 기술한다.
query
http://www.joes-hardware.com/seasonal?item=1&color=red
• 요청 받을 리소스 형식의 범위를 좁히기 위해서 query param을 받을
수 있다.
• ? 시작, &로 구분한다.
• 이름=값 쌍으로 이루어진다.
fragment
http://www.joes-hardware.com/seasonal/index-
fall.html#drills
• Html 같은 리소스 형식들은 본래의 수준보다 더 작게 나뉠수 있다.
(아마도 html을 가져온 후 문단으로 나누어서 특정 문단(절)으로 이동가능
하다 것 인 듯)
• 용량이 큰 텍스트의 문서의 경우 URL은 문서 전체를 가르키지만, 이상
적으로 특전 문단(?)을 가르킬 수 있다.
• # 뒤에 fragment id가 들어온다.
상대 URL
http://www.joes-hardware.com/seasonal/index-fall.html
• URL은 상대 URL, 절대 URL로 나누어진다.
• 절대 URL은 모든정보를 가지고 있다.
• 상대 URL은 모든 정보를 가지고 있지 않다. 필요한 정보를 얻기 위해서
는 기저?(base)URL을 사용 해야한다.
상대URL절대URL
상대URL이 절대 URL 만들기
<html>
<body>
<a href=‘/hammer.html’>hammers</a>
중략..
기저URL : scheme(http), host(www.joes-hardware.com) 추측가능.
http://www.joes-hardware.com/tool.html
상대 URL :
/hammers.html
http://www.joes-hardware.com/hammers.html
새로운 절대URL
기저(base) URL
• 리소스에서 명시적으로 제공
– Html에서는 <base>라는 태그로 기술 가능.
<base href="http://www.w3schools.com/images/" target="_blank">
• 리소스를 포함하고 있는 기저 URL
– 리소스의 URL을 기저 URL로 사용가능.(이전 예제)
• 기저 URL이 없는 경우
– 불완전 하거나 깨진 URL일 수 도 있다.
• 상대 참조 해석하기
– rfc1808 , rfc 2396 참조... (잘 이해가 안되는 부분..)
URL 문자 집합
• 컴퓨터 시스템의 기본 문자 집합은 영어중심.
• US-ASCII 문자 집합을 사용.
• 유럽언어나 기타 다른 언어들은 US-ASCII는 지원하지 않는다.
• URL은 특정 이진 데이터를 포함 해야 하기 때문에 이스케이프 문자열
을 쓸 수 있게 설계.
• 이스케이프 문자열은 US-ASCII에서 금지된 문자들로 , 특정 문자나 데이
터를 인코딩 할 수 있게 함으로 써 이동성과 완성도를 높였다.
인코딩 체계
• 안전한 문자 집합의 한계를 넘어서기 위해서 인코딩 방식을 고안.
• 안전하지 않은 문자를 %로 시작해 ASCII 코드로 표현 되는 2개의 16진
수로 이루어진 이스케이프 문자로 바꾼다.
문자 AsCII 코드 URL의 예
~ 126(ox7E) http://www.exam.com/%7Ejoe
빈 문자 32(0x20) http://www.exam.com/m%20g
% 37(0x25) http://www.exam.com/100%25d
문자제한
• 몇몇 문자는 특별한 의미로 예약
• US_ASCII 출력 가능한 문자 집합에 포함되지 않은 문자.
• 인터넷 게이트와 프로토콜에서 혼동되는 문자.
• 예약된 문자를 사용 할려면 인코딩 하여 사용.
• %, /, ., .., #, ?, ; , : $,+ 등..
미래
• URL은 주소 이지 실제 이름이 아니다.
– URL이 특정 시점에 어떤 것이 위치한 곳을 알려준다.
• 리소스가 옮겨지면 URL은 더는 사용할 수 없다는 단점이 있다.
• 이러한 단점을 해결 하기 위해서는 객체의 위치와 상관없이 실제 객
체이름만으로 리소스를 찾는 것.
• IEFT는 URN(Uniform Resource Names)이라는 새로운 표준작업
에 착수.
– URN은 객체가 옮겨지더라도 항상 객체를 가리킬 수 있는 이름을 제공.
• 지속통합 자원 지시자로(PURL)을 사용하면 URL로 URN 기능을 제공.
PURL(Persistent uniform resource locators)
purl.oclc.org
www.joes-hardware.com
1. http://purl.olcl.org/ihardware
2. http://www.joes-hardware.com
1. 죠의 컴퓨터 가게 URL이 무엇인 리소스 리졸버에게 묻는다, 리졸버로부터 리소스의 현재
위치를 받는다.
2. 실제 URL로 리소스를 가젼온다

Weitere ähnliche Inhalte

Was ist angesagt?

Chap8 - HTTP 완벽가이드 8장
Chap8 - HTTP 완벽가이드 8장Chap8 - HTTP 완벽가이드 8장
Chap8 - HTTP 완벽가이드 8장LJH11
 
Web App Security 2015.10
Web App Security 2015.10Web App Security 2015.10
Web App Security 2015.10Chanjin Park
 
DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요
DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요
DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요dgmit2009
 
HTTP 완벽가이드- 19장 배포시스템
HTTP 완벽가이드- 19장 배포시스템HTTP 완벽가이드- 19장 배포시스템
HTTP 완벽가이드- 19장 배포시스템박 민규
 
서버성능개선 류우림
서버성능개선 류우림서버성능개선 류우림
서버성능개선 류우림우림 류
 
Express framework tutorial
Express framework tutorialExpress framework tutorial
Express framework tutorial우림 류
 
REST API 디자인 개요
REST API 디자인 개요REST API 디자인 개요
REST API 디자인 개요nexusz99
 
SPDY : 더 빠른 웹을 위한 프로토콜
SPDY : 더 빠른 웹을 위한 프로토콜SPDY : 더 빠른 웹을 위한 프로토콜
SPDY : 더 빠른 웹을 위한 프로토콜Yunsang Choi
 
HTTP 완벽가이드 4장 커넥션관리
HTTP 완벽가이드 4장 커넥션관리HTTP 완벽가이드 4장 커넥션관리
HTTP 완벽가이드 4장 커넥션관리박 민규
 
Google Protocol buffer
Google Protocol bufferGoogle Protocol buffer
Google Protocol bufferknight1128
 
제 4회 DGMIT R&D 컨퍼런스 : REST API - 리소스 지향적 아키텍처
제 4회 DGMIT R&D 컨퍼런스 : REST API - 리소스 지향적 아키텍처제 4회 DGMIT R&D 컨퍼런스 : REST API - 리소스 지향적 아키텍처
제 4회 DGMIT R&D 컨퍼런스 : REST API - 리소스 지향적 아키텍처dgmit2009
 
HTTP 완벽가이드 7장 캐시
HTTP 완벽가이드 7장 캐시HTTP 완벽가이드 7장 캐시
HTTP 완벽가이드 7장 캐시박 민규
 
웹을 지탱하는 기술
웹을 지탱하는 기술웹을 지탱하는 기술
웹을 지탱하는 기술JungHyuk Kwon
 
Node.js DBMS short summary
Node.js DBMS short summaryNode.js DBMS short summary
Node.js DBMS short summaryHoChul Shin
 
RESTful API 설계
RESTful API 설계RESTful API 설계
RESTful API 설계Jinho Yoo
 
IT 일반기술 강의자료_ed10
IT 일반기술 강의자료_ed10IT 일반기술 강의자료_ed10
IT 일반기술 강의자료_ed10hungrok
 
Ksug 세미나 (윤성준) (20121208)
Ksug 세미나 (윤성준) (20121208)Ksug 세미나 (윤성준) (20121208)
Ksug 세미나 (윤성준) (20121208)Sungjoon Yoon
 

Was ist angesagt? (20)

Chap8 - HTTP 완벽가이드 8장
Chap8 - HTTP 완벽가이드 8장Chap8 - HTTP 완벽가이드 8장
Chap8 - HTTP 완벽가이드 8장
 
Web App Security 2015.10
Web App Security 2015.10Web App Security 2015.10
Web App Security 2015.10
 
HTTPS
HTTPSHTTPS
HTTPS
 
DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요
DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요
DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요
 
HTTP 완벽가이드- 19장 배포시스템
HTTP 완벽가이드- 19장 배포시스템HTTP 완벽가이드- 19장 배포시스템
HTTP 완벽가이드- 19장 배포시스템
 
서버성능개선 류우림
서버성능개선 류우림서버성능개선 류우림
서버성능개선 류우림
 
Restful API guide
Restful API guideRestful API guide
Restful API guide
 
Web server
Web serverWeb server
Web server
 
Express framework tutorial
Express framework tutorialExpress framework tutorial
Express framework tutorial
 
REST API 디자인 개요
REST API 디자인 개요REST API 디자인 개요
REST API 디자인 개요
 
SPDY : 더 빠른 웹을 위한 프로토콜
SPDY : 더 빠른 웹을 위한 프로토콜SPDY : 더 빠른 웹을 위한 프로토콜
SPDY : 더 빠른 웹을 위한 프로토콜
 
HTTP 완벽가이드 4장 커넥션관리
HTTP 완벽가이드 4장 커넥션관리HTTP 완벽가이드 4장 커넥션관리
HTTP 완벽가이드 4장 커넥션관리
 
Google Protocol buffer
Google Protocol bufferGoogle Protocol buffer
Google Protocol buffer
 
제 4회 DGMIT R&D 컨퍼런스 : REST API - 리소스 지향적 아키텍처
제 4회 DGMIT R&D 컨퍼런스 : REST API - 리소스 지향적 아키텍처제 4회 DGMIT R&D 컨퍼런스 : REST API - 리소스 지향적 아키텍처
제 4회 DGMIT R&D 컨퍼런스 : REST API - 리소스 지향적 아키텍처
 
HTTP 완벽가이드 7장 캐시
HTTP 완벽가이드 7장 캐시HTTP 완벽가이드 7장 캐시
HTTP 완벽가이드 7장 캐시
 
웹을 지탱하는 기술
웹을 지탱하는 기술웹을 지탱하는 기술
웹을 지탱하는 기술
 
Node.js DBMS short summary
Node.js DBMS short summaryNode.js DBMS short summary
Node.js DBMS short summary
 
RESTful API 설계
RESTful API 설계RESTful API 설계
RESTful API 설계
 
IT 일반기술 강의자료_ed10
IT 일반기술 강의자료_ed10IT 일반기술 강의자료_ed10
IT 일반기술 강의자료_ed10
 
Ksug 세미나 (윤성준) (20121208)
Ksug 세미나 (윤성준) (20121208)Ksug 세미나 (윤성준) (20121208)
Ksug 세미나 (윤성준) (20121208)
 

Andere mochten auch

HTTP 완벽가이드 1장.
HTTP 완벽가이드 1장.HTTP 완벽가이드 1장.
HTTP 완벽가이드 1장.HyeonSeok Choi
 
자료구조 – 트리 (Tree)
자료구조 – 트리 (Tree)자료구조 – 트리 (Tree)
자료구조 – 트리 (Tree)Choonghyun Yang
 
자바병렬프로그래밍 9.gui 애플리케이션
자바병렬프로그래밍 9.gui 애플리케이션자바병렬프로그래밍 9.gui 애플리케이션
자바병렬프로그래밍 9.gui 애플리케이션Choonghyun Yang
 
그림으로 공부하는 오라클 구조
그림으로 공부하는 오라클 구조그림으로 공부하는 오라클 구조
그림으로 공부하는 오라클 구조Choonghyun Yang
 
Spring boot 5장 cli
Spring boot 5장 cliSpring boot 5장 cli
Spring boot 5장 cliChoonghyun Yang
 
Spring boot 공작소(1-4장)
Spring boot 공작소(1-4장)Spring boot 공작소(1-4장)
Spring boot 공작소(1-4장)Choonghyun Yang
 
다중성 확보, 시스템 안정화
다중성 확보, 시스템 안정화다중성 확보, 시스템 안정화
다중성 확보, 시스템 안정화Choonghyun Yang
 
알고리즘과 자료구조
알고리즘과 자료구조알고리즘과 자료구조
알고리즘과 자료구조영기 김
 
더 빠른 웹을 위해: HTTP/2
더 빠른 웹을 위해: HTTP/2더 빠른 웹을 위해: HTTP/2
더 빠른 웹을 위해: HTTP/2EungJun Yi
 
Android Push Server & MQTT
Android Push Server & MQTTAndroid Push Server & MQTT
Android Push Server & MQTT광운 이
 
데이터 모델링
데이터 모델링데이터 모델링
데이터 모델링Choonghyun Yang
 

Andere mochten auch (20)

HTTP 완벽가이드 1장.
HTTP 완벽가이드 1장.HTTP 완벽가이드 1장.
HTTP 완벽가이드 1장.
 
자료구조 – 트리 (Tree)
자료구조 – 트리 (Tree)자료구조 – 트리 (Tree)
자료구조 – 트리 (Tree)
 
자료구조 큐
자료구조 큐자료구조 큐
자료구조 큐
 
Hadoop io part2
Hadoop io part2Hadoop io part2
Hadoop io part2
 
Atom
AtomAtom
Atom
 
Express 프레임워크
Express 프레임워크Express 프레임워크
Express 프레임워크
 
자바병렬프로그래밍 9.gui 애플리케이션
자바병렬프로그래밍 9.gui 애플리케이션자바병렬프로그래밍 9.gui 애플리케이션
자바병렬프로그래밍 9.gui 애플리케이션
 
Bootstrap
BootstrapBootstrap
Bootstrap
 
연결 자료구조
연결 자료구조연결 자료구조
연결 자료구조
 
그림으로 공부하는 오라클 구조
그림으로 공부하는 오라클 구조그림으로 공부하는 오라클 구조
그림으로 공부하는 오라클 구조
 
하둡관리
하둡관리하둡관리
하둡관리
 
Spring boot 5장 cli
Spring boot 5장 cliSpring boot 5장 cli
Spring boot 5장 cli
 
게이트단의 보안
게이트단의 보안게이트단의 보안
게이트단의 보안
 
Spring boot 공작소(1-4장)
Spring boot 공작소(1-4장)Spring boot 공작소(1-4장)
Spring boot 공작소(1-4장)
 
Spring boot actuator
Spring boot   actuatorSpring boot   actuator
Spring boot actuator
 
다중성 확보, 시스템 안정화
다중성 확보, 시스템 안정화다중성 확보, 시스템 안정화
다중성 확보, 시스템 안정화
 
알고리즘과 자료구조
알고리즘과 자료구조알고리즘과 자료구조
알고리즘과 자료구조
 
더 빠른 웹을 위해: HTTP/2
더 빠른 웹을 위해: HTTP/2더 빠른 웹을 위해: HTTP/2
더 빠른 웹을 위해: HTTP/2
 
Android Push Server & MQTT
Android Push Server & MQTTAndroid Push Server & MQTT
Android Push Server & MQTT
 
데이터 모델링
데이터 모델링데이터 모델링
데이터 모델링
 

Ähnlich wie Http 완벽 가이드(2장 url과 리소스)

Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문SeungHyun Eom
 
Network path reference
Network path referenceNetwork path reference
Network path referenceSol Kim
 
http 완벽가이드 Chap2
http 완벽가이드 Chap2http 완벽가이드 Chap2
http 완벽가이드 Chap2LJH11
 
HTML Form과 배열
HTML Form과 배열HTML Form과 배열
HTML Form과 배열Yoonwhan Lee
 
Web http spec(basic)
Web http spec(basic)Web http spec(basic)
Web http spec(basic)Julia Park
 
자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)
자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)
자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)DK Lee
 
Restful web service
Restful web serviceRestful web service
Restful web servicesunguen lee
 
WoO 2012-Web 서비스 기술
WoO 2012-Web 서비스 기술WoO 2012-Web 서비스 기술
WoO 2012-Web 서비스 기술Changhwan Yi
 
HTML5 & CSS 살펴보기
HTML5 & CSS  살펴보기HTML5 & CSS  살펴보기
HTML5 & CSS 살펴보기Suan Lee
 
REST API 설계
REST API 설계REST API 설계
REST API 설계Terry Cho
 
Daejeon IT Developer Conference Hibernate3
Daejeon IT Developer Conference Hibernate3Daejeon IT Developer Conference Hibernate3
Daejeon IT Developer Conference Hibernate3plusperson
 
ASP.NET MVC Framework 개발자를 위한 Razor Syntax.pdf
ASP.NET MVC Framework 개발자를 위한 Razor Syntax.pdfASP.NET MVC Framework 개발자를 위한 Razor Syntax.pdf
ASP.NET MVC Framework 개발자를 위한 Razor Syntax.pdfSangHoon Han
 
Programming skills 1부
Programming skills 1부Programming skills 1부
Programming skills 1부JiHyung Lee
 
RDF와 Graph의 이해 및 오라클 Spartial&Graph 소개
RDF와 Graph의 이해 및 오라클 Spartial&Graph 소개RDF와 Graph의 이해 및 오라클 Spartial&Graph 소개
RDF와 Graph의 이해 및 오라클 Spartial&Graph 소개철민 권
 
Linked Open Data Tutorial
Linked Open Data TutorialLinked Open Data Tutorial
Linked Open Data TutorialMyungjin Lee
 

Ähnlich wie Http 완벽 가이드(2장 url과 리소스) (20)

Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문
 
Network path reference
Network path referenceNetwork path reference
Network path reference
 
http 완벽가이드 Chap2
http 완벽가이드 Chap2http 완벽가이드 Chap2
http 완벽가이드 Chap2
 
Asp.net Razor
Asp.net Razor Asp.net Razor
Asp.net Razor
 
HTML Form과 배열
HTML Form과 배열HTML Form과 배열
HTML Form과 배열
 
Web http spec
Web http specWeb http spec
Web http spec
 
Web http spec(basic)
Web http spec(basic)Web http spec(basic)
Web http spec(basic)
 
Web http spec
Web http specWeb http spec
Web http spec
 
자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)
자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)
자바 웹 개발 시작하기 (3주차 : 스프링 웹 개발)
 
Restful web service
Restful web serviceRestful web service
Restful web service
 
WoO 2012-Web 서비스 기술
WoO 2012-Web 서비스 기술WoO 2012-Web 서비스 기술
WoO 2012-Web 서비스 기술
 
Web html spec
Web html specWeb html spec
Web html spec
 
HTML5 & CSS 살펴보기
HTML5 & CSS  살펴보기HTML5 & CSS  살펴보기
HTML5 & CSS 살펴보기
 
REST API 설계
REST API 설계REST API 설계
REST API 설계
 
Daejeon IT Developer Conference Hibernate3
Daejeon IT Developer Conference Hibernate3Daejeon IT Developer Conference Hibernate3
Daejeon IT Developer Conference Hibernate3
 
ASP.NET MVC Framework 개발자를 위한 Razor Syntax.pdf
ASP.NET MVC Framework 개발자를 위한 Razor Syntax.pdfASP.NET MVC Framework 개발자를 위한 Razor Syntax.pdf
ASP.NET MVC Framework 개발자를 위한 Razor Syntax.pdf
 
업무 자동화
업무 자동화업무 자동화
업무 자동화
 
Programming skills 1부
Programming skills 1부Programming skills 1부
Programming skills 1부
 
RDF와 Graph의 이해 및 오라클 Spartial&Graph 소개
RDF와 Graph의 이해 및 오라클 Spartial&Graph 소개RDF와 Graph의 이해 및 오라클 Spartial&Graph 소개
RDF와 Graph의 이해 및 오라클 Spartial&Graph 소개
 
Linked Open Data Tutorial
Linked Open Data TutorialLinked Open Data Tutorial
Linked Open Data Tutorial
 

Mehr von Choonghyun Yang

Maven build for 멀티프로젝트 in jenkins
Maven build for 멀티프로젝트 in jenkins Maven build for 멀티프로젝트 in jenkins
Maven build for 멀티프로젝트 in jenkins Choonghyun Yang
 
아꿈사.C++ api 디자인.20140315 a
아꿈사.C++ api 디자인.20140315 a아꿈사.C++ api 디자인.20140315 a
아꿈사.C++ api 디자인.20140315 aChoonghyun Yang
 
대규모 데이터 처리 입문
대규모 데이터 처리 입문대규모 데이터 처리 입문
대규모 데이터 처리 입문Choonghyun Yang
 
네트워크 부트의 활용, 원격관리
네트워크 부트의 활용, 원격관리네트워크 부트의 활용, 원격관리
네트워크 부트의 활용, 원격관리Choonghyun Yang
 
NoSQL distilled.그래프 데이터베이스
NoSQL distilled.그래프 데이터베이스NoSQL distilled.그래프 데이터베이스
NoSQL distilled.그래프 데이터베이스Choonghyun Yang
 
서버 인프라를지탱하는기술(1.3,1.4)
서버 인프라를지탱하는기술(1.3,1.4)서버 인프라를지탱하는기술(1.3,1.4)
서버 인프라를지탱하는기술(1.3,1.4)Choonghyun Yang
 
NoSQL distilled 왜 NoSQL인가
NoSQL distilled 왜 NoSQL인가NoSQL distilled 왜 NoSQL인가
NoSQL distilled 왜 NoSQL인가Choonghyun Yang
 
CODE - 주판에서 반도체까지
CODE - 주판에서 반도체까지CODE - 주판에서 반도체까지
CODE - 주판에서 반도체까지Choonghyun Yang
 
프로그래머로 사는 법 Chapter.19 지금 알고 있는걸 그때도 알았더라면
프로그래머로 사는 법   Chapter.19  지금 알고 있는걸 그때도 알았더라면프로그래머로 사는 법   Chapter.19  지금 알고 있는걸 그때도 알았더라면
프로그래머로 사는 법 Chapter.19 지금 알고 있는걸 그때도 알았더라면Choonghyun Yang
 

Mehr von Choonghyun Yang (12)

Git
GitGit
Git
 
Maven build for 멀티프로젝트 in jenkins
Maven build for 멀티프로젝트 in jenkins Maven build for 멀티프로젝트 in jenkins
Maven build for 멀티프로젝트 in jenkins
 
아꿈사.C++ api 디자인.20140315 a
아꿈사.C++ api 디자인.20140315 a아꿈사.C++ api 디자인.20140315 a
아꿈사.C++ api 디자인.20140315 a
 
대규모 데이터 처리 입문
대규모 데이터 처리 입문대규모 데이터 처리 입문
대규모 데이터 처리 입문
 
네트워크 부트의 활용, 원격관리
네트워크 부트의 활용, 원격관리네트워크 부트의 활용, 원격관리
네트워크 부트의 활용, 원격관리
 
NoSQL distilled.그래프 데이터베이스
NoSQL distilled.그래프 데이터베이스NoSQL distilled.그래프 데이터베이스
NoSQL distilled.그래프 데이터베이스
 
서버 인프라를지탱하는기술(1.3,1.4)
서버 인프라를지탱하는기술(1.3,1.4)서버 인프라를지탱하는기술(1.3,1.4)
서버 인프라를지탱하는기술(1.3,1.4)
 
NoSQL distilled 왜 NoSQL인가
NoSQL distilled 왜 NoSQL인가NoSQL distilled 왜 NoSQL인가
NoSQL distilled 왜 NoSQL인가
 
No sql 분산모델
No sql 분산모델No sql 분산모델
No sql 분산모델
 
CODE - 주판에서 반도체까지
CODE - 주판에서 반도체까지CODE - 주판에서 반도체까지
CODE - 주판에서 반도체까지
 
십진수 이외의 것
십진수 이외의 것십진수 이외의 것
십진수 이외의 것
 
프로그래머로 사는 법 Chapter.19 지금 알고 있는걸 그때도 알았더라면
프로그래머로 사는 법   Chapter.19  지금 알고 있는걸 그때도 알았더라면프로그래머로 사는 법   Chapter.19  지금 알고 있는걸 그때도 알았더라면
프로그래머로 사는 법 Chapter.19 지금 알고 있는걸 그때도 알았더라면
 

Http 완벽 가이드(2장 url과 리소스)

  • 1. HTTP 완벽 가이드 2장. URL과 리소스 yarn.choong
  • 2. 표준화된 리소스들 • Phone number : 011-1111-1111 • Address : 서울시 관악구 서원동 xxxx번지 • Book : ISBN 81-7525-766-0 • Bank account : 110-2345-0933 •URL : ????
  • 3. URL • Uniform Resource Locatot • Browser(chrome, IE, firefox..)가 정보를 찾는데 필요한 리소스 위치를 가르킴.. • HTTP 이외에 프로토콜을 통해서도 접근가능. • URI(Uniform Resource Identifier) = URL – HTTP 명세에서는 URI를 더 일반화된 개념의 리소스의 식별자로 이용한다.
  • 5. URL 문법 <scheme>://<user- name>:<passowrd>@<host>:<port>/<path>;<params >?<query>#<fragment> • URL은 일반적으로 9개 부분으로 나누어진다. • 하지만 이 모든 컴포넌트를 가지는 URL은 없다. • 가장 중요한 부분은 scheme, host, path
  • 6. Scheme(protocol) • Scheme는 주어진 리소스에 어떻게 접근하는 알려주는 정보. • 알파벳으로 시작 • URL의 나머지 부분들과 ‘:’ 문자로 구분한다. • 대소문자 구분하지 않는다. • http, mailto, ftp, rtsp 등..
  • 7. Host, port • Host는 접근 하려고 하는 리소스를 가지고 있는 인터넷상의 호스트 장비 • Host는 host명(www.example.com)이나 ip 주소로 제공한다. • Port는 서버가 열어 놓은 network port • http default port: 80
  • 8. User name, password ftp://ftp.prep.ai.mit.edu/pub/gnu ftp://anonymou@ftp.prep.ai.mit.edu/pub/gnu ftp://anonymou:mypasswd@ftp.prep.ai.mit.edu/pub/gnu • User name, password를 넣지 않을 경우 기본 user name, password가 들어간다(user name, password를 원하는 경우) • FTP인 경우 기본 user name은 anonymous가 들어가고 비밀번호는 브라우저 마다 가지고 있는 기본값을 사용한다.
  • 9. path http://www.joes-hardware.com/seasonal/index-fall.html • 리소스가 서버의 어디에 있는지 알려준다. • 계층적 파일 시스템 경로와 유사한 구조. • / 문자를 기준으로 나누어진다. (경로 조각?) • 각 경로 조각은 자체 param을 가질 수 있다.
  • 10. params ftp://prep.ai.mit.edu/pub/gnu;type=d • Host 및 path만으로는 리소스를 찾지 못 할 수 있다. • Application에서 정확한 요청을 하기 위해 필요한 입력 param을 받는데 사용한다. • 이름 / 값 처럼 쌍을 이룬다. • ; 구분하여 URL에 기술한다.
  • 11. query http://www.joes-hardware.com/seasonal?item=1&color=red • 요청 받을 리소스 형식의 범위를 좁히기 위해서 query param을 받을 수 있다. • ? 시작, &로 구분한다. • 이름=값 쌍으로 이루어진다.
  • 12. fragment http://www.joes-hardware.com/seasonal/index- fall.html#drills • Html 같은 리소스 형식들은 본래의 수준보다 더 작게 나뉠수 있다. (아마도 html을 가져온 후 문단으로 나누어서 특정 문단(절)으로 이동가능 하다 것 인 듯) • 용량이 큰 텍스트의 문서의 경우 URL은 문서 전체를 가르키지만, 이상 적으로 특전 문단(?)을 가르킬 수 있다. • # 뒤에 fragment id가 들어온다.
  • 13. 상대 URL http://www.joes-hardware.com/seasonal/index-fall.html • URL은 상대 URL, 절대 URL로 나누어진다. • 절대 URL은 모든정보를 가지고 있다. • 상대 URL은 모든 정보를 가지고 있지 않다. 필요한 정보를 얻기 위해서 는 기저?(base)URL을 사용 해야한다. 상대URL절대URL
  • 14. 상대URL이 절대 URL 만들기 <html> <body> <a href=‘/hammer.html’>hammers</a> 중략.. 기저URL : scheme(http), host(www.joes-hardware.com) 추측가능. http://www.joes-hardware.com/tool.html 상대 URL : /hammers.html http://www.joes-hardware.com/hammers.html 새로운 절대URL
  • 15. 기저(base) URL • 리소스에서 명시적으로 제공 – Html에서는 <base>라는 태그로 기술 가능. <base href="http://www.w3schools.com/images/" target="_blank"> • 리소스를 포함하고 있는 기저 URL – 리소스의 URL을 기저 URL로 사용가능.(이전 예제) • 기저 URL이 없는 경우 – 불완전 하거나 깨진 URL일 수 도 있다. • 상대 참조 해석하기 – rfc1808 , rfc 2396 참조... (잘 이해가 안되는 부분..)
  • 16. URL 문자 집합 • 컴퓨터 시스템의 기본 문자 집합은 영어중심. • US-ASCII 문자 집합을 사용. • 유럽언어나 기타 다른 언어들은 US-ASCII는 지원하지 않는다. • URL은 특정 이진 데이터를 포함 해야 하기 때문에 이스케이프 문자열 을 쓸 수 있게 설계. • 이스케이프 문자열은 US-ASCII에서 금지된 문자들로 , 특정 문자나 데이 터를 인코딩 할 수 있게 함으로 써 이동성과 완성도를 높였다.
  • 17. 인코딩 체계 • 안전한 문자 집합의 한계를 넘어서기 위해서 인코딩 방식을 고안. • 안전하지 않은 문자를 %로 시작해 ASCII 코드로 표현 되는 2개의 16진 수로 이루어진 이스케이프 문자로 바꾼다. 문자 AsCII 코드 URL의 예 ~ 126(ox7E) http://www.exam.com/%7Ejoe 빈 문자 32(0x20) http://www.exam.com/m%20g % 37(0x25) http://www.exam.com/100%25d
  • 18. 문자제한 • 몇몇 문자는 특별한 의미로 예약 • US_ASCII 출력 가능한 문자 집합에 포함되지 않은 문자. • 인터넷 게이트와 프로토콜에서 혼동되는 문자. • 예약된 문자를 사용 할려면 인코딩 하여 사용. • %, /, ., .., #, ?, ; , : $,+ 등..
  • 19. 미래 • URL은 주소 이지 실제 이름이 아니다. – URL이 특정 시점에 어떤 것이 위치한 곳을 알려준다. • 리소스가 옮겨지면 URL은 더는 사용할 수 없다는 단점이 있다. • 이러한 단점을 해결 하기 위해서는 객체의 위치와 상관없이 실제 객 체이름만으로 리소스를 찾는 것. • IEFT는 URN(Uniform Resource Names)이라는 새로운 표준작업 에 착수. – URN은 객체가 옮겨지더라도 항상 객체를 가리킬 수 있는 이름을 제공. • 지속통합 자원 지시자로(PURL)을 사용하면 URL로 URN 기능을 제공.
  • 20. PURL(Persistent uniform resource locators) purl.oclc.org www.joes-hardware.com 1. http://purl.olcl.org/ihardware 2. http://www.joes-hardware.com 1. 죠의 컴퓨터 가게 URL이 무엇인 리소스 리졸버에게 묻는다, 리졸버로부터 리소스의 현재 위치를 받는다. 2. 실제 URL로 리소스를 가젼온다