카테고리 없음

항해 99 1주차 WIL

MildColor 2022. 9. 25. 23:48

1. 1주차동안 한것

  • 웹개발 플러스 강의를 바탕으로 팀과 함께 웹사이트 만들기
  • 알고리즘 문제 마라톤 완주

 

 이번주차의 KEYWORD

1. JWT(Jason Web Token)

- 정보를 비밀리에 전달하거나 인증할 때 주로 사용하는 토큰으로, Json객체를 이용함

 

JWT는 Json Web Token의 약자로 일반적으로 클라이언트와 서버 사이에서 통신할 때 권한을 위해 사용하는 토큰이다. 웹 상에서 정보를 Json형태로 주고 받기 위해 표준규약에 따라 생성한 암호화된 토큰으로 복잡하고 읽을 수 없는 string 형태로 저장되어있다.

 

JWT의 구성요소

JWT는 헤더(header), 페이로드(payload), 서명(signature) 세 파트로 나눠져 있으며, 아래와 같은 형태로 구성되어 있다.

 

JWT의 동작원리

JWT의 동작원리에 대해서는 다음과 같이 설명할 수 있다.

  1. 사용자가 id와 password를 입력하여 로그인 요청을 한다.
  2. 서버는 회원DB에 들어가 있는 사용자인지 확인을 한다.
  3. 확인이 되면 서버는 로그인 요청 확인 후, secret key를 통해 토큰을 발급한다.
  4. 이것을 클라이언트에 전달한다.
  5. 서비스 요청과 권한을 확인하기 위해서 헤더에 데이터(JWT) 요청을 한다.
  6. 데이터를 확인하고 JWT에서 사용자 정보를 확인한다.
  7. 클라이언트 요청에 대한 응답과 요청한 데이터를 전달해준다.

 

 

2. API(Application Programming Interface)

API는 정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘입니다.

 

 만약 자판기를 우리가 사용하고자 한다. 

우리는 자판기 기계가 내부적으로 어떻게 동작하는지 몰라도 인터페이스를 통해 기계를 쉽게 사용할 수 있다.

 

 다양한 기기에서 서버에 잇는 데이터를 읽고 쓰기 위해서는 서버에서 제공하는 Web API를 이용해서 처리할 수 있습니다. 

네트워크에서 기기들과 의소소통을 해나가는 규격사항을 HTTP라고 부르고 이런 Web API를 어떻게 디자인해서 만들건지 정의하는 것이 있다. 

 

 과거에는 SOAP이라는 모든 네트워크 요청과 반응을 HTML처럼생긴 XML이라는 데이터 포맷에 저장해서 주고 받았다면, 

요즘에는 REST가 보편적으로 많이 사용되어진다.  

 

REST는 총 4가지로 구성되어져 있다.

=> Post, Get, Put, Delete

=> Get을 이용하여 유저에 대한 정보를 요청하면 서버로부터 유저에 대한 데이터를 JSON이라는 포맷을 통해서 받아올 수 있다. 

이처럼 서버에서 제공하는 Web API를 통해서 서버에 있는 데이터를 읽어오거나 업데이트 할 수 있습니다. 

 

이제는 이런 Web API 뿐만아니라 라이브러리나 프레임워크에서 이용할 수 있는 클래스나 함수들을 API라고 부른다. 

=> filesAPIs, DOMAPIs, LocationAPIs....

 

이처럼 API들은 내부에서 구현사항들을 잘 숨겨두고 외부에서 사용하는 사람이 필요한 것만 노출해 두고 이것을 인터페이스, API라고 부른것.

 

 

2. 좋았던점

  •  좋은 팀을 만나 하나의 결과물을 낸 것
  • 처음 도전해서 막막했던 알고리즘 문제도 쉬운난이도지만 하나씩 해결해 나가면서 마라톤 문제들을 끝냈다는것.

 

3. 개선할점 / 아쉬운점

  • 아무래도 하루를 끝낼즈음에 TIL을 몰아서쓰려니 쉽게 쓰여지지 않고, 정리할 양이 많아져서 쓰는게 쉽지 않아진다. 
  • 문제를 풀면서 배우는게 있을때, 간단하게라도 원리나 개선사항을 메모장에 적어놓는 습관을 들였으면 시간도 절약하고, 효율적으로 TIL을 쓸 수 있었을 것.
  • 배우는게 있을 때마다 간단하게라도 메모해두면서 미리 TIL 쓸것을 적어두자.

 

4. 목표

  • 알고리즘 문제 

       마라톤 문제까지 끝냈으니, challenge 문제 끝까지 도전하기

 

  • JS문법 및 메소드 정리 

        자주 사용하는 메소드부터 정리해보자

 

  • 웹개발 플러스 강의 JWT 부분 수강하기

 

참고자료

https://www.youtube.com/watch?v=ogT267HvNuQ 

https://mangkyu.tistory.com/56

 

[Server] JWT(Json Web Token)란?

현대 웹서비스에서는 토큰을 사용하여 사용자들의 인증 작업을 처리하는 것이 가장 좋은 방법이다. 이번에는 토큰 기반의 인증 시스템에서 주로 사용하는 JWT(Json Web Token)에 대해 알아보도록 하

mangkyu.tistory.com

https://velog.io/@hahan/JWT%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80

 

JWT란 무엇인가?

JWT(Json Web Token) > 정보를 비밀리에 전달하거나 인증할 때 주로 사용하는 토큰으로, Json객체를 이용함 JWT는 Json Web Token의 약자로 일반적으로 클라이언트와 서버 사이에서 통신할 때 권한을 위해

velog.io