BackEnd/WEB9 [WEB] JWT (Json Web Token)이란? JWT에 대한 공부를 하며 요약도 할겸 스스로 정리하는 글 입니다. 틀린 내용은 댓글 남겨주시면 감사하겠습니다! 1. 탄생 배경 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 기존의 Session 방식은 stateful 한 단점이 있었습니다. 이는 stateless한 HTTP의 특성에도 위배되는 특성이죠! 그럼 왜 stateful이 단점일까? 서버에 session 정보를 저장해두어야 하기 때문에, 사용자의 요청이 많아져 서버를 수평 확장(scale out) 하는 경우 세션 정보를 저장하고 있는 서버로부터 복사를 해와 따로 저장해야 하기 때문에 번거로움이 있습니다. 이러한 문제를 해결하는 방법중 하나로, 각 서버들의 공통된 session 저장소를 만들어서 이 한곳으로부터 .. BackEnd/WEB 2022. 5. 11. [HTTP] HTTP 헤더 - 캐시와 조건부 요청 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. 캐시 기본 동작 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 캐시가 없다면 Client가 요청할때마다 같은 데이터를 계속 새롭게 다운받게 된다는것 정도는 모두 아는내용이다. - 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야 한다. - 인터넷 네트워크는 매우 느리고 비싸다. - 브라우저 로딩 속도가 느리다. - 느린 사용자 경험 이번에는 캐시를 적용시켜 보자! 첫 요청은 다음과 같다. 그림을 살펴보자. GET메서드로 /star.jpg로 요청을 하면 서버에서 캐시의 유효 시간을 설정하고, star.jpg와 함께 보내주게 된다.. BackEnd/WEB 2022. 2. 3. [HTTP] HTTP 헤더 - 일반헤더 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. HTTP 헤더 개요 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 HTTP 헤더의 header-field를 예전에 설명한적이 있다. 다시한번 확인하고 시작하자. ● header-field => field-name":" OWS field-value OWS (OWS:띄어쓰기 허용) - HTTP 전송에 필요한 모든 부가정보가 헤더에 포함되어있다. - 예를 들어 메시지 바디의 내용, 바디의 크기, 압축, 인증, 요청 클라이언트 등등... - 또한 표준 헤더가 너무 많다는 단점이 있다. 우선 과거의 분류 기준을 살펴보자. RFC2616은 1999년도 만들어진.. BackEnd/WEB 2022. 2. 2. [HTTP] HTTP 상태 코드 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. 2xx - 성공 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 ● 200 OK 가장 단순한 상태코드이다. Client에서 어떤 처리를 서버에 요청했을때, 정상적으로 처리되었다면 보통 200을 상태코드로 보여준다. ● 201 Created 클라이언트의 요청이 성공하여 서버쪽에서 새로운 리소스가 생성되었을때 201로 응답해준다. POST로 신규 리소스 등록을 요청할때 서버 쪽에서 등록하여 URI를 정하고, 클라이언트에게 반환해 주는 컬렉션 방식에 사용된다. ● 202 Accepted 클라이언트의 요청이 접수되었으나, 아직 처리가 완료되지 않았을때 사용한.. BackEnd/WEB 2022. 2. 1. [HTTP] HTTP 메서드 활용 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. 클라이언트에서 서버로 데이터 전송 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 ▶ 클라이언트에서 서버로 데이터 전송 클라이언트에서 서버로 데이터 전달 방식은 크게 2가지가 있다. 1) 쿼리 파라미터를 통한 데이터 전송 - GET - 주로 정렬 필터(검색어) 2) 메시지 바디를 통한 데이터 전송 - POST, PUT, PATCH - 회원 가입, 상품 주문, 리소스 등록, 리소스 변경 ▶ 클라이언트에서 서버로 데이터 전송 4가지 상황 1) 정적 데이터 조회 이미지, 정적 텍스트 문서등을 조회하며, 보통 GET을 많이 사용한다. 쿼리 파라미터 없이 단순.. BackEnd/WEB 2022. 1. 31. [HTTP] HTTP 메서드 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. HTTP API를 만들어보자 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 우리에게 회원 목록 조회, 단일 회원 조회, 회원 등록, 회원 수정, 회원 삭제 기능을 갖는 API를 만들라고하면 URI를 어떻게 설계 해야할까? 아직 사전지식이 없다면 다음과 같은 형태를 생각할수 있다. - 회원 목록 조회 /read-member-list - 회원 조회 /read-member-by-id - 회원 등록 /create-member - 회원 수정 /update-member - 회원 삭제 /delete-member 과연 좋은 설계라고 할수있을까? 설계의 핵심은 리소.. BackEnd/WEB 2022. 1. 28. [HTTP] HTTP 기본 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. 모든 것이 HTTP " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 ● HTTP (HyperText Transfer Protocol) 원래 HTTP는 html 파일을 주고받기 위한 프로토콜이였지만, 현재는 거의 모든것을 전송하는 프로토콜이 되었다. - HTML, TEXT - IMAGE, 음성, 영상, 파일 - JSON, XML (API) - 거의 모든 형태의 데이터 전송 가능 - 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용 ● HTTP 역사 크게 3가지 HTTP가 주로 사용된다. - HTTP/1.1 1997년도에 나왔으며, 가장 많이 사용하.. BackEnd/WEB 2022. 1. 27. [HTTP] URI와 웹 브라우저 요청 흐름 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. URI " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 URI는 로케이터(locator) 와 이름(name) 또는 둘다 추가로 분류될 수 있다. https://www.ietf.org/rfc/rfc3986.txt - 1.1.3. URI, URL, and URN ● URI(Uniform Resource Identifier) - Uniform: 리소스 식별하는 통일된 방식 - Resource: 자원, URI로 식별할 수 있는 모든 것(제한 없음) - Identifier: 다른 항목과 구분하는데 필요한 정보 ● URL과 URN URL - Locator : 리.. BackEnd/WEB 2022. 1. 25. [HTTP] 인터넷 네트워크 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. IP (인터넷 프로토콜) " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 Client가 지정한 주소, IP Address에 데이터를 전달하게 된다. 이때 단위가 Packet이라는 단위로 통신하게 된다. (패킷에는 출발지IP, 목적지IP, 등 이 담겨있다) 패킷이 Client로부터 출발하면 인터넷망 상에있는 여러 라우터들얼 거쳐가면서 목적지 서버까지 도달하게 된다. 서버는 잘 전달받았음을 알리기위해 Client에게 긍정 응답을 해준다. 패킷 교환방식의 장점 네트워크 리소스 점유 시간이 적으므로 나머지 컴퓨터들이 기다리게되는 문제를 해결할 수 있다. 클라.. BackEnd/WEB 2022. 1. 25. 이전 1 다음