웹 프로그래밍/[ WEB ] 9

[ WEB ] 08. 다양한 인증방식 (Authentication & Authorization)

Authentication & Authorization 인증방식 API KEY 서비스들이 거대해짐에 따라 기능들을 분리하기 시작했는데 이를 위해 Module이나 Application들간의 공유와 독립성을 보장하기 위한 기능들이 등장하기 시작했다. 그 중 제일 먼저 등장하고 가장 널리 보편적으로 쓰이는 기술이 API Key이다. 동작방식 사용자는 API Key를 발급받는다. (발급 받는 과정은 서비스들마다 다르다. 예를들어 공공기관 API 같은 경우에는 신청에 필요한 양식을 제출하면 관리자가 확인후 Key를 발급해준다.) 해당 API를 사용하기 위해 Key와 함께 요청을 보낸다. Application은 요청이 오면 Key를 통해 User정보를 확인하여 누구의 Key인지 권한이 무엇인지를 확인한다. 해당 K..

[ WEB ] 07. OAuth란?

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

[ WEB ] 06. 웹 서버와 WAS의 차이

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

[ WEB ] 05. RESTful 하다는 것은?

RESTful 참고 : https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html RESTful 이란 RESTful은 일반적으로 REST라는 아키텍쳐를 구현하는 웹 서비스를 나타내기 위해 사용되는 용어이다. 'REST API'를 제공하는 웹 서비스를 'RESTful'하다고 할 수 있다. RESTful은 REST를 REST답게 쓰기 위한 방법으로, 누군가가 공식적으로 발표한 것이 아니다 즉, REST 원리를 따르는 시스템은 RESTful이란 용어로 지칭된다. RESTful 의 목적 이해하기 쉽고 사용하기 쉬운 REST API를 만드는 것 RESTful한 API를 구현하는 근본적인 목적이 성능 향상에 있는 것이 아니라 일관적인 ..

[ WEB ] 04. REST API란?

REST API 참고 : https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html 그러면 REST API는 무엇인가? API(Application Programming Interface) : 데이터와 기능의 집합을 제공하여 컴퓨터 프로그램간 상호작용을 촉진하며, 서로 정보를 교환가능 하도록 하는 것 REST API REST 기반으로 서비스API를 구현한 것 최근 OpenAPI, 마이크로 서비스(하나의 큰 애플리케이션을 여러 개의 작은 애플리케이션으로 쪼개어 변경과 조합이 가능하도록 만든 아키텍쳐) 등을 제공하는 업체 대부분은 REST API를 제공한다. REST API 특징 사내 시스템들도 REST 기반으로 시스템을 분산해 확장성과 재사용성을 높여 유..

[ WEB ] 03. REST란?

REST 참고 : https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html REST : 웹 (HTTP)의 장점을 활용한 아키텍쳐 REpresentationaal State Transfer REST란 REST의 정의 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미. 즉, 자원(resource)의 표현(representation)에 의한 상태 전달 자원(resource)의 표현(representation) 자원 : 해당 소프트가 관리하는 모든 것 ex) 문서, 그림, 데이터, 소프트웨어 자체 등 자원의 표현 : 그 자원을 표현하기 위한 이름 ex) DB의 학생 정보가 자원일 때, 'students'..

[ WEB ] 02. Http Status Code

HTTP status code 클라우드 환경에서 HTTP API를 통신하는 것이 대부분이다. 이 때, 응답 상태 코드를 통해 성공/실패 여부를 확인할 수 있으므로 API 문서를 작성할 때 꼭 알아야 하는 것이 HTTP status code이다. 10x : 정보 확인 20x : 통신 성공 30x : 리다이렉트 40x : 클라이언트 오류 50x : 서버 오류 200번대 : 통신성공 상태코드 이름 의미 200 OK 요청 성공(GET) 201 Create 생성 성공(POST) 202 Accepted 요청 접수O, 리소스 처리X 204 No Contents 요청 성공O, 내용 없음 300번대 : 리다이렉트 상태코드 이름 의미 300 Multiple Choice 요청 URI에 여러 리소스가 존재 301 Move P..

[ WEB ] 01. 쿠키와 세션

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

[ WEB ] 00. 브라우저의 동작 방법

브라우저 동작 방법 브라우저가 어떻게 동작하는지 아세요? 웹서핑을 하다보면 우리는 여러 url을 통해 사이트를 돌아다닌다. 이 url이 입력되었을 때 어떤 과정을 거쳐서 출력되는걸까? WEB의 기본적인 개념이지만 설명하기 어려울 것이다.. 렌더링? 파싱? 브라우저 주소 창에 http://naver.com을 입력했을 때 어떤 과정을 거쳐서 네이버 페이지가 화면에 보이는 지 알아보자 브라우저 주요 기능 사용자가 선택한 자원을 서버에 요청하여 브라우저에 표시된다. 자원은 html 문서, pdf, image 등 다양한 형태가 있다. 자원의 주소는 url에 의해 정해진다. 브라우저는 html과 css 명세에 따라 html 파일을 해석해서 표시한다. 이 '명세'는 웹 표준화 기구인 W3C(World ..