본문 바로가기

Web8

DNS(Domain Name System) DNS란?? DNS는 Domain Name System의 약자로, IP 주소와 도메인 주소를 연결해주는 시스템이다. 예를 들어, IP 주소가 44.342.03.244이고, 도메인 주소가 www.eatceed.com 이라고 하자. 해당 IP 주소와 도메인 주소가 관계가 있다는 것을 알려주는 시스템이 있어야한다. 사용자는 IP 주소가 무엇인지 일일이 외울 수 없다. 따라서, 도메인 주소를 검색하면 DNS에 해당 도메인 주소와 IP 주소가 매핑되어 있기 때문에 사용자가 IP 주소를 몰라도 도메인 주소를 통해 해당 IP에 접근할 수 있는 것이다. 예시를 그림으로 나타내면 아래와 같다. 먼저, 사용자가 www.exceed.com 으로 요청을 하면, DNS에서 도메인 주소와 매칭되는 IP 주소를 반환한다. 웹은 해.. 2024. 1. 21.
토큰을 사용한 인증과 인가 https://rasony.tistory.com/148 토큰을 사용하는 이유로그인을 세션으로 구현한다고 하면 주변에서 시선이 느껴지는 경험을 다들 해본 적이 있을 것이다. 그렇다면 쿠키와 세션으로 로그인을 구현하면 도대체 어떤 문제가 발생하길래 다들 이렇게rasony.tistory.com 안녕하세요. 최근에 에코노베이션 동아리 주간발표 시간에 토큰을 활용한 인증과 인가에 대해서 발표하였습니다.이에 대한 내용을 다시 한번 정리해보려고 합니다. AccessToken과 RefreshToken이란? AccessToken은 사용자가 자원에 접근하기 위해서 사용하는 토큰입니다. 그리고, RefreshToken은 기존의 사용자의 AccessToken이 만료되었을 때 재발급 받기 위해 사용됩니다.  즉, AccessT.. 2023. 7. 10.
토큰을 사용하는 이유 로그인을 세션으로 구현한다고 하면 주변에서 시선이 느껴지는 경험을 다들 해본 적이 있을 것이다. 그렇다면 쿠키와 세션으로 로그인을 구현하면 도대체 어떤 문제가 발생하길래 다들 이렇게 반응하는 걸까?? 지금부터 쿠키와 세션으로 로그인을 구현하는 방법과 각각의 한계에 대해서 알아보고, 이를 극복할 수 있는 토큰을 사용하여 로그인을 하는 법에 대해서 알아보도록 하겠다. 먼저, 쿠키를 사용하는 방식이다. 쿠키 위키백과에서 쿠키에 대한 정의는 아래와 같다. HTTP 쿠키(HTTP cookie)란 하이퍼 텍스트의 기록서(HTTP)의 일종으로서 인터넷 사용자가 어떠한 웹사이트를 방문할 경우 사용자의 웹 브라우저를 통해 인터넷 사용자의 컴퓨터나 다른 기기에 설치되는 작은 기록 정보 파일 필자는 쿠키는 데이터를 담는 그.. 2023. 7. 3.
Postman에서 토큰 자동 설정하는 방법 불편한 점 로그인 후에 토큰이 발급되면, 발급된 토큰을 Header에 담아 매 요청마다 각 Header Authorization에 수동으로 넣는 것은 너무나 불편했다. 개선한 점 환경변수에 token을 생성하여 새로운 토큰이 올 때마다 자동으로 주입되도록 설계했다. 아래는 그 방법을 정리한 것들이다. 1. 먼저 로그인 -> [Tests] 탭에 아래와 같은 코드를 작성해준다. if(pm.response.code === 201){ pm.environment.set('authToken', pm.response.headers.get("Authorization").substring(7)); } 저는 Http의 상태코드가 201일 때 응답의 헤더의 Authorization의 문자열을 authToken에 저장하였습니.. 2023. 5. 14.
JWT에 대하여 JWT(Json Web Token)는 당사자 간에 정보를 JSON 개체로 안전하게 전송하기 위한 개방형 표준(RFC 7519)입니다. JWT는 토큰 자체를 정보로 사용하는 Self-Contained 방식으로 HMAC, RSA, ECDSA등으로 서명되어 있어서 신뢰할 수 있습니다. JWT의 구성 요소 JWT는 Header, Payload, Signature로 구성되며 각 부분은 Base64Url로 인코딩 되어 표현됩니다. 또한, 각 부분을 . 구분자를 사용해 구분해줍니다. 참고로, Base64Url은 암호화된 문자열을 반환하는 것이 아니라 같은 문자열에 대해 항상 같은 인코딩된 문자열을 반환해줍니다. Header 헤더는 2개의 key -value로 구성되어 있습니다. typ는 어떤 타입의 토큰인가를 나타내.. 2023. 3. 31.
HTTP 란 무엇일까? HTTP는 HyperText Transfer Protocol이다. HTTP가 인터넷에서 정보를 주고받기 위한 통신 규약이라는 사실은 다들 알고 있을 겁니다. 그렇다면, HTTP가 아래의 특징을 가진다는 사실도 또한 다들 알고 계실 겁니다 클라이언트 서버 구조 무상태 프로토콜(스테이스리스) 비연결성 HTTP 메세지 그럼 각각의 특징들에 대해서 공부해 보겠습니다. 클라이언트 서버 구조 저같은 경우에는 '누군가가 클라이언트 서버 구조가 뭐야?'라고 물어보면, 단순히 클라이언트가 request를 하면 서버가 response를 한다.' 정도로 답할 수 있을 것 같습니다. 하지만, 이번에 HTTP에대해 더 공부해본 결과 이 클라이언트 서버 구조는 백엔드는 비즈니스 로직 처리, 데이터에 집중할 수 있게끔 해주었고, .. 2022. 11. 14.
728x90