SlideShare a Scribd company logo
1 of 13
Download to read offline
Web의 기본
두번째 <Stateless>
저자 : 야마모토 요헤이
감수자 : 권정혁
역자 : 김성훈
출판사 : 멘토르
다음 내용은 '저자 : 야마모토 요헤이, 감수자 : 권정혁, 역자 : 김성훈'
<웹 개발자를 위한 웹을 지탱하는 기술>을 토대로 제작하였음을 알립니다.
구체적인 사항은 이 책을 통해 알면 좋을 것 같습니다.
1. REST 아키텍처 스타일을 따른다
REST
클라이언트/서버
스테이트리스 서버
캐시
유니폼 인터페이스
코드 온 디맨드
계층화 시스템
2. Stateless Server를 가진다.
Stateless = 상태가 없는
Stateless Server = 상태가 없는 서버
서버가 클라이언트의 애플리케이션 상태를 보존하지 않는다.
2. Stateless Server를 가진다.
2. Stateless Server를 가진다.
알 수 있는 사실..
1. 스테이트풀한 대화는 간결하다.
2. 스테이트리스한 대화는 장황하다.
3. 스테이트풀한 대화에서는 서버(점원)는 클라이언트(손님)의 주문 내역을 기억한다.
4. 스테이트리스한 대화에서 클라이언트(손님)는 매번 모든 주문을 반복한다.
3. Stateful
스테이트풀한 아키텍처로는 클라이언트의 수가 증가했을 경우 규모를 확장하기 어렵다.
4. Stateless
클라이언트가 요청 메시지에 필요한 정보를 모두 포함시킨다.
'자기 기술적 메시지Self Descriptive Message'라는,
요청을 처리하는데 필요한 정보가 모두 포함되어 있는 메시지를 보낸다.
애플리케이션 상태를 기억할 필요가 없기 때문에 서버 시스템이 단순해진다.
서버는 이제까지의 일은 모두 잊고 새로 오는 요청을 처리하는 데만 집중하면 된다.
따라서 시스템을 확장시키는 것이 용이하다. 클라이언트가 늘어나면 단순히 서버를 증설하면 된다.
4. Stateless
스테이트리스한 아키텍처는 확장성 면에서는 이점이 있지만 결점도 가지고 있다.
① 퍼포먼스 저하 : 송신할 데이터의 양이 많아지며, 인증 등 서버에 부하가 걸리는 처리를 반복한다.
② 통신 에러에 대한 대처 : 현재 애플리케이션 상태를 서버 단에서는 알지 못하기 때문에 중간에 통신에 에러가
생기면 대처하기가 힘들다.
REST 아키텍처 스타일을 따른다
REST
클라이언트/서버
스테이트리스 서버
캐시
유니폼 인터페이스
코드 온 디맨드
계층화 시스템
정리
• REST라는 아키텍처를 따른다.
• REST의 특징 중에 Stateless가 있다.
• Stateless한 서버는 애플리케이션 상태를 기억할 필요가 없기 때문에 서버 시스템이 단순해진다
• 확장성이 용이해진다.
• 때로는 복잡한 것보다 간단한 게 낫다

More Related Content

What's hot

[Live coding] 8회 7 4 (camp-exam_sms)
[Live coding] 8회 7 4 (camp-exam_sms)[Live coding] 8회 7 4 (camp-exam_sms)
[Live coding] 8회 7 4 (camp-exam_sms)동욱 하
 
킴스큐Rb 설치
킴스큐Rb 설치킴스큐Rb 설치
킴스큐Rb 설치Gitaek kwon
 
Servlet&jsp 1장
Servlet&jsp 1장Servlet&jsp 1장
Servlet&jsp 1장JeongBong Kim
 
[ES6] 1. let과 const
[ES6] 1. let과 const[ES6] 1. let과 const
[ES6] 1. let과 constHan JaeYeab
 
nodejs websocket & SOCKET.IO
nodejs websocket & SOCKET.IOnodejs websocket & SOCKET.IO
nodejs websocket & SOCKET.IOMungyu Choi
 
