반응형

개발/Web 20

[Web] Https 는 어떻게 동작할까

갑자기 생각이 들었다. 이렇게 대충 알고 있어서야 내가 과연 네카라 개발자가 될 수 있을까 라고. 어쨌든 내 뇌를 깨어나게 해준 HTTP 완벽 가이드 와 후배 yom-hardy 에게 감사를 표한다. Https 란 우선 Https 는 무엇에 대한 약자인가. wikipedia 에서는 다음과 같이 표현하고 있다. HyperText Transfer Protocol over Secure Socket Layer HTTP over TLS HTTP over SSL HTTP Secure https 를 사용하면 모든 http 요청과 응답 데이터는 네트워크로 보내지기 전에 암호화된다. 간단하게 https 에 대해서 알고 싶다면 위의 내용만 알면 된다. https 는 http 와 다르게 SSL, TLS 를 이용하여 구현된다...

개발/Web 2021.05.24

[Web] Access Token 과 Refresh Token

access token 과 refresh tokenOAuth 인증에 성공하면 Access Token 과 Refresh Token 을 얻게 된다고 한다.Kakao Developers 에서는 이 두 가지 토큰을 묶어 사용자 토큰이라고 부른다고 한다.Access Token 과 Refresh Token 에 대해서 알아보기 전에 OAuth 의 동작 과정을 간단히 살펴보도록 하겠다. 물론, 해당 내용은 TIL 어딘가에 내가 마크 다운으로 정리해놓았었다.1. 사용자가 SNS 로그인 버튼 눌렀음. 2. 해당 SNS 에 연결된 자격정보를 통해 사용자 인식 3. 자격정보가 올바르면 사용자로부터 접근 자원에 대한 동의 및 허가를 얻음 4. 리소스 서버(SNS 서버)에서 인증코드를 클라이언트에게 발급. 5. 인증코드를 기반으..

개발/Web 2018.08.23

[Web] Nginx 란

NGINX이번에는 NGINX 에 대해서 정리를 해보겠다.nginx 는 트래픽이 많은 웹사이트를 위해 확장성을 위해 설계한 비동기 이벤트 기반 구조의 웹서버이다.Introduction우선 웹서버로 기존에 apache 가 존재했었다. apache 는 다양한 기능과 써드파티 확장기능과 함께 어떠한 웹 어플리케이션 개발에도 적용할 수 있는 웹서버가 되었지만, 클라이언트 접속 당 CPU 와 메모리 사용량이 증가함으로써 확장성이 떨어진다는 단점이 있었다.그래서 대량의 클라이언트를 관리하기 위한 웹서버가 필요시되었고, 그래서 나온 것이 nginx 였다.nginx 는 event 기반으로 동작하기 때문에 apache 와 같이 각각의 웹페이지 요청을 처리하기 위해 새롱누 precess or thread 를 생성하지 않는다..

개발/Web 2018.05.02

Serverless 란

Serverless 란?Serverless 란 서버가 없다는 의미가 아닌 BaaS(Backend as a Service) 또는 FaaS(Function as a Service) 에 의존해 작업을 처리한다는 의미이다.정의는 위와 같은데 쉽게 생각하면 전산실이 없다 라고 생각하면 될 것 같다. 보통 회사마다 하드웨어, 네트워크, 운영체제 등 인프라를 관리하는 전산실이 있을 것이다. 그 대신 AWS lambda라던가 FireBase 같은 것을 사용한단 뜻이다.BaaS (Backend as a Service)Firebase 같은 것을 생각하면 된다. 개발에 있어서 필요한 다양한 기능들(DB, SNS 연동 등)을 API 로 제공해 줌으로써, 쉽고 빠르게 구현할 수 있게 해주고 비용은 사용한 만큼 나가게 된다. 서..

개발/Web 2018.03.27

[Web] 대칭키와 공개키 알고리즘

