본문 바로가기

그 외

(4)
HTTPS 동작 과정 이 글은 HTTPS 원리에 대해서 여러 글을 보고 이슈에 대해 추측해서 정리한 주관적인 글이다. 때문에 잘못된 정보가 있을 수 있다. HTTPS란 HTTPS는 Hyper Text Transfer Protocol을 의미하는 HTTP에 Over Secure Socket Layer가 추가된 프로토콜을 말한다. 즉, 통신할때 보안이 적용된 계층(Layer)위에 HTTP가 동작하는 프로토콜을 의미한다. 보안 계층은 SSL(Secure Socket Layer)과 TLS(Transport Layer Security)를 의미하는데 SSL은 넷스케이프에 의해 개발되어 넓게 사용되다가 관리 기구가 바뀐이후로 TLS로 이름이 바뀌었기 때문에 원리를 이해하는데 있어서는 SSL과 TLS를 같은 개념으로 인지해도 무방하다. SS..
블럭(block)과 논블럭(non-block), 동기(sync)와 비동기(async) 상당히 어렵고 생각할수록 혼란스러운 주제다. 많이 언급되지만 개념적으로 명확하게 내려진 정의라고 해야할지 획일화된 정의라고 느껴지는 글은 없었고, 다들 나름의 정의 혹은 그저 누군가의 정의를 옮기기만 한 글이었다. 그래서 나도 다른 글들을 많이 읽으며 고심끝에 마찬가지로 나름대로 내가 이해하고 정의한 대로 풀어보려고한다. 때문에 매우매우매우 주관적이고, 다른 글들을 보고 내 글을 보면 더 느낌이 와닿을 수 있다. 간단한 개념 정의 상당히 많은 글들이 블럭/논블럭에서는 제어권, 동기/비동기는 결과값이라는 키워드를 많이 사용하고 있는데 맞는 말이지만, 개인적으로 코드적으로 얘기를 하는게 더 이해하기 쉽다고 생각해서 함수의 입장에서 풀어보려고 한다. 블럭과 논블럭 블럭 보통 함수 A 안에서 다른 함수 B를 호..
[알고리즘] 안정 정렬 (Stable Sort) 버블정렬, 삽입정렬, 퀵정렬, 선택정렬 등 정렬 알고리즘은 정렬의 안정성에 따라서 안정 정렬과 불안정 정렬로 나뉜다. 그 중 안정 정렬을 먼저 정리하려고 한다. 안정 정렬 안정 정렬이란 정렬 전 동일한 키 값의 요소 순서가 정렬 후 유지가 되는 정렬 알고리즘을 안정 정렬이라고 한다. 예시로 [3, 2, 1, 5, 7, 5] 배열이 있다고 가정한다. 이를 오름차순으로 정렬한다고 할때 [1, 2, 3, 5, 5, 7]이 된다면 안정 정렬 [1, 2, 3, 5, 5, 7]이 될 수 있다면 불안정 정렬이다. 안정 정렬에 해당하는 정렬 버블 정렬 (Bubble Sort) 삽입 정렬 (Insertion Sort) 병합 정렬 (Merge Sort) 정렬 과정을 볼 수 있는 참고 사이트 : https://visualg..
HTTP 스펙과 버전 HTTP(HyperText Transfer Protocol)란 웹 상에서 서버와 클라이언트간 통신의 하이퍼텍스트에 대한 프로토콜로, 하이퍼 텍스트는 웹에 표시되는 컨텐츠들을 말한다. osi 7계층과 tcp/ip 4계층의 Application 계층에 해당하고, 신뢰성 있는 연결을 사용하기 때문에 통신을 위한 전송 프로토콜로 TCP를 사용한다. 따라서 TCP에 영향을 많이 받았다. 간단히 TCP (Transmission Control Protocol)에 대해 서버와 클라이언트간 신뢰성에 중심을 둔 전송 프로토콜. 3-way handshake로 연결, 4-way handshake로 연결 해제, 데이터 전송할때 응답에 따라 *패킷을 더 보내거나 안보내기 때문에 신뢰성이 높다. *패킷 : 네트워크 데이터 블록 T..