HTTPS
기존 HTTP가 위변조에 약하다는 취약점을 보완하기위해 암호화나 인증구조를 더한 것을 HTTPS(HTTPSecure)라고 부른다.
HTTP통신을하는 소켓부분을 SSL(Secure Socket Layer)이나 TLS(Transport Layer Security) 프로토콜로 대체하는 형태이다. 또한 공통키 방식(대칭키)과 공개키 방식(비대칭키)을 혼용해 정보를 암호화한다.
HTTPS는 기존의 HTTP 프로토콜이 가진 위변조 및 도청에 대한 취약점을 보완하기 위해 탄생한 기술이다. HTTPS는 HTTP 통신이 이루어지는 소켓 부분을 보안 프로토콜인 SSL(Secure Socket Layer) 또는 TLS(Transport Layer Security)로 대체하여 안전한 데이터 송수신을 도모한다. 이를 통해 웹 서버와 사용자의 브라우저 사이에서 전송되는 데이터를 암호화하고, 웹 사이트의 신뢰성을 높인다.
HTTPS는 대칭키(공통키) 방식과 비대칭키(공개키) 방식을 혼용한 하이브리드 암호화 구조를 사용한다. 이러한 방식을 통해 세션키라는 공통키를 안전하게 교환한 후, 이후 통신에서는 공유된 세션키를 사용하여 데이터를 암호화하고 복호화한다. 이 과정에서 데이터의 완전성과 기밀성이 보장되며, 공인 인증서를 사용함으로써 웹 사이트의 신원을 확인할 수 있다.
결론적으로, HTTPS는 웹 서버와 클라이언트 간의 통신을 안전하게 보호하기 위한 핵심 기술이다. 기존 HTTP에 비해 데이터의 기밀성과 신뢰성이 크게 향상되며, 이를 통해 웹 서비스의 사용자 경험 및 보안성을 높인다.
ES5문법과 ES6문법의 차이
1. let, const
2. import문
3. map함수
4. arrow function
ES5와 ES6 문법의 차이는 다음과 같다.
1. let, const
: ES5에서는 변수를 선언할 때 var를 사용했다. 그러나 ES6에서는 블록 스코프 변수를 사용할 수 있는 let과 상수를 선언하는 const가 추가되었다. 이를 통해 범위(scope) 문제를 해결하고, 의도하지 않은 변수 값 변경을 방지하여 코드의 안정성이 향상되었다.
2. import문
: ES5에서는 CommonJS나 AMD와 같은 모듈 시스템을 사용했으나, ES6에서는 import, export 문법이 도입되어 자바스크립트의 기본 모듈 시스템을 제공한다. 이를 통해 코드 재사용과 가독성이 증가하며, 라이브러리나 모듈을 쉽게 가져와서 사용할 수 있다.
3. map 함수
: ES6에서는 배열을 다룰 때 다양한 고차 함수가 추가되었다. 그 중에 map 함수는 주어진 배열의 각 요소에 대해 주어진 변환 함수를 실행하고, 새로운 배열을 반환한다. 이를 통해 코드의 가독성을 높이고 반복 구문을 줄일 수 있다.
4. arrow function
: ES6의 화살표 함수(arrow function)는 전통적인 함수 선언과 비교하여 간결한 문법을 제공한다. 또한 화살표 함수는 자신만의 this를 가지지 않고, 상위 스코프의 값을 참조한다. 이를 통해 코드를 단순화할 수 있으며, 복잡한 스코프 문제를 해결한다.
결론적으로, ES6 문법은 ES5 문법에 비해 여러 가지 새로운 기능과 간편한 문법을 도입함으로써 개발자들이 더욱 효율적이고 유연하게 자바스크립트를 활용할 수 있게 된다. 이를 통해 코드의 가독성과 유지 보수성이 향상되며, 더 나은 프로그래밍 경험을 제공한다.
'CS | 기술면접대비' 카테고리의 다른 글
#8 네트워크 서버에서 트래픽 과부화가 발생할 경우 대처방법 | meta태그 (0) | 2023.06.26 |
---|---|
#7 HTTP의 보안상 문제점 | arrow function과 function에서 this가 동작하는 방식의 차이 (0) | 2023.06.22 |
#5 Base64 | falsy (0) | 2023.06.20 |
#4 프로토콜(Protocol) | 이벤트 위임 (0) | 2023.06.18 |
#3 물리계층(Physical Layer) | Doctype (0) | 2023.06.17 |