REST API

REST API REST : 웹 (HTTP) 의 장점을 활용한 아키텍쳐 1. REST (REpresentational State Transfer) 기본 REST의 요소 Method Method 의미 Idempotent POST Create No GET Select Yes PUT Update Yes DELETE Delete Yes Idempotent : 한 번 수행하냐, 여러 번 수행했을 때 결과가 같나? Resource http://myweb/users와 같은 URI 모든 것을 Resource (명사)로 표현하고, 세부 Resource에는 id를 붙임 Message 메시지 포맷이 존재 : JSON, XML 과 같은 형태가 있음 (최근에는 JSON 을 씀) HTTP POST, http://myweb/use..

Cookie & Session

Cookie & Session Cookie Session 저장위치 Client Server 저장형식 Text Object 만료시점 쿠키 저장시 설정 (설정 없으면 브라우저 종료 시) 정확한 시점 모름 리소스 클라이언트의 리소스 서버의 리소스 용량제한 한 도메인 당 20개, 한 쿠키당 4KB 제한없음 저장 위치 쿠키 : 클라이언트의 웹 브라우저가 지정하는 메모리 or 하드디스크 세션 : 서버의 메모리에 저장 만료 시점 쿠키 : 저장할 때 expires 속성을 정의해 무효화시키면 삭제될 날짜 정할 수 있음 세션 : 클라이언트가 로그아웃하거나, 설정 시간동안 반응이 없으면 무효화 되기 때문에 정확한 시점 알 수 없음 리소스 쿠키 : 클라이언트에 저장되고 클라이언트의 메모리를 사용하기 때문에 서버 자원 사용하지..

브라우저 동작 방법

브라우저 동작 방법 *"브라우저가 어떻게 동작하는지 아세요?"* 웹 서핑하다보면 우리는 여러 url을 통해 사이트를 돌아다닌다. 이 url이 입력되었을 때 어떤 과정을 거쳐서 출력되는걸까? web의 기본적인 개념이지만 설명하기 무지 어렵다.. 렌더링..? 파싱..? 브라우저 주소 창에 http://naver.com을 입력했을 때 어떤 과정을 거쳐서 네이버 페이지가 화면에 보이는 지 알아보자 오픈 소스 브라우저(크롬, 파이어폭스, 사파리 등)로 접속했을 때로 정리 브라우저 주요 기능 사용자가 선택한 자원을 서버에 요청, 브라우저에 표시 자원은 html 문서, pdf, image 등 다양한 형태 자원의 주소는 URI에 의해 정해짐 브라우저는 html과 css 명세에 따라 html 파일을 해석해서 표시함 이 ..

JSON이란 무엇인가?

JSON (JavaScript Object Notation) JavaScript Object Notation라는 의미의 축약어로 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 DATA 교환 형식 Javascript에서 객체를 만들 때 사용하는 표현식을 의미한다. JSON 표현식은 사람과 기계 모두 이해하기 쉬우며 용량이 작아서, 최근에는 JSON이 XML을 대체해서 데이터 전송 등에 많이 사용한다. JSON은 데이터 포맷일 뿐이며 어떠한 통신 방법도, 프로그래밍 문법도 아닌 단순히 데이터를 표시하는 표현 방법일 뿐이다. JSON 특징 서버와 클라이언트 간의 교류에서 일반적으로 많이 사용된다. 자바스크립트 객체 표기법과 아주 유사하다. 자바스크립트를 이용하여 JSON 형식의 문서를 쉽게 자바스크립트 ..

OAuth

OAuth Open Authentification 인터넷 사용자들이 비밀번호를 제공하지 않고, 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수있는 개방형 표준 방법 이러한 매커니즘은 구글, 페이스북, 트위터 등이 사용하고 있으며 타사 애플리케이션 및 웹사이트의 계정에 대한 정보를 공유할 수 있도록 허용해준다. 사용 용어 사용자 : 계정을 가지고 있는 개인 소비자 : OAuth를 사용해 서비스 제공자에게 접근하는 웹사이트 or 애플리케이션 서비스 제공자 : OAuth를 통해 접근을 지원하는 웹 애플리케이션 소비자 비밀번호 : 서비스 제공자에서 소비자가 자신임을 인증하기 위한 키 요청 토큰 : 소비자가 사용자에게 접근권한을 인증받기 위해 필요한 정보가 담겨있음 접근 ..

Web Server와 WAS의 차이

Web Server와 WAS의 차이 웹 서버와 WAS의 차이점은 무엇일까? 서버 개발에 있어서 기초적인 개념이다. 먼저, 정적 페이지와 동적 페이지를 알아보자 Static Pages 바뀌지 않는 페이지 웹 서버는 파일 경로 이름을 받고, 경로와 일치하는 file contents를 반환함 항상 동일한 페이지를 반환함 image, html, css, javascript 파일과 같이 컴퓨터에 저장된 파일들Dynamic Pages 인자에 따라 바뀌는 페이지 인자의 내용에 맞게 동적인 contents를 반환함 웹 서버에 의해 실행되는 프로그램을 통해 만들어진 결과물임 (Servlet : WAS 위에서 돌아가는 자바 프로그램) 개발자는 Servlet에 doGet() 메소드를 구현함 웹 서버와 WAS의 차이 웹 서버..