HTTP: HyperText Transfer Protocol, 하이퍼텍스트(HyperText)를 전송(Transfer)하기 위해 사용되는 통신 규약(Protocol). HTML과 같은 문서를 사용자 컴퓨터에 설치된 웹 브라우저가 웹 서버에 요청할 때의 규칙이라고 할 수 있다.
클라이언트가 TCP 80 포트를 사용해 연결하면 서버는 요청에 응답하면서 자료를 전송한다.
HTTP는 정보를 텍스트로 주고 받기 때문에 네트워크에서 전송 신호를 인터셉트 하는 경우 원하지 않는 데이터 유출이 발생할 수 있다.
이러한 보안 취약점을 해결하기 위한 프로토콜이 HTTP에 S(Secure Socket)가 추가된 HTTPS이다.
사용 목적 등은 HTTP와 거의 동일하지만, 데이터를 주고 받는 과정에 보안 요소가 추가되었다는 것이 가장 큰 차이점이다. HTTPS를 사용하면 서버와 클라이언트 사이의 모든 통신 내용이 암호화된다.
공개키 암호화 방식과 공개키의 느리다는 단점을 보완한 대칭키 암호화 방식을 함께 사용한다. 공개키 방식으로 대칭키를 전달하고, 서로 공유된 대칭키를 가지고 통신하게 된다.
19장 프로토타입
for ... in 문
객체의 모든 프로퍼티를 순회하며 열거하려면 for ... in 문을 사용한다.
프로퍼티 개수 만큼 순회하며 변수 선언문에서 선언한 변수에 프로퍼티 키를 할당한다.
객체의 프로토타입 체인 상에 존재하는 모든 프로토타입의 프로퍼티 중에서 프로퍼티 어트리뷰트 값이 true인 프로퍼티를 순회하며 열거한다.
Object.keys/values/entries 메서드
객체 자신의 고유 프로퍼티만 열거하기 위해서는 for ...in문 보다 Object.keys/values/entries 메서드를 사용한다. 이는 각각 프로퍼티 키, 값, 키와 값을 배열로 반환한다.
프로젝트 배포 못했다. 다시 다듬고 하기로