본문 바로가기

TIL139

TCP/UDP TCP와 UDP = 전송 계층에서 데이터를 보내기 위해 사용하는 프로토콜 전송 계층 = 송신자와 수신자를 연결하는 통신서비스를 제공하는 계층 TCP 인터넷 상에서 데이터를 메시지 형태로 보내기 위해 IP와 함께 사용하는 프로토콜 IP가 데이터의 배달 처리를 담당한다면 TCP는 패킷을 추적 및 관리한다. 연결형 서비스를 지원하는 프로토콜로 인터넷 환경에서 기본으로 사용된다. TCP의 특징 연결 지향 방식(패킷을 전송하기 위한 논리적 경로를 배정)으로 패킷 교환 방식 사용 (연결형 서비스로) 높은 신뢰성 보장 3-way handshaking과정을 통해 연결을 설정하고 4-way handshaking을 통해 해제 흐름 제어 및 혼잡 제어 UDP보다 느림 전이중(Full-Duplex), 점대점(Point to .. 2023. 8. 25.
쓰레드와 쓰레드 풀 프로세스와 쓰레드의 차이점 프로세스 자신만의 고유 공간(code, data, heap, stack)과 자원을 할당받아 사용 다른 프로세스의 변수나 자료에 접근 불가 프로세스 만으로 작업을 처리하면 프로세스를 생성할 때 많은 시간이 소요되고, 스위칭의 비효율성이 커진다. 프로세스 간 통신은 비용이 비싸 통신이 어려워짐 쓰레드 다른 쓰레드와 공간과 자원을 고유하며 사용(stack만 따로 사용) 프로세스보다 실행 단위가 작아 생성 및 소멸에 대한 오버헤드 감소 자원을 공유하기 때문에 context switching이 빠름 프로세스 간 통신 시간, 방법 어려움 해소 프로세스와 쓰레드의 주소공간 프로세스 각각 독립된 메모리 영역을 할당받음 최소 1개의 쓰레드(메인 쓰레드)를 가지고 있다. 기본적으로 다른 프로세스.. 2023. 8. 24.
쿠키, 세션의 개념과 차이 쿠키 로컬에 저장되는 키와 값을 가지는 작은 데이터 파일. 클라이언트와 서버는 아래와 같은 특징을 가지는 HTTP 프로토콜을 통해 통신하기 때문에 쿠키를 사용한다. 비연결성 서버는 클라이언트의 요청에 대한 응답을 보내고 연결이 끊어진다. HTTP 1.1 은 연결을 유지하는 keep-alive가 기본 옵션이긴 하지만 HTTP 1.0은 기본적으로 비연결성을 지킨다. 무상태성 서버는 클라이언트의 상태를 따로 저장해두지 않는다. 즉, 지난 요청은 물론 지난 요청에 대한 응답도 기억해두지 않는다. 이와 같은 이유로 HTTP는 쿠키를 사용하고, 쿠키에는 다음과 같은 정보가 담겨있다. 이름, 값, 유효시간, 도메인, 경로 만약 쿠키가 없다면 사용자는 인증이 필요한 서비스를 사용할 때마다 로그인을 해야 할 것이다. 쿠.. 2023. 8. 24.
브라우저의 작동방식 브라우저의 기본 구조 사용자 인터페이스 사용자가 접근할 수 있는 영역으로, URI를 입력할 수 있는 주소 표시줄, 이전/다음 버튼, 새로고침 버튼, 북마크 메뉴 등 페이지를 보여주는 창을 제외한 나머지 모든 부분 브라우저 엔진 사용자 인터페이스와 렌더링 엔진 사이의 동작을 제어한다. Data Storage를 참조하며 로컬에 데이터를 쓰고 읽으면서 다양한 작업을 한다. 렌더링 엔진 웹 서버로부터 전달받은 자원을 웹 브라우저 상에 나타낸다. 예를 들어, 브라우저가 서버로부터 HTML 문서를 응답 받으면 렌더링 엔진의 HTML 파서와 CSS 파서에 의해 파싱(parsing)되어 DOM, CSSOM 트리로 변환되고 렌더 트리로 결합한다. 리 렌더 트리를 기반으로 브라우저가 웹 페이지를 나타낸다. 각 브라우저마다.. 2023. 8. 23.