Web

    HTTP와 HTTPS의 차이가 뭐지?

    도메인 주소를 자세히 보면 가장 앞에 http 혹은 https라고 적혀있다. 이전에 http에 대해 포스팅을 진행하면서 http에 대해 알아본 적이 있다. 근데 https는 다뤄본 적이 없다. 그래서 이번 포스팅에서 http와 https의 차이점에 대해 알아보려고 한다. HTTP 이 글은 인프런 김영한 님의 강의 '모든 개발자를 위한 HTTP 웹 기본 지식'을 바탕으로 정리한 내용입니다. HTTP (HyperText Transfer Protocol) HTTP는 HTML과 같은 하이퍼미디어 문서를 전송하기위한 애플리 gwamssoju.tistory.com HTTP와 HTTPS 간단하게 HTTP에 대해 설명을 하면 HTTP는 'HyperText Transfer Protocol'의 줄임말이고, 서로 다른 시스..

    Proxy란 ?

    Proxy란 ?

    이전에 캐시(Cache)에 대해 다루면서 프록시에 대해 간단하게 언급하고 지나간 적이 있는데 오늘은 그 프록시에 대해 좀 더 알아보려고 한다. Proxy란 ? 위 사진을 보면 알 수 있듯이 Proxy는 '대신'이라는 의미를 가지고 있다. 보안상의 이유로 직접 정보를 주고 받을 수 없는 관계에서 Proxy를 이용하여 중계하는 개념이라고 볼 수 있다. 그래서 서버와 클라이언트 사이에서 중계 기능을 하는 서버를 '프록시 서버'라고 한다. Proxy 서버의 종류 프록시 서버는 두 가지로 종류로 나눌 수 있다. Forward Proxy Reverse Proxy 1) Forward Proxy 일반적으로 프록시 서버라고 하면 Forward Proxy를 일컫는다. 클라이언트가 요청을 할 때, 서버에 직접하는 게 아닌 ..

    JWT(Json Web Token)란?

    JWT(Json Web Token)란?

    토큰이란 ? (토큰 기반 인증 VS 서버 기반 인증) 구글 로그인 API를 구현해보려고 여러 블로그에서 정보를 찾다가 "토큰"이라는 말이 눈에 밟혔다. 생각해보니 이전에 세션과 쿠키에 대해 정리한 적은 있는데 토큰은 처음 듣는 말이었다. 그래서 gwamssoju.tistory.com 이전 포스팅에서 서버 기반 인증과 토큰 기반 인증에 대해 알아보았다. 그래서 이번 포스팅에서는 토큰 기반 인증에 쓰이는 JWT에 대해 알아보려고 한다 ! JWT란 ? 인증에 필요한 정보를 암호화시킨 토큰을 의미한다. 요청할 때, JWT를 HTTP 헤더에 포함시켜서 서버가 클라이언트를 식별하는 방식이다. JWT는 언제 사용할까? 권한 부여 : 사용자가 로그인하면 각 후속 요청에 JWT가 포함되어 해당 토큰으로 허용되는 서비스,..

    토큰이란 ? (토큰 기반 인증 VS 서버 기반 인증)

    구글 로그인 API를 구현해보려고 여러 블로그에서 정보를 찾다가 "토큰"이라는 말이 눈에 밟혔다. 생각해보니 이전에 세션과 쿠키에 대해 정리한 적은 있는데 토큰은 처음 듣는 말이었다. 그래서 토큰에 대해 알아보다가 사용자를 인증하는 방법 중에 하나라는 것을 알게 되었고, 그런데 세션을 사용하는 방법이 아닌 토큰을 사용하는 방법을 알게 되니까 우물 안의 개구리임을 다시 한번 실감했다. 그래도 이렇게 하나씩 알아간다는 것이 중요한 거 같다. 각설하고 바로 본론으로 들어가 보자! 1. 서버 기반 인증 기존의 서버 기반 인증은 서버 측에서 사용자들의 정보를 기억하고 있어야 한다. 사용자들의 정보를 기억하기 위해서는 세션을 유지해야 하는데, 이는 메모리, 디스크, 데이터 베이스 등을 통해 관리한다. 클라이언트의 ..

    REST란? REST API 와 RESTful API

    REST란? REST는 REpresentational State Transfer의 약자다. 자원을 이름으로 구분하여 해당 자원의 상태(정보)를 주고받는 것을 의미한다. 월드 와이드 웹(WWW)과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 개발 아키텍처의 한 형식이다. 기본적으로 웹 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용 가능함. REST의 구체적인 개념 HTTP URI를 통해 자원을 명시하고, HTTP Method(Get, Post, Put, Delete)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미한다. REST는 자원 기반 구조(ROA: Resource Oriented Architecture) 설계 중심에 Resource가 있..

    캐시(Cache)

    캐시(Cache)

    저번 포스팅에서 세션과 쿠키에 대해 알아보았다. 그런데 우리가 인터넷을 사용하다 보면 '캐시'라는 말도 들어본 적이 있는 거 같다. 그래서 오늘은 '캐시'에 대해 알아보려고 한다. (이 글은 인프런 김영한 님의 강의 '모든 개발자를 위한 HTTP 웹 기본 지식'을 듣고 정리한 내용입니다.) 캐시(Cache) 캐시는 자주 사용하는 데이터나 값을 미리 복사해놓은 임시 장소를 가리킨다. 캐시가 없을 때, 클라이언트가 이미지 파일을 요청하면 서버가 HTTP 헤더와 HTTP 바디를 응답해준다. 그리고 바로 또다시 같은 파일을 요청하면 처음 요청할 때와 마찬가지로 동일한 크기의 HTTP 헤더와 HTTP 바디를 응답해준다. ○ 캐시가 없으면 ? 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야..

    쿠키와 세션

    공부를 하다가 '쿠키'에 대한 것을 알게 되었다. 웹 프로그래밍 공부를 하기 전에도 '쿠키'라는 것을 들어보았지만 관심이 없어서 지나갔지만 '세션'이라는 것도 사용해보고 '쿠키'라는 것을 배우면서 문뜩 둘의 차이를 알고 싶어 져서 이 글을 쓰게 됐다. HTTP 이 글은 인프런 김영한 님의 강의 '모든 개발자를 위한 HTTP 웹 기본 지식'을 바탕으로 정리한 내용입니다. 그럼에도 잘못된 내용을 댓글로 남겨주신다면 빠르게 수정하도록 하겠습니다. HTTP (Hyper gwamssoju.tistory.com HTTP는 비연결성과 무상태성(Stateless)이라는 특징을 가지고 있다.(이밖에 다른 특징도 가지고 있다.) 비연결성이라고 하면 요청이 들어오면 연결을 했다가 응답을 해줌과 동시에 연결을 끊는다. 그래서..

    HTTP

    HTTP

    이 글은 인프런 김영한 님의 강의 '모든 개발자를 위한 HTTP 웹 기본 지식'을 바탕으로 정리한 내용입니다. HTTP (HyperText Transfer Protocol) HTTP는 HTML과 같은 하이퍼미디어 문서를 전송하기위한 애플리케이션 계층 프로토콜이다. HTML뿐만 아니라 요즘에는 거의 모든 형태의 데이터 전송이 가능하다. 그래서 지금은 HTTP의 시대이다. HTTP의 역사로 놓고 보면 여러 버전이 있지만 HTTP/1.1 버전을 많이 사용하고 주요한 기능들이 다 들어있다. HTTP/2나 HTTP/3 버전도 HTTP/1.1에서 성능을 개선한 버전이다. HTTP는 클라이언트-서버 구조, 무상태성, 비연결성, HTTP 메시지, 단순함, 확장 가능이라는 특징을 가지고 있다. 클라이언트-서버 구조는 클..

    웹 기본 지식

    웹 기본 지식

    프로그래밍에 공부를 하기 전에는 웹사이트가 내가 요청한 페이지를 어떻게 응답해주는지 관심조차 없었다. 하지만 웹 개발에 대한 목표가 생기고 공부를 하면서 알아가는 것이 생겼고 웹을 사용하면서 이전에는 보이지 않는 것들이 조금씩 보이고 있다. 그럼에도 비전공자이기 때문에 들어 보았지만 남에게 뭐라고 설명하기 어려웠던 부분들에 대해 포스팅을 하려고 한다. (인프런에서 김영한 님의 강의를 듣고 공부한 내용을 정리한 글입니다.) IP(Internet Protocol) '인터넷에 서로 다른 두 개의 컴퓨터가 있고 이 둘이 어떻게 통신을 하지?'라는 의문을 가지는 사람이 분명 있을 것이다. 컴퓨터가 세상에 두 개만 있다고 생각하면 사실 별로 어려운 질문은 아니라고 생각한다. 하지만 이 세상에 컴퓨터가 두 개만 있는..