SlideShare a Scribd company logo
1 of 15
Download to read offline
Web의 기본
웹다운 설계를 하기 위해 필요한 것은?
이것을 위해서는 웹 아키텍쳐를 이해하고 의식하는 것이 중요!
1. 다른 시스템과 간단히 연계할 수 있는 것
2. 장래에 확장하기 쉽게 설계된 것
앞으로 공부할 2가지 쟁점
HTTP 통신을 이해해야 웹 서비스 동작 원리를 알 수 있다.
고로, HTTP 통신을 이해하고 웹 아키텍처를 의식하며
확장성과 안정성이 있는 웹을 설계하는 것!
1. HTTP, URI, 하이퍼미디어 포맷의 스팩들
2. 구체적인 웹 서비스 설계 방법
저자 : 야마모토 요헤이
감수자 : 권정혁
역자 : 김성훈
출판사 : 멘토르
1부. 웹개론
Chapter 01. 웹이란 무엇인가?
Chapter 02. 웹의 역사
Chapter 03. REST-웹 아키텍처 스타일
2부. URI
Chapter 04. URI의 스펙
Chapter 05. URI의 설계
3부. HTTP
Chapter 06. HTTP의 기본
Chapter 07. HTTP 메서드
Chapter 08. 스테이터스 코드
Chapter 09. HTTP 헤더
4부. 하이퍼미디어 포맷
Chapter 10. HTML
Chapter 11. microforms
Chapter 12. Atom
Chapter 13. Atom Publishing Protocol
Chapter 14. JSON
5부. 웹서비스의 설계
Chapter 15. 읽기 전용 웹 서비스의 설계
Chapter 16. 쓰기 가능한 웹서비스의 설계
Chapter 17. 리소스의 설계
1일 : chapter 공부
2일 : review 및 블로깅
34일 > 40일
6월 16일 ~ 7월 25일
10번 발표자료 및 블로깅
1. 웹 이전의 인터넷
인터넷 애플리케이션 : 전자메일, FTP, Telnet, Gopher등
http://www.deskshare.com/resources/articles/ftp-how-to.aspx
"File Transfer Protocol," can transfer files between any computers that have
an Internet connection, and also works between computers using totally
different operating systems.
Telnet (Telecommunication network) is a network protocol used on the Internet or Local Area Network
to provide text-based communication facility two-way interaction using a virtual terminal connection.
http://www.ortizonline.com/publications/tcpipsuitetutorial.htm
1. 웹 이전의 인터넷
인터넷 애플리케이션 : 전자메일, FTP, Telnet, Gopher등
고퍼는 인터넷을 위해 고안된 문서 검색 프로토콜이다.
고퍼의 목적은 월드 와이드 웹과 비슷하나, 현재는 거의 완전히 웹에 의해
대체되었다.
고퍼 프로토콜은 웹에서 지원하지 않는 몇 가지 사항들을 지원하는데, 특히
웹보다 훨씬 강력한 정보 분류 체계를 지원한다.
고퍼의 문자 기반 메뉴 인터페이스는 원격 터미널에 알맞게 조직되어 있다.
어떤 사람들은 고퍼를 대량의 정보 검색 및 저장에 훨씬 효과적인 프로토콜
로 여긴다.
http://www.usg.edu/galileo/skills/unit07/internet07_03.phtml
An example of a Gopher Window:1. 웹 이전의 인터넷
인터넷 애플리케이션 : 전자메일, FTP, Telnet, Gopher등
2. 웹의 탄생
1990년 11월 12일, 팀 버너스-리Tim Berners-Lee가 하이퍼 미디어를 이용한 인터넷 기반의 '분산
정보관리 시스템'이라는 웹 제안서를 작성했다. 그리고 그 해에서버를 완성하고 브라우저를 만들었다.
1993년 일리노이 대학 NCSA가 공개한 Mosaic 브라우저를 통해 이미지도 혼재가 가능했고 현재의
Internet Explorer, FireFox에 영향을 주었다.
http://hisastro.com/1115
3. 웹의 표준화
Mosaic에 의해 폭발적으로 보급된 웹에 다양한 플레이어가 추가 되어 사용률이 증폭했다. 이러한 상황
속에서 웹을 구성하는 기술, HTTP, URI, HTML에 대한 표준화가 요구되었다.
그래서 IETF(Internet Engineering Task Force)의 RFC(Request For Comments)를 통해 표준
을 제정하게 되었다. 하지만 웹이 급속도로 성장하고 보급되어서 IETF에서의 스팩 책정이 따라가지 못
했고 상호운용성의 문제가 생겼다.
이러한 문제를 해결하기 위해 팀 버너스-리가 중심이 되어 W3C(World Wide Web Consortium)을
설립하여 HTML, XML, URI, CSS등의 표준화 작업이 이루어졌다.
3. 웹의 표준화
REST(Representational State Transfer)의 탄생
로이 필딩Roy Fielding이라는 사람은 웹의 창세기부터 각종 소프트웨어의 구현에 관여해 왔다. 웹이 아
키텍처 스타일을 REST라 이름을 붙이고 박사학위 논문을 제출했다. HTTP는 하이퍼텍스트를 전송
Transfer하는 프로토콜이지만 실제로 이외의 다양한 것들을 전송하고 있다. 이것이 무엇인가 하면, 리
소스 상태Resource State의 표현Representation하는 것이 필딩의 주장이다.
http://www.siliconindia.com/news/technology/15-Iconic-
People-Who-Changed-Internet-nid-144299-cid-2.html
4. 웹 API를 둘러싼 논의
SOAP(Simple Object Acess Protocol)
RPC/분산 오브젝트 그룹이 큰 세력을 가지고 SOAP라는 기본적인 프로토콜을 이용했다
<웹을 지탱하는 기술>의 감수자인 권정혁님께서 SOAP의 단점을 이렇게 표현하였다.
복잡한 구조로 인한 오버헤드가 있으며, 이는 SOAP의 확장을 저해하고 있다.
REST에 비해 상대적으로 무겁고 속도도 느리다.
개발 난이도가 높아 개발 환경의 지원이 필요하다.
http://www.slideshare.net/guruguru/ss-14241987
권정혁님 SlideShare의 콘텐츠를 표현한 것임을 알립니다.
더 자세한 사항 : http://www.slideshare.net/guruguru/ss-14241987
4. 웹 API를 둘러싼 논의
REST(REpresentational State Transfer)
<웹을 지탱하는 기술>의 감수자인 권정혁님께서 REST의 장점을 이렇게 표현하였다.
플랫폼과 프로그래밍 언어에 독립적이다. (=SOAP)
SOAP보다 개발하기 단순하므로 학습곡선이 작고 도구가 거의 필요 없다.
간결하므로 추가적인 메시징 계층이 없다.
http://www.slideshare.net/guruguru/ss-14241987
권정혁님 SlideShare의 콘텐츠를 표현한 것임을 알립니다.
더 자세한 사항 : http://www.slideshare.net/guruguru/ss-14241987
4. 웹 API를 둘러싼 논의
SOAP vs REST
한 사람의 연구자와 대기업의 정치적 파워의 차이는 컸다. SOAP 스펙의 책정 작업이 진행되었다. 하지만 2002년에
등장한 Amazon 웹 서비스가 REST기반의 서비스를 시작하고 이것의 계기로 SOAP와 REST의 논쟁에 불이 붙었다.
분쟁이 많이 있었지만 결과적으로 REST측이 승리를 했다. 2004년부터 시작된 웹 2.0의 흐름 속에서 Google과
Amazon 같은 기업들이 REST 형식의 웹 API를 제공하기 시작했다.
웹 2.0에서 중요했던 Mashup(여러가지 웹 API가 제공하는 정보를 조합하여 하나의 애플리케이션을 실현하는 방법)
은 가벼움이 요구되었기 때문에 웹 API가 제공하는 리소스를 HTTP와 URI로 간단히 조작할 수 있는 REST 스타일 쪽
이 받아드려진 것이다.
SOAP와 REST를 빅마마 하우스에서의 마틴 로렌스로 재미있게 비유하였다.
정리
1. 웹 이전의 인터넷 : 전자메일, FTP, Telnet, Gopher
2. 팀버너스리에 의해 웹이 탄생, Mosaic 브라우저를 통해 사용자 증가
3. 표준화의 필요성 > IETF, W3C등
4. SOAP vs REST 분쟁