CSS3 천기누설
CSS3 천기누설CSS3 천기누설
CSS3 천기누설Toby Yun
 
HeadFisrt Servlet&JSP Chapter 4
HeadFisrt Servlet&JSP Chapter 4HeadFisrt Servlet&JSP Chapter 4
HeadFisrt Servlet&JSP Chapter 4J B
 
이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016
이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016
이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016devCAT Studio, NEXON
 

What's hot (11)

[Live coding] 8회 7 4 (camp-exam_sms)
[Live coding] 8회 7 4 (camp-exam_sms)[Live coding] 8회 7 4 (camp-exam_sms)
[Live coding] 8회 7 4 (camp-exam_sms)
 
킴스큐Rb 설치
킴스큐Rb 설치킴스큐Rb 설치
킴스큐Rb 설치
 
피니엔진
피니엔진피니엔진
피니엔진
 
1 xbet korea
1 xbet korea1 xbet korea
1 xbet korea
 
Servlet&jsp 1장
Servlet&jsp 1장Servlet&jsp 1장
Servlet&jsp 1장
 
Study 4
Study 4Study 4
Study 4
 
[ES6] 1. let과 const
[ES6] 1. let과 const[ES6] 1. let과 const
[ES6] 1. let과 const
 
nodejs websocket & SOCKET.IO
nodejs websocket & SOCKET.IOnodejs websocket & SOCKET.IO
nodejs websocket & SOCKET.IO
 
CSS3 천기누설
CSS3 천기누설CSS3 천기누설
CSS3 천기누설
 
HeadFisrt Servlet&JSP Chapter 4
HeadFisrt Servlet&JSP Chapter 4HeadFisrt Servlet&JSP Chapter 4
HeadFisrt Servlet&JSP Chapter 4
 
이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016
이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016
이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016
 

Viewers also liked

[김태우] Simplechat using firebase
[김태우] Simplechat using firebase[김태우] Simplechat using firebase
[김태우] Simplechat using firebaseTaewoo Kim
 
Ror 2주차(컨트롤러 생성)
Ror 2주차(컨트롤러 생성)Ror 2주차(컨트롤러 생성)
Ror 2주차(컨트롤러 생성)SangHun Lee
 
Git 들여다보기(1)
Git 들여다보기(1)Git 들여다보기(1)
Git 들여다보기(1)Kim Byoungsu
 
Android tech note(beginner)[lesson 1]
Android tech note(beginner)[lesson 1]Android tech note(beginner)[lesson 1]
Android tech note(beginner)[lesson 1]Kim Byoungsu
 
Ror 4주차(루비맛보기, form 태그)
Ror 4주차(루비맛보기, form 태그)Ror 4주차(루비맛보기, form 태그)
Ror 4주차(루비맛보기, form 태그)SangHun Lee
 
[김태우] 한국의 태초마을 유람기
[김태우] 한국의 태초마을 유람기[김태우] 한국의 태초마을 유람기
[김태우] 한국의 태초마을 유람기Taewoo Kim
 
Open course 소개
Open course 소개Open course 소개
Open course 소개Kim Byoungsu
 
SSG광고의 오마주_에드워드 호퍼
SSG광고의 오마주_에드워드 호퍼SSG광고의 오마주_에드워드 호퍼
SSG광고의 오마주_에드워드 호퍼SangHun Lee
 
[IOS말고 Android] Inflation을 이용하여 부분 Activity 띄우기
[IOS말고 Android] Inflation을 이용하여 부분 Activity 띄우기[IOS말고 Android] Inflation을 이용하여 부분 Activity 띄우기
[IOS말고 Android] Inflation을 이용하여 부분 Activity 띄우기SangHun Lee
 
Git로 협업하기
Git로 협업하기Git로 협업하기
Git로 협업하기Kim Byoungsu
 
Git란 무엇인가?
Git란 무엇인가?Git란 무엇인가?
Git란 무엇인가?Kim Byoungsu
 