대칭키와 공개키대칭키 알고리즘대칭키는 아주 간단하다.송/수신자가 동일한 키에 의하여 암호화 및 복호화 과정을 의미한다.대칭키의 특징은 다음과 같다.많은 정보기술과 상호 운용이 쉽다.데이터 처리량도 거뜬하다.내부 구조가 간단한 치환과 순열의 조합으로 되어 있어서 적절한 암호 알고리즘을 쉽게 개발할 수 있다.송/수신자가 동일한 키를 공유해야 해서 여러 사람과 정보 교환 시 많은 키를 유지 관리하여야 하는 어려움공개키 알고리즘공개키 알고리즘은 살짝 헷갈릴 수도 있다.비밀키와 공개키라는 두 개의 키를 사용해, 하나는 타인에게 제공되고 나머지 하나는 사용자 자신만이 사용한다. 송신자가 수신자에게 어떤 메세지를 보낼 때, 수신자의 공개키를 이용해 암호화해서 송신하면, 수신자는 자신에게 도착한 암호문을 자신의 비밀키..

개발/Web 2017.11.13

[Web] Long Polling 정의 및 방식

Long PollingLong Polling 이란?Long Polling 이란 기존의 주기적인 Polling 방식(주기적으로 요청하여 결과를 확인하는 방식) 대신 요청에 대한 응답을 서버 이벤트 발생 시점에 응답하는 방식이다.Long Polling 방식Long Polling 방식은 실시간 메시지 전달이 중요하지만, 서버의 상태 변경이 빈번하게 발생하지는 않는 서비스에 적합하다고 한다.스트리밍처럼 요청에 대한 응답을 완료하지 않는 상태에서 데이터를 계속 내려받는 방식이 아니라, 특정 시간이 지나면 해당 요청/응답 트랜잭션을 완료하고 새로운 요청을 하는 방식으로 구현이 되어있다.스트리밍 방식은 한 번 요청 후 응답을 완료하지 않고 해당 응답 스트림으로 필요할 때마다 데이터를 전송하는 방식이다.즉, 서버에 요..

개발/Web 2017.11.13

[Web] OAuth 정의와 원리

OAuthOAuth 란?기존의 기본인증이었던 아이디와 비밀번호가 보안상 취약했기 때문에 만든 표준화 된 인증방식으로, 웹, 앱 서비스에서 제한적으로 권한을 요청해 사용 할 수 있는 키를 발급해주는 방식이다.OAuth 의 원리먼저, OAuth 에 대해서 이야기하기 위해서는 3가지가 필요하다. User, Client, Resource Server:(Server) 란 개념이 필요하다.Resource Server 는 쉽게 말하면 Facebook, Google 이라고 생각하자.Client 에서는 Resource Server 에 User 에 대한 데이터를 가져와서 User 에게 어떠한 서비스를 제공한다고 하자.그렇다면 Clent 는 Resource Server 에 해당 Service 를 이용하기 위해 등록을 하게 ..

개발/Web 2017.11.13

[WEB] Session 처리 기술

Session : 서버에 데이터를 저장하는 기술 - 여러 컴포넌트(웹 컨테이너 상에 존재하는 웹 페이지)들이 협력 작업을 시작해서 끝날 때까지의 기간(데이터가 연속적으로 유지)의 의미 서블릿 클래스에서 세션 사용- 세션을 만드는 쪽 HttpSession session = request.getSession(); String name = (String)session.getAttribute("name"); JSP 에서 세션 사용- 세션을 만드는 쪽 // 내장 객체로서 세션 객체 바로 (doGet() / doPost() 내에서) 사용하면 됨 String name = (String) session.getAttribute("name"); 세션의 주요 함수- 세션 삭제 // 전체 삭제 session.invalidat..

개발/Web 2017.05.17

[WEB] Cookie 처리 기술

Cookie - 클라이언트 브라우저에 저장하는 기술 - 웹 컴포넌트 간의 데이터 전달을 위해서 만든 기술 - 웹 브라우저 쪽에 데이터를 저장하고 읽어오는 방식을 취함 쿠키 객체 하나로 표현되는 단위 데이터인 쿠키 생성 response.addCookie(cook); 쿠키 데이터 읽기- 쿠키 정보 일괄 획득 response.addCookie( new Cookie("name", "tomas") ); // 키 값 동일하면 수정 쿠키 삭제 Cookie cook = new Cookie("name", "홍길동"); cook.setPath("/in/main/"); // 위의 코드가 없을 경우 모든 페이지에 쿠키가 들어간다. response.addCookie(cook); - 쿠키가 여러 웹 서버로 전송하는 방식

개발/Web 2017.05.17
반응형