More Related Content

What's hot

모듈시스템과 webpack
모듈시스템과 webpack모듈시스템과 webpack
모듈시스템과 webpackDataUs
 
Html초급 1강 웹표준의 이해
Html초급 1강 웹표준의 이해Html초급 1강 웹표준의 이해
Html초급 1강 웹표준의 이해tailofmoon
 
Vue.js와 Firebase를 활용한 웹 서비스 개발
Vue.js와 Firebase를 활용한 웹 서비스 개발Vue.js와 Firebase를 활용한 웹 서비스 개발
Vue.js와 Firebase를 활용한 웹 서비스 개발Aria (In Suk) Kim
 
[Td 2015] 국내에서 처음으로 선보이는 microsoft 차세대 서버 운영 체제 windows server 2016
[Td 2015] 국내에서 처음으로 선보이는 microsoft 차세대 서버 운영 체제 windows server 2016[Td 2015] 국내에서 처음으로 선보이는 microsoft 차세대 서버 운영 체제 windows server 2016
[Td 2015] 국내에서 처음으로 선보이는 microsoft 차세대 서버 운영 체제 windows server 2016Sang Don Kim
 
JavaScript MEAN 스택
JavaScript MEAN 스택JavaScript MEAN 스택
JavaScript MEAN 스택Tai Hoon KIM
 
PHP로 웹개발을 해보자
PHP로 웹개발을 해보자PHP로 웹개발을 해보자
PHP로 웹개발을 해보자Young Min Shin
 
[141] 오픈소스를 쓰려는 자, 리베이스의 무게를 견뎌라
[141] 오픈소스를 쓰려는 자, 리베이스의 무게를 견뎌라[141] 오픈소스를 쓰려는 자, 리베이스의 무게를 견뎌라
[141] 오픈소스를 쓰려는 자, 리베이스의 무게를 견뎌라NAVER D2
 
웹표준의 이해
웹표준의 이해웹표준의 이해
웹표준의 이해Leehooan
 
HTML5 & CSS 살펴보기
HTML5 & CSS  살펴보기HTML5 & CSS  살펴보기
HTML5 & CSS 살펴보기Suan Lee
 