루비온레일즈_01_간단한 정적인 홈페이지 제작
루비온레일즈_01_간단한 정적인 홈페이지 제작루비온레일즈_01_간단한 정적인 홈페이지 제작
루비온레일즈_01_간단한 정적인 홈페이지 제작SangHun Lee
 
bootstrap-scaffolding
bootstrap-scaffoldingbootstrap-scaffolding
bootstrap-scaffoldingSangHun Lee
 
Basic of web ref.웹을지탱하는기술_01
Basic of web ref.웹을지탱하는기술_01Basic of web ref.웹을지탱하는기술_01
Basic of web ref.웹을지탱하는기술_01SangHun Lee
 
Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기nexusz99
 

Viewers also liked (20)

[김태우] Simplechat using firebase
[김태우] Simplechat using firebase[김태우] Simplechat using firebase
[김태우] Simplechat using firebase
 
Ror 2주차(컨트롤러 생성)
Ror 2주차(컨트롤러 생성)Ror 2주차(컨트롤러 생성)
Ror 2주차(컨트롤러 생성)
 
Git 들여다보기(1)
Git 들여다보기(1)Git 들여다보기(1)
Git 들여다보기(1)
 
Git의 기초(3)
Git의 기초(3)Git의 기초(3)
Git의 기초(3)
 
Android tech note(beginner)[lesson 1]
Android tech note(beginner)[lesson 1]Android tech note(beginner)[lesson 1]
Android tech note(beginner)[lesson 1]
 
Ror 4주차(루비맛보기, form 태그)
Ror 4주차(루비맛보기, form 태그)Ror 4주차(루비맛보기, form 태그)
Ror 4주차(루비맛보기, form 태그)
 
[김태우] 한국의 태초마을 유람기
[김태우] 한국의 태초마을 유람기[김태우] 한국의 태초마을 유람기
[김태우] 한국의 태초마을 유람기
 
Open course 소개
Open course 소개Open course 소개
Open course 소개
 
SSG광고의 오마주_에드워드 호퍼
SSG광고의 오마주_에드워드 호퍼SSG광고의 오마주_에드워드 호퍼
SSG광고의 오마주_에드워드 호퍼
 
Git의 기초
Git의 기초Git의 기초
Git의 기초
 
Eclipse gef
Eclipse gefEclipse gef
Eclipse gef
 
[IOS말고 Android] Inflation을 이용하여 부분 Activity 띄우기
[IOS말고 Android] Inflation을 이용하여 부분 Activity 띄우기[IOS말고 Android] Inflation을 이용하여 부분 Activity 띄우기
[IOS말고 Android] Inflation을 이용하여 부분 Activity 띄우기
 
Orient db study
Orient db studyOrient db study
Orient db study
 
Git로 협업하기
Git로 협업하기Git로 협업하기
Git로 협업하기
 
Git란 무엇인가?
Git란 무엇인가?Git란 무엇인가?
Git란 무엇인가?
 
루비온레일즈_01_간단한 정적인 홈페이지 제작
루비온레일즈_01_간단한 정적인 홈페이지 제작루비온레일즈_01_간단한 정적인 홈페이지 제작
루비온레일즈_01_간단한 정적인 홈페이지 제작
 
Git Branch
Git BranchGit Branch
Git Branch
 
bootstrap-scaffolding
bootstrap-scaffoldingbootstrap-scaffolding
bootstrap-scaffolding
 
Basic of web ref.웹을지탱하는기술_01
Basic of web ref.웹을지탱하는기술_01Basic of web ref.웹을지탱하는기술_01
Basic of web ref.웹을지탱하는기술_01
 
Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기
 

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
 
Eclipse rcp 정리(enabled when, contextmenu)
Eclipse rcp 정리(enabled when, contextmenu)Eclipse rcp 정리(enabled when, contextmenu)
Eclipse rcp 정리(enabled when, contextmenu)SangHun Lee
 
계획 Slideshare
계획 Slideshare계획 Slideshare
계획 SlideshareSangHun Lee
 
