HTTP와 HTTPS의 차이점

cs지식 2022. 9. 1. 23:41

HTTP는 무엇일까? HTTP는 Hyper Text Transfer Protocol의 약자로, 인터넷 상에서 데이터(Hyper Text)를 주고 받기 위해서(Transfer) 서버/클라이언트 모델을 따르는 프로토콜입니다. 주로 웹 브라우저와 웹 서버간의 커뮤니케이션을 위해서 디자인 되었으며 ?? HTTP는 주로 TCP를 사용하고, 2020년부터 도입된 HTTP/3에서는 UDP를 사용합니다. 또한 기본 포트로 80번을 사용한다는 특징이 있습니다. 서버/클라이언트 모델: 클라이언트가 요청을 생성하기 위한 연결을 연다음 응답을 받을때 까지 대기하는 전통적인 방식 프로토콜: 컴퓨터 내부 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체계 HTTP의 문제점 HTTP 서버는 기본 80번 포트에서 서비스를..

Article Thumbnail
JS 자료구조&알고리즘 (4) - 검색과 정렬

cs지식/자료구조 2022. 7. 13. 16:40

10장. 검색과 정렬 검색 (search) - 검색은 자료 구조 내에 특정 항목을 찾는 일을 말하며, 배열이 정렬됐는지 여부에따라 두 가지 주요 기법이 있다. 선형 검색 배열의 각 항목을 한 인덱스씩 순차적으로 접근하면서 동작한다. 시간 복잡도 : O(n) 배열의 정렬 여부와는 관계없이 동작하기때문에 좋으므로 정렬되지 않은 배열을 검색하기 좋다. function linearSearch(arr, n) { for(var i = 0; i < arr.length; i++){ if (arr[i] == n) return true; } return false; } 이진 검색 (탐색) 중간 값을 확인해서 원하는 값보다 중간 값이 작은지 큰지를 확인하면서 동작한다. 시간 복잡도: O(logn) 이진 탐색은 빠르지만 배열..

JS 자료구조&알고리즘 (3)

cs지식/자료구조 2022. 7. 3. 22:57

7장. 자바스크립트 메모리 관리 메모리 누수 자바스크립트는 타언어와는 달리 프로그래머가 직접 메모리를 수동으로 할당하고 해제하지 않고 사용하지않는 변수, 즉 메모리를 삭제해주는 가비지 컬렉터가 있기 때문에 매니지드언어라고 부른다. 하지만 이러한 기능에도 메모리가 올바른 방식으로 해제되지 않아 메모리 누수가 발생할 수 있기 때문에 이를 피하기위한 여러 방법이 존재한다. 객체에 대한 참조 var foo = { bar1: memory(), // 5kb bar2: memory(), // 5kb } function clickEvent() { alert(foo.bar1[0]); } 객체에 대한 참조가 있다면 해당 참조는 메모리에 존재하는 것이다. foo객체가 bar1만을 참조하더라도 foo객체 전체를 clickEv..

모던 자바스크립트 Deep Dive - 04. 변수

javascript/모던 자바스크립트 Deep Dive 2022. 6. 30. 23:57

4.1 변수란 무엇이고, 왜 필요한가? 자바스크립트 엔진이 10+20 이라는 식의 의미를 해석하면 + 연산을 수행하기 위해서 10과 20이라는 숫자 값(피연산자)을 기억한다. 컴퓨터는 연산(CPU)과 기억(Memory)을 수행하는 부품이 나누어져 있기 때문에 피연산자 값은 메모리주소에 저장되고, CPU는 이 값을 읽어 들여 연산을 수행한다. 연산 결과로 생성된 숫자 값 30도 메모리 주소에 저장되는데 이 값을 재사용하려면 주소를 통해 메모리 공간에 직접 접근해야하지만, 이는 치명적 오류를 야기하는 매우 위험한 방법이기에 자바스크립트는 개발자의 직접적인 메모리 제어를 허용하지 않는다. 따라서 30이라는 값은 재사용이 불가능하다. 만약 직접적인 메모리 제어를 허용하더라도 코드가 실행될 때마다 값이 저장될 메..

Article Thumbnail
JS 자료구조&알고리즘 (2)

cs지식/자료구조 2022. 6. 30. 16:14

5장. 자바스크립트 배열 배열 삽입 새로운 항목을 자료 구조 내에 추가하는것. .push(element)메소드를 사용해 배열 삽입을 구현할 수 있다. var arr = [1, 2, 3, 4] arr.push(5); // arr = [1, 2, 3, 4, 5] arr.push(8); // arr = [1, 2, 3, 4, 5, 8] // 시간복잡도: O(1) 삭제 .pop()메소드를 사용해 배열 삭제를 구현할 수 있다. 해당 메소드는 제거된 항목을 반환한다. var arr = [1, 2, 3, 4] arr.pop(); // return 4, arr = [1, 2, 3] // 시간복잡도: O(1) arr.shift(); // return 1, arr = [2, 3] // shift()는 첫번째 항목을 제거한..