쿠키와 세션의 차이
쿠키와 세션 모두 인증방식 중 하나입니다. 쿠키와 세션의 가장 큰 차이점은 정보가 저장되는 위치입니다. 쿠키는 클라이언트측에서, 세션은 서버측에서 저장되고 관리됩니다.
정보의 특성에 따라, 사용자의 편의를 위하되 지워지거나 가로채거나 했을 때 큰 문제가 생기지 않을 만한 정보들을 쿠키에, 사용자나 다른 누군가에게 노출되어서는 안되고 서비스제공자가 직접 관리해야하는 정보는 세션에 저장하게 됩니다.
모두 세션에 저장하게 된다면 접속자가 많을 때 서버에 부담이 커지므로 개발자의 판단하에 적절하게 분해해서 저장해주어야 합니다.
쿠키와 세션은 웹 상에서 사용자 인증 및 상태 정보를 저장하는 데 사용되는 방식입니다. 그러나 그들은 몇 가지 핵심 차이점을 가지고 있습니다.
1. 보안
: 세션은 서버측에서 관리되기 때문에 보안성이 더 높습니다. 쿠키는 클라이언트측에서 저장되어 외부 공격에 노출될 가능성이 높다.
2. 유효 기간
: 쿠키는 설정된 만료 기간이 있어 그 시간 동안만 정보를 저장할 수 있습니다. 반면, 세션은 서버와 브라우저 간 연결이 유지되는 동안 지속됩니다.
3. 저장 용량
: 쿠키는 클라이언트측에서 제한된 저장 공간을 사용하므로, 대용량 정보를 저장하기 어렵습니다. 세션은 서버측에서 저장되므로 용량에 대한 제한이 상대적으로 적다.
4. 서버 리소스
: 세션은 서버의 메모리를 사용하므로 많은 사용자가 접속할 때 서버 부하가 커질 수 있습니다. 반면, 쿠키는 클라이언트측에서 처리되므로 서버 부담을 줄일 수 있다.
결론적으로, 쿠키와 세션을 적절하게 사용하여 사용자 인증 및 상태 정보 관리를 처리해야 합니다. 보안이 중요한 정보는 서버측의 세션을 사용하고, 그렇지 않은 정보는 쿠키를 활용하여 서버의 부담을 최소화하는 방안을 고려해야 합니다. 이를 통해 서비스의 전체 성능과 안정성을 높일 수 있습니다.
async / await
promise보다 더 비동기 코드를 개선시키기 위한 패턴입니다. 함수에 async 키워드를 붙이고 비동기로 처리할 함수 앞에 await를 붙입니다. await 뒷부분은 반드시 Promise를 반환해야하고 async자체도 Promise를 반환하는 특성을 갖고 있습니다.
async/await은 비동기 프로그래밍을 더 쉽게 처리할 수 있도록 도와주는 문법입니다. Promise를 기반으로 하는데, 간결한 코드와 가독성 면에서 큰 이점을 제공합니다. async/await에 대한 핵심적인 보완 내용은 다음과 같습니다.
1. 코드 간결성
: async/await는 비동기 코드를 마치 동기 코드처럼 직관적으로 작성할 수 있어서 깔끔한 코드 작성이 가능합니다.
2. 에러 처리
: async/await는 전통적인 try-catch 문을 사용하여 에러 처리를 할 수 있어, 개발자가 보다 쉽게 에러 핸들링이 가능하다.
3. 병렬 실행
: Promise.all과 함께 async/await를 사용하면 여러 비동기 작업을 병렬로 실행할 수 있어 효율적인 작업 처리가 가능합니다.
async/await를 활용하면 비동기 코드 작성이 더 간편해지고, 가독성이 좋아져 코드의 복잡성 문제를 해결하고 에러 처리를 쉽게 할 수 있다. 이를 통해 개발자들은 비동기 작업을 적절하게 조절하고 웹 애플리케이션의 성능을 최적화할 수 있다.
'CS | 기술면접대비' 카테고리의 다른 글
★★ 쿠키와 세션 (정의, 사용이유, 차이점) (0) | 2023.07.04 |
---|---|
#11 HTTP의 비연결성 | Promise (0) | 2023.06.29 |
#9 프록시 서버의 기능 | 콜백 함수 (0) | 2023.06.27 |
#8 네트워크 서버에서 트래픽 과부화가 발생할 경우 대처방법 | meta태그 (0) | 2023.06.26 |
#7 HTTP의 보안상 문제점 | arrow function과 function에서 this가 동작하는 방식의 차이 (0) | 2023.06.22 |