Sass 공부하기 slidshare
Sass 공부하기 slidshareSass 공부하기 slidshare
Sass 공부하기 slidshareSangHun Lee
 
Drawing web app in amazon server
Drawing web app in amazon serverDrawing web app in amazon server
Drawing web app in amazon serverSangHun 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
 
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
 
Html5 video
Html5 videoHtml5 video
Html5 video
 
계획 Slideshare
계획 Slideshare계획 Slideshare
계획 Slideshare
 
Sass 공부하기 slidshare
Sass 공부하기 slidshareSass 공부하기 slidshare
Sass 공부하기 slidshare
 
Bootstrap
BootstrapBootstrap
Bootstrap
 
Drawing web app in amazon server
Drawing web app in amazon serverDrawing web app in amazon server
Drawing web app in amazon server
 
오븐
오븐오븐
오븐
 
모비즌
모비즌모비즌
모비즌
 

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

  • 2. 저자 : 야마모토 요헤이 감수자 : 권정혁 역자 : 김성훈 출판사 : 멘토르 다음 내용은 '저자 : 야마모토 요헤이, 감수자 : 권정혁, 역자 : 김성훈' <웹 개발자를 위한 웹을 지탱하는 기술>을 토대로 제작하였음을 알립니다. 구체적인 사항은 이 책을 통해 알면 좋을 것 같습니다.
  • 3. 1. REST 아키텍처 스타일을 따른다 REST 클라이언트/서버 스테이트리스 서버 캐시 유니폼 인터페이스 코드 온 디맨드 계층화 시스템
  • 4. 2. Stateless Server를 가진다. Stateless = 상태가 없는 Stateless Server = 상태가 없는 서버 서버가 클라이언트의 애플리케이션 상태를 보존하지 않는다.
  • 7. 알 수 있는 사실.. 1. 스테이트풀한 대화는 간결하다. 2. 스테이트리스한 대화는 장황하다. 3. 스테이트풀한 대화에서는 서버(점원)는 클라이언트(손님)의 주문 내역을 기억한다. 4. 스테이트리스한 대화에서 클라이언트(손님)는 매번 모든 주문을 반복한다.
  • 8. 3. Stateful 스테이트풀한 아키텍처로는 클라이언트의 수가 증가했을 경우 규모를 확장하기 어렵다.
  • 9. 4. Stateless 클라이언트가 요청 메시지에 필요한 정보를 모두 포함시킨다. '자기 기술적 메시지Self Descriptive Message'라는, 요청을 처리하는데 필요한 정보가 모두 포함되어 있는 메시지를 보낸다. 애플리케이션 상태를 기억할 필요가 없기 때문에 서버 시스템이 단순해진다. 서버는 이제까지의 일은 모두 잊고 새로 오는 요청을 처리하는 데만 집중하면 된다. 따라서 시스템을 확장시키는 것이 용이하다. 클라이언트가 늘어나면 단순히 서버를 증설하면 된다.
  • 10. 4. Stateless 스테이트리스한 아키텍처는 확장성 면에서는 이점이 있지만 결점도 가지고 있다. ① 퍼포먼스 저하 : 송신할 데이터의 양이 많아지며, 인증 등 서버에 부하가 걸리는 처리를 반복한다. ② 통신 에러에 대한 대처 : 현재 애플리케이션 상태를 서버 단에서는 알지 못하기 때문에 중간에 통신에 에러가 생기면 대처하기가 힘들다.
  • 11. REST 아키텍처 스타일을 따른다 REST 클라이언트/서버 스테이트리스 서버 캐시 유니폼 인터페이스 코드 온 디맨드 계층화 시스템
  • 12.
  • 13. 정리 • REST라는 아키텍처를 따른다. • REST의 특징 중에 Stateless가 있다. • Stateless한 서버는 애플리케이션 상태를 기억할 필요가 없기 때문에 서버 시스템이 단순해진다 • 확장성이 용이해진다. • 때로는 복잡한 것보다 간단한 게 낫다