JWT Cookie Session 비교
·
컴퓨터 과학 [CS]
최근에는 인증과 인가를 위해 jwt와 session, 쿠키를 많이 사용합니다. 하지만 이들의 차이점을 모르는 분들이 많아 혼란스러워하고 계실 것입니다. 이번에는 jwt, session, 쿠키의 차이점과 장단점에 대해 알아보도록 하겠습니다. jwt와 session, 쿠키는 어떤 차이점이 있나요? jwt는 json web token의 약자로, 클라이언트와 서버 간 정보를 주고받을 때 사용하는 토큰입니다. jwt는 서버에서 발급하며, 발급된 토큰은 클라이언트에 저장됩니다. 이후 클라이언트는 서버에 요청을 보낼 때마다 토큰을 함께 전송하며, 서버는 이를 검증하여 인증과 인가를 수행합니다. 이러한 방식은 서버의 상태를 유지하지 않기 때문에 확장성이 높고, CORS와 같은 문제를 해결할 수 있습니다. 반면, ses..
[nodejs] REST API란 무엇인가(원칙 6가지)
·
Nojde.js
1. Uniform interface하나의 자료는 하나의 URL로URL 하나를 알면 둘을 알 수 있어야함요청과 응답은 정보가 충분히 들어있어야함2. Cliemnt-Server 역할구분브라우저는 요청만 할 뿐서버는 응답만 할 뿐3. Stateless요청1과 요청2는 의존성이 없어야함4. Cacheable서버에서 보내주는 정보들은 캐싱이 가능해야함캐싱을 위한 버전 같은 것도 관리 잘해야함5. Layered System6. Code on Demand REST API 이름짓기 원칙URL을 명사로 작성하위문서를 나타낼 때는 '/'파일확장자(.html) 쓰지말기띄어쓰기는 대시(-) dldyd자료 하나당 하나의  URL
[nodejs] nodemon 패키지 설치 & HTML 파일 전송
·
Nojde.js
npm initnodemon server.js아래와 같은 오류가 생긴다. 권한이 없어서 생기는 오류powershell에 관리자로 접속한다.위와 같은 코드를 입력하여 제한된 권한을 풀어준다. 다시 nodemon 패키지를 설치한다.nodemon server.js서버에서 HTML 파일전송// server.jsconst express = require('express');const app = express();app.listen(8080, function(){ console.log('listening on 8080')});// '/' 하나만 입력해주면 홈페이지로 연결시켜준다.app.get('/', function(request, response){ response.sendFile(__dirname +..
[nodejs] express로 GET request 받기
·
Nojde.js
// 필수로 라이브러리를 선언해주어야 한다.const express = require('express'); const app = express();// listen -> 포트 번호 설정 localhost:8080 -> 8080서버 요청app.listen(8080, function(){ console.log('listening on 8080')}); // server를 열 수 있다.// url에 test를 요청 받을시 response를 통해 html 파일 또는 텍스트를 보낼 수 있다.app.get('/test', function(request, response){ response.send('request 테스트')})
[nodejs] nodejs & express 설치
·
Nojde.js
npm initserver.js -> 작업할 파일 이름 설정npm install expressserver.js 파일에 아래와 같은 코드가 생성된다.{ "name": "nodejs_coding", "version": "1.0.0", "description": "", "main": "server.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "dependencies": { "express": "^4.18.1" }}
[JavaScript] 제어문
·
Javascript
조건문 var x= 10, y=20; if (x==y) { document.write("x와 y는 같습니다.") } var x = 10; switch (typeof x) { case "number": document.write("변수 x의 타입은 숫자입니다."); break; case "string": document.write("변수 x의 타입은 문자열입니다."); break; defualt: document.write("변수 x의 타입을 모르겠습니다."); break; } 반복문 do/while문은 먼저 루프를 한 번 실행한 후에 표현식을 검사합니다. 즉, do/while 문은 표현식의 결과와 상관없이 무조건 한 번은 루프를 실행합니다. for (var i = 1; i < 10; i++) { docu..
[JavaScript] JavaScript Basic
·
Javascript
JavaScript란? 자바스크립트는 객체(object) 기반 스크립트 언어 웹의 동작을 구현할 수 있다. 주로 웹 브라우저에서 사용, Node.js와 같은 프레임워크 사용하여 서버 작업을 할 수 있다. 컴퓨터 스마트폰 등 대부분의 웹 브라우저에 자바스크립트 인터프리터가 내장됨 자바스크립트의 특징 객체 기반의 스크립트 언어 동적이며, 타입을 명시할 필요 없는 인터프리터 언어 객체 지지향형 프로그래밍과 함수형 프로그래밍 모두 표현 자바스크립트의 활용 HTML의 '내용' 변경 HTML의 '속성' 변경 HTML의 '스타일' 변경 자바스크립트 출력 window.alert() HTML DOM 요소를 이용한 innerHTML 프로퍼티 ex) str = documnet.getElementByID("text"); st..
[Web Scraping] Requests
·
Web Scraping
Requests 이용하는 법 Requests를 설치한 후 import 해준다. requests.get()을 이용해 페이지를 불러올 수 있다. import requests res = requests.get("http://google.com") res.status_code 를 통해 정상적으로 불러올 수 있을지 없을지를 판단한다. 값이 200이 나온다면 정상으로 처리한다. if res.stauts_code == requests.codes.ok: print("정상") else: print("문제. [에러코드 ", res.status_code, "]") 또 다른 방법으로는 res.raise_for_status()를 이용할 수 있다. res.raise_for_status() # 오류가 생기면 오류를 내고 끝낸다. ..