http
-
Network - HTTPS & SSLComputer Science/Network 2022. 1. 1. 17:51
HTTP HTTP란? ㆍ 인터넷 상에서 정보를 주고받기 위한 프로토콜이다. ㆍ 클라이언트와 서버 사이에서 이루어지는 요청과 응답에 대한 프로토콜이다. ㆍ 암호화되지 않은 방법으로 데이터를 전송한다는 특징이 있다. 따라서, 악의적인 감청과 데이터가 변조될 가능성이 존재한다. HTTPS HTTPS란? ㆍ 보안이 강화된 HTTP이다. ㆍ 모든 HTTP 요청과 응답 데이터는 네트워크로 보내지기 전에 암호화된다. ㆍ HTTPS는 HTTP의 하부에 SSL과 같은 보안 계층을 제공함으로써 동작한다. HTTPS의 사용 이유 1. 내가 특정 웹 사이트에 보내는 정보를 다른 누군가가 훔쳐보지 못하게 하기 위해서이다. 2. 내가 접속한 웹 사이트가 신뢰할 수 있는 사이트인지 판별하기 위해서이다. (기관으로부터 검증된 사이트..
-
Delivery Together - JWT 인증방식의 로그인(1)Projects/Problem & Solution 2021. 12. 23. 23:50
JWT의 사용 이유 HTTP 프로토콜의 문제점 REST API가 있고 권한이 있는 사용자에게만 액세스를 제한하려고 한다는 상황을 가정해 보겠다. 가장 단순한 접근 방식은 API가 사용자 이름과 비밀번호를 요청하는 것이다. 그리고 해당 정보가 실제로 존재하는지를 데이터베이스에서 검색해 인증을 확인한다. 마지막으로 인증된 사용자에게 해당 요청을 수행할 권한이 있는지 확인한다. 두 검사 모두 통과하면 실제 API가 실행되는 것이다. 하지만 문제점이 있다. HTTP 프로토콜은 Stateless로 동작한다. 위 그림과 같이 새 요청(GET/order/42)은 이전 요청에 대해 아무것도 알지 못하기 때문에 새 요청마다 다시 인증을 해야 하는 절차가 추가된다. 즉, 새로운 요청이 있을 때마다 리소스가 소모된다는 뜻이..
-
Web - GET & POSTWeb/Web 2021. 12. 15. 16:25
GET GET이란? ㆍ GET 방식은 클라이언트에서 서버로부터 어떠한 정보를 요청하기 위해 사용이 되는 방식이다. ㆍ 정보 요청에 필요한 데이터를 URL 주소 끝에 파라미터로 포함되어 전송이 되며, 이 부분을 쿼리 스트링(Query String)이라고 부른다. GET 방식의 예 : www.example.com/show?name01=value01&name02=value02 ㆍ 서버에서는 name01과 name02라는 파라미터 명으로 각각 value01과 value02의 값을 전달받을 수 있다. GET의 특징 ㆍ GET 요청은 불필요한 요청을 제한하기 위해 요청이 캐시 될 수 있다. ㆍ 파리미터에 내용이 노출되기 때문에 민감한 데이터를 다룰 때는 GET 요청을 사용해서는 안된다. ㆍ GET 요청은 브라우저 ..
-
Network - HTTPComputer Science/Network 2021. 12. 13. 16:03
HTTP HTTP란? ㆍ HTTP는 HyperText Transfer Protocol의 약자로 www 상에서 사용이 되는 프로토콜이다. ㆍ 1990년대 Tim Berners-Lee가 World Wide Web을 만들고, 하이퍼텍스트 문서들을 주고받기 위한 규약으로 만든 것이 HTTP이다. ㆍ 현재는 문서들 뿐만 아니라 이미지, 비디오, 음성 등 거의 모든 형식의 데이터를 전송하는 데 사용되고 있다. ㆍ HTTP는 서버와 클라이언트 사이에 요청과 응답을 주고받는 프로토콜로, 우리가 흔히 웹 브라우저 주소창에 입력하는 웹 주소인 URL을 통해 이루어진다. ㆍ 실제 전송은 TCP를 통해 이루어지며 포트는 80번을 이용한다. HTTP 버전 ㆍ HTTP 초기에는 버전 표시가 없었고, 이후 업데이트가 되면서 버전 ..
-
SSE 프로토콜을 활용하여 제작한 채팅 애플리케이션Projects/Toy Projects 2021. 9. 28. 11:13
기술 스택 IDE - Visual Studio Code - IntelliJ IDEA Language - HTML - CSS - JavaScript - Java Back-end - Spring Boot - Maven - Lombok Database - Mongo DB 프로젝트 목적 ㆍ 비동기 서버의 특성을 파악한다. ㆍ SSE 프로토콜의 동작 과정을 이해한다. 프로젝트 기능 ㆍ 아이디 입력 기능 ㆍ 채팅방 번호 입력 기능 ㆍ 채팅 기능 비동기 서버의 특성 기존의 서블릿 기반의 스프링(동기 서버) ㆍ 기존의 서블릿 기반의 스프링은 Tomcat을 기반으로 동작하고, 동기방식을 사용한다. ㆍ 동기 서버의 동작 방식은 위 사진과 같이 사용자의 요청이 있을 때마다 스레드가 생성된다. ㆍ 스레드가 많아지면 conte..