Kaazing - 웹소켓 기술의 유일한 엔터프라이즈 솔루션
Kaazing - 웹소켓 기술의 유일한 엔터프라이즈 솔루션Kaazing - 웹소켓 기술의 유일한 엔터프라이즈 솔루션
Kaazing - 웹소켓 기술의 유일한 엔터프라이즈 솔루션미래웹기술연구소 (MIRAE WEB)
 
어그로월드 Season1 - Aggro World season 1
어그로월드 Season1 - Aggro World season 1어그로월드 Season1 - Aggro World season 1
어그로월드 Season1 - Aggro World season 1bingoori
 
Rainbow Project Web App
Rainbow Project Web AppRainbow Project Web App
Rainbow Project Web Appbingoori
 
[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)
[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)
[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)Sang Don Kim
 
프론트엔드 개발자를 위한 Layer Model
프론트엔드 개발자를 위한 Layer Model프론트엔드 개발자를 위한 Layer Model
프론트엔드 개발자를 위한 Layer ModelHan Lee
 
서버 개발자가 되기 위한 첫 걸음
서버 개발자가 되기 위한 첫 걸음서버 개발자가 되기 위한 첫 걸음
서버 개발자가 되기 위한 첫 걸음nexusz99
 

What's hot (20)

모듈시스템과 webpack
모듈시스템과 webpack모듈시스템과 webpack
모듈시스템과 webpack
 
Html초급 1강 웹표준의 이해
Html초급 1강 웹표준의 이해Html초급 1강 웹표준의 이해
Html초급 1강 웹표준의 이해
 
Vue.js와 Firebase를 활용한 웹 서비스 개발
Vue.js와 Firebase를 활용한 웹 서비스 개발Vue.js와 Firebase를 활용한 웹 서비스 개발
Vue.js와 Firebase를 활용한 웹 서비스 개발
 
[Td 2015] 국내에서 처음으로 선보이는 microsoft 차세대 서버 운영 체제 windows server 2016
[Td 2015] 국내에서 처음으로 선보이는 microsoft 차세대 서버 운영 체제 windows server 2016[Td 2015] 국내에서 처음으로 선보이는 microsoft 차세대 서버 운영 체제 windows server 2016
[Td 2015] 국내에서 처음으로 선보이는 microsoft 차세대 서버 운영 체제 windows server 2016
 
JavaScript MEAN 스택
JavaScript MEAN 스택JavaScript MEAN 스택
JavaScript MEAN 스택
 
현실적 PWA
현실적 PWA현실적 PWA
현실적 PWA
 
iOS9 소개
iOS9 소개iOS9 소개
iOS9 소개
 
Vue.js와 Firebase활용기
Vue.js와 Firebase활용기Vue.js와 Firebase활용기
Vue.js와 Firebase활용기
 
Furkid
FurkidFurkid
Furkid
 
PHP로 웹개발을 해보자
PHP로 웹개발을 해보자PHP로 웹개발을 해보자
PHP로 웹개발을 해보자
 
[141] 오픈소스를 쓰려는 자, 리베이스의 무게를 견뎌라
[141] 오픈소스를 쓰려는 자, 리베이스의 무게를 견뎌라[141] 오픈소스를 쓰려는 자, 리베이스의 무게를 견뎌라
[141] 오픈소스를 쓰려는 자, 리베이스의 무게를 견뎌라
 
Mean stack Start
Mean stack StartMean stack Start
Mean stack Start
 
웹표준의 이해
웹표준의 이해웹표준의 이해
웹표준의 이해
 
HTML5 & CSS 살펴보기
HTML5 & CSS  살펴보기HTML5 & CSS  살펴보기
HTML5 & CSS 살펴보기
 
Kaazing - 웹소켓 기술의 유일한 엔터프라이즈 솔루션
Kaazing - 웹소켓 기술의 유일한 엔터프라이즈 솔루션Kaazing - 웹소켓 기술의 유일한 엔터프라이즈 솔루션
Kaazing - 웹소켓 기술의 유일한 엔터프라이즈 솔루션
 
어그로월드 Season1 - Aggro World season 1
어그로월드 Season1 - Aggro World season 1어그로월드 Season1 - Aggro World season 1
어그로월드 Season1 - Aggro World season 1
 
Rainbow Project Web App
Rainbow Project Web AppRainbow Project Web App
Rainbow Project Web App
 
[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)
[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)
[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)
 
프론트엔드 개발자를 위한 Layer Model
프론트엔드 개발자를 위한 Layer Model프론트엔드 개발자를 위한 Layer Model
프론트엔드 개발자를 위한 Layer Model
 
서버 개발자가 되기 위한 첫 걸음
서버 개발자가 되기 위한 첫 걸음서버 개발자가 되기 위한 첫 걸음
서버 개발자가 되기 위한 첫 걸음
 

Viewers also liked

프론트엔드스터디 E04 js function
프론트엔드스터디 E04 js function프론트엔드스터디 E04 js function
프론트엔드스터디 E04 js functionYoung-Beom Rhee
 
프론트엔드스터디 E02 css dom
프론트엔드스터디 E02 css dom프론트엔드스터디 E02 css dom
프론트엔드스터디 E02 css domYoung-Beom Rhee
 
프론트엔드스터디 E05 js closure oop
프론트엔드스터디 E05 js closure oop프론트엔드스터디 E05 js closure oop
프론트엔드스터디 E05 js closure oopYoung-Beom Rhee
 
프론트엔드스터디 E03 - Javascript intro.
프론트엔드스터디 E03 - Javascript intro.프론트엔드스터디 E03 - Javascript intro.
프론트엔드스터디 E03 - Javascript intro.Young-Beom Rhee
 
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 4. promise
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 4. promise[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 4. promise
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 4. promiseNAVER D2
 
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 2. functions
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 2. functions[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 2. functions
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 2. functionsNAVER D2
 
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 3. generator
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 3. generator[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 3. generator
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 3. generatorNAVER D2
 
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 1. primitive
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 1. primitive[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 1. primitive
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 1. primitiveNAVER D2
 
분데스리가일정→→W­Е­4­9.сом←←유료픽キ분데스리가キ프리메라리가
분데스리가일정→→W­Е­4­9.сом←←유료픽キ분데스리가キ프리메라리가분데스리가일정→→W­Е­4­9.сом←←유료픽キ분데스리가キ프리메라리가
분데스리가일정→→W­Е­4­9.сом←←유료픽キ분데스리가キ프리메라리가itsming
 
개발자와 협업하기 위한 API의 이해 - API를 준비하는 금성인을 위한 안내서
개발자와 협업하기 위한 API의 이해 - API를 준비하는 금성인을 위한 안내서개발자와 협업하기 위한 API의 이해 - API를 준비하는 금성인을 위한 안내서
개발자와 협업하기 위한 API의 이해 - API를 준비하는 금성인을 위한 안내서동수 장
 
쏙 알고스터디 01
쏙 알고스터디 01쏙 알고스터디 01
쏙 알고스터디 01Jisu Lee
 
Slipp clojure-1212
Slipp clojure-1212Slipp clojure-1212
Slipp clojure-1212완수 양
 
소프트웨어 설계 악취: 기술 부채 관리 방법
소프트웨어 설계 악취: 기술 부채 관리 방법소프트웨어 설계 악취: 기술 부채 관리 방법
소프트웨어 설계 악취: 기술 부채 관리 방법Jay Park
 
영속성 컨텍스트로 보는 JPA
영속성 컨텍스트로 보는 JPA영속성 컨텍스트로 보는 JPA
영속성 컨텍스트로 보는 JPA경원 이
 
Scala로의 산책
Scala로의 산책Scala로의 산책
Scala로의 산책Youmi Bae
 
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거Javajigi Jaesung
 
세미나
세미나세미나
세미나Dongyi Kim
 

Viewers also liked (20)

프론트엔드스터디 E04 js function
프론트엔드스터디 E04 js function프론트엔드스터디 E04 js function
프론트엔드스터디 E04 js function
 
프론트엔드스터디 E02 css dom
프론트엔드스터디 E02 css dom프론트엔드스터디 E02 css dom
프론트엔드스터디 E02 css dom
 
프론트엔드스터디 E05 js closure oop
프론트엔드스터디 E05 js closure oop프론트엔드스터디 E05 js closure oop
프론트엔드스터디 E05 js closure oop
 
프론트엔드스터디 E03 - Javascript intro.
프론트엔드스터디 E03 - Javascript intro.프론트엔드스터디 E03 - Javascript intro.
프론트엔드스터디 E03 - Javascript intro.
 
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 4. promise
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 4. promise[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 4. promise
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 4. promise
 
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 2. functions
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 2. functions[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 2. functions
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 2. functions
 
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 3. generator
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 3. generator[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 3. generator
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 3. generator
 
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 1. primitive
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 1. primitive[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 1. primitive
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 1. primitive
 
분데스리가일정→→W­Е­4­9.сом←←유료픽キ분데스리가キ프리메라리가
분데스리가일정→→W­Е­4­9.сом←←유료픽キ분데스리가キ프리메라리가분데스리가일정→→W­Е­4­9.сом←←유료픽キ분데스리가キ프리메라리가
분데스리가일정→→W­Е­4­9.сом←←유료픽キ분데스리가キ프리메라리가
 
개발자와 협업하기 위한 API의 이해 - API를 준비하는 금성인을 위한 안내서
개발자와 협업하기 위한 API의 이해 - API를 준비하는 금성인을 위한 안내서개발자와 협업하기 위한 API의 이해 - API를 준비하는 금성인을 위한 안내서
개발자와 협업하기 위한 API의 이해 - API를 준비하는 금성인을 위한 안내서
 
One-day-codelab
One-day-codelabOne-day-codelab
One-day-codelab
 
쏙 알고스터디 01
쏙 알고스터디 01쏙 알고스터디 01
쏙 알고스터디 01
 
Slipp clojure-1212
Slipp clojure-1212Slipp clojure-1212
Slipp clojure-1212
 
소프트웨어 설계 악취: 기술 부채 관리 방법
소프트웨어 설계 악취: 기술 부채 관리 방법소프트웨어 설계 악취: 기술 부채 관리 방법
소프트웨어 설계 악취: 기술 부채 관리 방법
 
영속성 컨텍스트로 보는 JPA
영속성 컨텍스트로 보는 JPA영속성 컨텍스트로 보는 JPA
영속성 컨텍스트로 보는 JPA
 
Scala로의 산책
Scala로의 산책Scala로의 산책
Scala로의 산책
 
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
 
Slipp 발표 - GO
Slipp 발표 - GOSlipp 발표 - GO
Slipp 발표 - GO
 
세미나
세미나세미나
세미나
 
Introduction to JSON
Introduction to JSONIntroduction to JSON
Introduction to JSON
 

Similar to Basic of web ref.웹을지탱하는기술_01

웹을 지탱하는 기술
웹을 지탱하는 기술웹을 지탱하는 기술
웹을 지탱하는 기술JungHyuk Kwon
 
웹을 지탱하는 기술
웹을 지탱하는 기술웹을 지탱하는 기술
웹을 지탱하는 기술정혁 권
 
Trends on Standardizations of HTML5 based Web Platform Technology
Trends on Standardizations of HTML5 based Web Platform TechnologyTrends on Standardizations of HTML5 based Web Platform Technology
Trends on Standardizations of HTML5 based Web Platform TechnologyJonathan Jeon
 
Html5 guide
Html5 guideHtml5 guide
Html5 guidecamusice
 
[15.09.17] 인터넷과 웹의 역사 그리고 현재의 트렌드
[15.09.17] 인터넷과 웹의 역사 그리고 현재의 트렌드[15.09.17] 인터넷과 웹의 역사 그리고 현재의 트렌드
[15.09.17] 인터넷과 웹의 역사 그리고 현재의 트렌드Sanghun Yun
 
CMS를 활용한 도서관웹사이트 발전방향 _ ㈜나인팩토리인터랙티브
CMS를 활용한 도서관웹사이트 발전방향 _ ㈜나인팩토리인터랙티브CMS를 활용한 도서관웹사이트 발전방향 _ ㈜나인팩토리인터랙티브
CMS를 활용한 도서관웹사이트 발전방향 _ ㈜나인팩토리인터랙티브ninefactory
 
Future Web and WoT(Web of Things)
Future Web and WoT(Web of Things)Future Web and WoT(Web of Things)
Future Web and WoT(Web of Things)Jonathan Jeon
 
Web Development (Basic)
Web Development (Basic)Web Development (Basic)
Web Development (Basic)Philippe Lee
 
W3C와 국제적 웹 기술 협력을 위한 제언 (2005)
W3C와 국제적 웹 기술 협력을 위한 제언 (2005)W3C와 국제적 웹 기술 협력을 위한 제언 (2005)
W3C와 국제적 웹 기술 협력을 위한 제언 (2005)Channy Yun
 
Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)Channy Yun
 
KTH Easing Markup DAY01
KTH Easing Markup DAY01KTH Easing Markup DAY01
KTH Easing Markup DAY01yamoo9
 
141118 최창원 웹크롤러제작
141118 최창원 웹크롤러제작141118 최창원 웹크롤러제작
141118 최창원 웹크롤러제작Changwon Choe
 
웹소켓 (WebSocket)
웹소켓 (WebSocket)웹소켓 (WebSocket)
웹소켓 (WebSocket)jeongseokoh
 
WoO 2012-Web 서비스 기술
WoO 2012-Web 서비스 기술WoO 2012-Web 서비스 기술
WoO 2012-Web 서비스 기술Changhwan Yi
 

Similar to Basic of web ref.웹을지탱하는기술_01 (20)

웹을 지탱하는 기술
웹을 지탱하는 기술웹을 지탱하는 기술
웹을 지탱하는 기술
 
웹을 지탱하는 기술
웹을 지탱하는 기술웹을 지탱하는 기술
웹을 지탱하는 기술
 
Web 2.0과 도서관 활용사례
Web 2.0과 도서관 활용사례Web 2.0과 도서관 활용사례
Web 2.0과 도서관 활용사례
 
실전 Html5 guide
실전 Html5 guide실전 Html5 guide
실전 Html5 guide
 
Trends on Standardizations of HTML5 based Web Platform Technology
Trends on Standardizations of HTML5 based Web Platform TechnologyTrends on Standardizations of HTML5 based Web Platform Technology
Trends on Standardizations of HTML5 based Web Platform Technology
 
Html5 guide
Html5 guideHtml5 guide
Html5 guide
 
Html5 Guide
Html5 GuideHtml5 Guide
Html5 Guide
 
Html5 guide
Html5 guideHtml5 guide
Html5 guide
 
[15.09.17] 인터넷과 웹의 역사 그리고 현재의 트렌드
[15.09.17] 인터넷과 웹의 역사 그리고 현재의 트렌드[15.09.17] 인터넷과 웹의 역사 그리고 현재의 트렌드
[15.09.17] 인터넷과 웹의 역사 그리고 현재의 트렌드
 
발표자료
발표자료발표자료
발표자료
 
CMS를 활용한 도서관웹사이트 발전방향 _ ㈜나인팩토리인터랙티브
CMS를 활용한 도서관웹사이트 발전방향 _ ㈜나인팩토리인터랙티브CMS를 활용한 도서관웹사이트 발전방향 _ ㈜나인팩토리인터랙티브
CMS를 활용한 도서관웹사이트 발전방향 _ ㈜나인팩토리인터랙티브
 
Future Web and WoT(Web of Things)
Future Web and WoT(Web of Things)Future Web and WoT(Web of Things)
Future Web and WoT(Web of Things)
 
Web Development (Basic)
Web Development (Basic)Web Development (Basic)
Web Development (Basic)
 
W3C와 국제적 웹 기술 협력을 위한 제언 (2005)
W3C와 국제적 웹 기술 협력을 위한 제언 (2005)W3C와 국제적 웹 기술 협력을 위한 제언 (2005)
W3C와 국제적 웹 기술 협력을 위한 제언 (2005)
 
Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)
 
KTH Easing Markup DAY01
KTH Easing Markup DAY01KTH Easing Markup DAY01
KTH Easing Markup DAY01
 
141118 최창원 웹크롤러제작
141118 최창원 웹크롤러제작141118 최창원 웹크롤러제작
141118 최창원 웹크롤러제작
 
Webtech
WebtechWebtech
Webtech
 
웹소켓 (WebSocket)
웹소켓 (WebSocket)웹소켓 (WebSocket)
웹소켓 (WebSocket)
 
WoO 2012-Web 서비스 기술
WoO 2012-Web 서비스 기술WoO 2012-Web 서비스 기술
WoO 2012-Web 서비스 기술
 

More from SangHun Lee

PWA 파헤치기
PWA 파헤치기PWA 파헤치기
PWA 파헤치기SangHun Lee
 
Angular CodeLab 두번째
Angular CodeLab 두번째Angular CodeLab 두번째
Angular CodeLab 두번째SangHun Lee
 
Angular CodeLab 첫번째
Angular CodeLab 첫번째Angular CodeLab 첫번째
Angular CodeLab 첫번째SangHun Lee
 
Angular Popular Tools
Angular Popular ToolsAngular Popular Tools
Angular Popular ToolsSangHun Lee
 
Chrome 69 updates
Chrome 69 updatesChrome 69 updates
Chrome 69 updatesSangHun Lee
 
Angular Component Interaction
Angular Component InteractionAngular Component Interaction
Angular Component InteractionSangHun Lee
 
Chrome 68 updates
Chrome 68 updatesChrome 68 updates
Chrome 68 updatesSangHun Lee
 
Reactive Programming with Rxjs
Reactive Programming with RxjsReactive Programming with Rxjs
Reactive Programming with RxjsSangHun Lee
 
Angular Features and New Things
Angular Features and New ThingsAngular Features and New Things
Angular Features and New ThingsSangHun Lee
 
SSG광고의 오마주_에드워드 호퍼
SSG광고의 오마주_에드워드 호퍼SSG광고의 오마주_에드워드 호퍼
SSG광고의 오마주_에드워드 호퍼SangHun Lee
 
[IOS말고 Android] Inflation을 이용하여 부분 Activity 띄우기
[IOS말고 Android] Inflation을 이용하여 부분 Activity 띄우기[IOS말고 Android] Inflation을 이용하여 부분 Activity 띄우기
[IOS말고 Android] Inflation을 이용하여 부분 Activity 띄우기SangHun Lee
 
Ror 4주차(루비맛보기, form 태그)
Ror 4주차(루비맛보기, form 태그)Ror 4주차(루비맛보기, form 태그)
Ror 4주차(루비맛보기, form 태그)SangHun Lee
 
Ror 2주차(컨트롤러 생성)
Ror 2주차(컨트롤러 생성)Ror 2주차(컨트롤러 생성)
Ror 2주차(컨트롤러 생성)SangHun Lee
 
루비온레일즈_01_간단한 정적인 홈페이지 제작
루비온레일즈_01_간단한 정적인 홈페이지 제작루비온레일즈_01_간단한 정적인 홈페이지 제작
루비온레일즈_01_간단한 정적인 홈페이지 제작SangHun Lee
 
Basic of web ref.웹을지탱하는기술_02
Basic of web ref.웹을지탱하는기술_02Basic of web ref.웹을지탱하는기술_02
Basic of web ref.웹을지탱하는기술_02SangHun Lee
 
Eclipse rcp 정리(enabled when, contextmenu)
Eclipse rcp 정리(enabled when, contextmenu)Eclipse rcp 정리(enabled when, contextmenu)
Eclipse rcp 정리(enabled when, contextmenu)SangHun Lee
 

More from SangHun Lee (20)

PWA 파헤치기
PWA 파헤치기PWA 파헤치기
PWA 파헤치기
 
Angular Library
Angular LibraryAngular Library
Angular Library
 
Angular CodeLab 두번째
Angular CodeLab 두번째Angular CodeLab 두번째
Angular CodeLab 두번째
 
Angular CodeLab 첫번째
Angular CodeLab 첫번째Angular CodeLab 첫번째
Angular CodeLab 첫번째
 
Angular Popular Tools
Angular Popular ToolsAngular Popular Tools
Angular Popular Tools
 
Chrome 69 updates
Chrome 69 updatesChrome 69 updates
Chrome 69 updates
 
Angular Component Interaction
Angular Component InteractionAngular Component Interaction
Angular Component Interaction
 
Chrome 68 updates
Chrome 68 updatesChrome 68 updates
Chrome 68 updates
 
Reactive Programming with Rxjs
Reactive Programming with RxjsReactive Programming with Rxjs
Reactive Programming with Rxjs
 
Angular Features and New Things
Angular Features and New ThingsAngular Features and New Things
Angular Features and New Things
 
SSG광고의 오마주_에드워드 호퍼
SSG광고의 오마주_에드워드 호퍼SSG광고의 오마주_에드워드 호퍼
SSG광고의 오마주_에드워드 호퍼
 
[IOS말고 Android] Inflation을 이용하여 부분 Activity 띄우기
[IOS말고 Android] Inflation을 이용하여 부분 Activity 띄우기[IOS말고 Android] Inflation을 이용하여 부분 Activity 띄우기
[IOS말고 Android] Inflation을 이용하여 부분 Activity 띄우기
 
Ror 4주차(루비맛보기, form 태그)
Ror 4주차(루비맛보기, form 태그)Ror 4주차(루비맛보기, form 태그)
Ror 4주차(루비맛보기, form 태그)
 
Ror 2주차(컨트롤러 생성)
Ror 2주차(컨트롤러 생성)Ror 2주차(컨트롤러 생성)
Ror 2주차(컨트롤러 생성)
 
루비온레일즈_01_간단한 정적인 홈페이지 제작
루비온레일즈_01_간단한 정적인 홈페이지 제작루비온레일즈_01_간단한 정적인 홈페이지 제작
루비온레일즈_01_간단한 정적인 홈페이지 제작
 
Basic of web ref.웹을지탱하는기술_02
Basic of web ref.웹을지탱하는기술_02Basic of web ref.웹을지탱하는기술_02
Basic of web ref.웹을지탱하는기술_02
 
Eclipse gef
Eclipse gefEclipse gef
Eclipse gef
 
Gef 정리
Gef 정리Gef 정리
Gef 정리
 
Eclipse rcp 정리(enabled when, contextmenu)
Eclipse rcp 정리(enabled when, contextmenu)Eclipse rcp 정리(enabled when, contextmenu)
Eclipse rcp 정리(enabled when, contextmenu)
 
2015.07.01
2015.07.012015.07.01
2015.07.01
 

Basic of web ref.웹을지탱하는기술_01

  • 2. 웹다운 설계를 하기 위해 필요한 것은? 이것을 위해서는 웹 아키텍쳐를 이해하고 의식하는 것이 중요! 1. 다른 시스템과 간단히 연계할 수 있는 것 2. 장래에 확장하기 쉽게 설계된 것
  • 3. 앞으로 공부할 2가지 쟁점 HTTP 통신을 이해해야 웹 서비스 동작 원리를 알 수 있다. 고로, HTTP 통신을 이해하고 웹 아키텍처를 의식하며 확장성과 안정성이 있는 웹을 설계하는 것! 1. HTTP, URI, 하이퍼미디어 포맷의 스팩들 2. 구체적인 웹 서비스 설계 방법
  • 4. 저자 : 야마모토 요헤이 감수자 : 권정혁 역자 : 김성훈 출판사 : 멘토르
  • 5. 1부. 웹개론 Chapter 01. 웹이란 무엇인가? Chapter 02. 웹의 역사 Chapter 03. REST-웹 아키텍처 스타일 2부. URI Chapter 04. URI의 스펙 Chapter 05. URI의 설계 3부. HTTP Chapter 06. HTTP의 기본 Chapter 07. HTTP 메서드 Chapter 08. 스테이터스 코드 Chapter 09. HTTP 헤더 4부. 하이퍼미디어 포맷 Chapter 10. HTML Chapter 11. microforms Chapter 12. Atom Chapter 13. Atom Publishing Protocol Chapter 14. JSON 5부. 웹서비스의 설계 Chapter 15. 읽기 전용 웹 서비스의 설계 Chapter 16. 쓰기 가능한 웹서비스의 설계 Chapter 17. 리소스의 설계 1일 : chapter 공부 2일 : review 및 블로깅 34일 > 40일 6월 16일 ~ 7월 25일 10번 발표자료 및 블로깅
  • 6. 1. 웹 이전의 인터넷 인터넷 애플리케이션 : 전자메일, FTP, Telnet, Gopher등 http://www.deskshare.com/resources/articles/ftp-how-to.aspx "File Transfer Protocol," can transfer files between any computers that have an Internet connection, and also works between computers using totally different operating systems.
  • 7. Telnet (Telecommunication network) is a network protocol used on the Internet or Local Area Network to provide text-based communication facility two-way interaction using a virtual terminal connection. http://www.ortizonline.com/publications/tcpipsuitetutorial.htm 1. 웹 이전의 인터넷 인터넷 애플리케이션 : 전자메일, FTP, Telnet, Gopher등
  • 8. 고퍼는 인터넷을 위해 고안된 문서 검색 프로토콜이다. 고퍼의 목적은 월드 와이드 웹과 비슷하나, 현재는 거의 완전히 웹에 의해 대체되었다. 고퍼 프로토콜은 웹에서 지원하지 않는 몇 가지 사항들을 지원하는데, 특히 웹보다 훨씬 강력한 정보 분류 체계를 지원한다. 고퍼의 문자 기반 메뉴 인터페이스는 원격 터미널에 알맞게 조직되어 있다. 어떤 사람들은 고퍼를 대량의 정보 검색 및 저장에 훨씬 효과적인 프로토콜 로 여긴다. http://www.usg.edu/galileo/skills/unit07/internet07_03.phtml An example of a Gopher Window:1. 웹 이전의 인터넷 인터넷 애플리케이션 : 전자메일, FTP, Telnet, Gopher등
  • 9. 2. 웹의 탄생 1990년 11월 12일, 팀 버너스-리Tim Berners-Lee가 하이퍼 미디어를 이용한 인터넷 기반의 '분산 정보관리 시스템'이라는 웹 제안서를 작성했다. 그리고 그 해에서버를 완성하고 브라우저를 만들었다. 1993년 일리노이 대학 NCSA가 공개한 Mosaic 브라우저를 통해 이미지도 혼재가 가능했고 현재의 Internet Explorer, FireFox에 영향을 주었다. http://hisastro.com/1115
  • 10. 3. 웹의 표준화 Mosaic에 의해 폭발적으로 보급된 웹에 다양한 플레이어가 추가 되어 사용률이 증폭했다. 이러한 상황 속에서 웹을 구성하는 기술, HTTP, URI, HTML에 대한 표준화가 요구되었다. 그래서 IETF(Internet Engineering Task Force)의 RFC(Request For Comments)를 통해 표준 을 제정하게 되었다. 하지만 웹이 급속도로 성장하고 보급되어서 IETF에서의 스팩 책정이 따라가지 못 했고 상호운용성의 문제가 생겼다. 이러한 문제를 해결하기 위해 팀 버너스-리가 중심이 되어 W3C(World Wide Web Consortium)을 설립하여 HTML, XML, URI, CSS등의 표준화 작업이 이루어졌다.
  • 11. 3. 웹의 표준화 REST(Representational State Transfer)의 탄생 로이 필딩Roy Fielding이라는 사람은 웹의 창세기부터 각종 소프트웨어의 구현에 관여해 왔다. 웹이 아 키텍처 스타일을 REST라 이름을 붙이고 박사학위 논문을 제출했다. HTTP는 하이퍼텍스트를 전송 Transfer하는 프로토콜이지만 실제로 이외의 다양한 것들을 전송하고 있다. 이것이 무엇인가 하면, 리 소스 상태Resource State의 표현Representation하는 것이 필딩의 주장이다. http://www.siliconindia.com/news/technology/15-Iconic- People-Who-Changed-Internet-nid-144299-cid-2.html
  • 12. 4. 웹 API를 둘러싼 논의 SOAP(Simple Object Acess Protocol) RPC/분산 오브젝트 그룹이 큰 세력을 가지고 SOAP라는 기본적인 프로토콜을 이용했다 <웹을 지탱하는 기술>의 감수자인 권정혁님께서 SOAP의 단점을 이렇게 표현하였다. 복잡한 구조로 인한 오버헤드가 있으며, 이는 SOAP의 확장을 저해하고 있다. REST에 비해 상대적으로 무겁고 속도도 느리다. 개발 난이도가 높아 개발 환경의 지원이 필요하다. http://www.slideshare.net/guruguru/ss-14241987 권정혁님 SlideShare의 콘텐츠를 표현한 것임을 알립니다. 더 자세한 사항 : http://www.slideshare.net/guruguru/ss-14241987
  • 13. 4. 웹 API를 둘러싼 논의 REST(REpresentational State Transfer) <웹을 지탱하는 기술>의 감수자인 권정혁님께서 REST의 장점을 이렇게 표현하였다. 플랫폼과 프로그래밍 언어에 독립적이다. (=SOAP) SOAP보다 개발하기 단순하므로 학습곡선이 작고 도구가 거의 필요 없다. 간결하므로 추가적인 메시징 계층이 없다. http://www.slideshare.net/guruguru/ss-14241987 권정혁님 SlideShare의 콘텐츠를 표현한 것임을 알립니다. 더 자세한 사항 : http://www.slideshare.net/guruguru/ss-14241987
  • 14. 4. 웹 API를 둘러싼 논의 SOAP vs REST 한 사람의 연구자와 대기업의 정치적 파워의 차이는 컸다. SOAP 스펙의 책정 작업이 진행되었다. 하지만 2002년에 등장한 Amazon 웹 서비스가 REST기반의 서비스를 시작하고 이것의 계기로 SOAP와 REST의 논쟁에 불이 붙었다. 분쟁이 많이 있었지만 결과적으로 REST측이 승리를 했다. 2004년부터 시작된 웹 2.0의 흐름 속에서 Google과 Amazon 같은 기업들이 REST 형식의 웹 API를 제공하기 시작했다. 웹 2.0에서 중요했던 Mashup(여러가지 웹 API가 제공하는 정보를 조합하여 하나의 애플리케이션을 실현하는 방법) 은 가벼움이 요구되었기 때문에 웹 API가 제공하는 리소스를 HTTP와 URI로 간단히 조작할 수 있는 REST 스타일 쪽 이 받아드려진 것이다. SOAP와 REST를 빅마마 하우스에서의 마틴 로렌스로 재미있게 비유하였다.
  • 15. 정리 1. 웹 이전의 인터넷 : 전자메일, FTP, Telnet, Gopher 2. 팀버너스리에 의해 웹이 탄생, Mosaic 브라우저를 통해 사용자 증가 3. 표준화의 필요성 > IETF, W3C등 4. SOAP vs REST 분쟁