목록네트워크 (7)
Welcome! Everything is fine.
기술면접 스터디에서 받은 질문을 복습하기 위한 용도로 정리한 내용입니다. 멱등성(Idempotent)이란 무엇인가요?멱등성이란 같은 연산을 해도 결과가 달라지지 않는 성질을 말합니다. HTTP METHOD에서 '멱등성을 가진다'는 것은 동일한 요청을 한 번 보내는 것과 여러 번 보내는 것이 같은 효과를 가지고 서버의 상태도 변하지않는 것을 의미합니다.PUT과 PATCH의 차이는 무엇인가요?PUT과 PATCH 모두 리소스를 변경할 때 사용된다는 점은 비슷합니다. 그러나 PUT은 리소스 전체를 변경할 때 사용되며, 만약 리소스가 없을 시 해당 리소스를 생성할 수도 있습니다. PATCH는 리소스 전체가 아닌 일부를 변경할 때 사용된다는 점에서 PUT과 다릅니다.TCP와 UDP의 차이는 무엇인가요?TCP는 연결..
토폴로지와 병목현상에 대해 연관지어 설명해보세요. 토폴로지란?토폴로지란 컴퓨터 네트워크에 참여하는 요소들(노드, 링크)의 배치 형태를 말한다.(=망 구성방식)토폴로지의 종류버스형구조 : 모든 노드들이 단일 중앙 케이블(버스)에 연결되어 있다.장점 : 설치와 확장이 용이하며 비용이 적게 든다.단점 : 버스에 장애 발생 시 전체가 다운될 수 있으며 동시에 노드 간의 통신이 불가능하다.트리형구조 : 트리 구조로 계층적 구조 형태를 표현한다.장점 : 확장이 용이하고 계층 구조로 인해 관리가 편하다. 모든 노드를 연결하기 위한 회선 수가 적다.단점 : 상위 계층에 장애 발생 시 하위 계층도 영향을 받을 수 있다.스타형구조 : 모든 장치가 중앙의 허브나 스위치에 개별적으로 연결되어 있다. 중앙집중식이다.장점 : 장..
HTTPS(Hyper Text Transfer Protocol Secure) HTTPS는 보안 계층인 SSL/TLS를 이용해 HTTP의 보안을 강화한 웹 통신 프로토콜이다. SSL(Secure Socket Layer)은 넷스케이프에서 개발한 암호화 프로토콜이다. 이 SSL을 보완해 새로 만든 프로토콜이 TLS(Transport Layer Security)이다. 현재 HTTPS에서 통용되는 방식은 TLS지만, SSL이라는 명칭은 사라지지 않아 SSL 또는 SSL/TLS라고 부른다. HTTPS 이러한 암호화 프로토콜을 통해 데이터 암호화를 거치지 않아 보안에 취약한 HTTP의 약점을 보완하였다. HTTPS에서는 HTTP는 SSL과 통신하고, SSL이 TCP와 통신하게 된다. SSL/TLS의 암호화 방식 HT..
TCP(Transmission Control Protocol) TCP는 패킷 전송을 제어해(패킷의 순서가 올바르게 전달되는지, 패킷이 유실되지는 않는지 등) 신뢰성을 보장하며 데이터를 전송할 때 사용하는 프로토콜이다. 통신을 시작하거나 종료할 때도 수신측에 미리 물어본 후에 패킷의 전송 순서를 정해 통신을 시작한다. 이러한 과정을 3-way handshaking과 4-way handshaking이라고 한다. 자세한 특징은 다음 설명과 같다. 1. 3-way handshaking을 통해 연결 설정, 4-way handshaking을 통해 연결 해제 TCP 연결을 생성하면 SYN과 ACK(Positive Acknowledge) 혹은 NAK(Negative Acknowlede)라는 패킷을 주고받는다. SYN은..
OSI 7 Layer OSI(Open System Interconnection) 7 계층이란 1977년에 국제표준화기구(ISO)가 정의한 국제 통신 표준 규약이다. 통신의 접속에서부터 완료까지의 과정을 7단계로 구분한 것을 말한다. 그러나 실제로 인터넷에서 흔히 사용되는 모델은 TCP/IP 4계층이다. OSI 7계층은 서로 다른 컴퓨터들이 데이터를 주고받을 수 있도록 표준화된 규칙을 말하며, 이를 통해 통신이 일어나는 과정을 단계별로 파악할 수 있다. 다음은 OSI 7계층과 TCP/IP 4계층의 순서를 비교한 그림이다. OSI 7계층의 송수신 과정을 간단하게 그림으로 보면 다음과 같이 진행된다.보낼 때는 각 계층을 지나면서 헤더가 붙고, 받을 때는 다시 각 계층을 거치며 헤더가 제거된다. 각 계층에 대한..
쿠키와 세션은 왜 사용하는가? HTTP 프로토콜의 특성(Connectionless / Stateless)을 보완하기 위해 사용한다. Connectionless : 클라이언트가 서버에 request를 보낸 후, 서버가 response를 보내면 연결을 끊는 특징 Stateless : 통신이 끝나면 상태를 유지하지 않는 특징 만약 쿠키와 세션이 없다면 새 페이지를 열 때마다 팝업창이 뜰 것이고, 로그인 정보는 매번 사용자가 입력해야 할 것이다. 사용자 식별이나 상태 유지, 혹은 광고 타겟팅에도 쿠키와 세션이 사용될 수 있다. 쿠키 쿠키(Cookie)란 클라이언트(브라우저)에 저장되는 데이터 파일로, 브라우저를 종료해도 설정된 만료 날짜까지 남아있게 된다. 모든 HTTP 요청에 쿠키가 자동으로 첨부되어 서버로 ..
CS 기초 스터디 첫 질문을 선정했다! 이번 질문은 "HTTP METHOD에 대해 설명해 보세요."였다. HTTP 메서드에 대해 공부하기 전에 먼저 HTTP의 정의와 특징에 대해 정리하고, 실제로 HTTP 요청 프로토콜이 어떻게 구성되어있는지 알아보았다. HTTP(HyperText Transfer Protocol)란? HTML 문서 등을 주고받는 서버-클라이언트 메시지 교환 프로토콜로, TCP/UDP를 사용하여 통신한다. 클라이언트(=리소스를 요청하는쪽)와 서버(=요청을 받아 해당 리소스를 제공하는 쪽) 간에 통신이 일어난다. Request(요청) : 메서드, URI, 프로토콜 버전, 헤더, 바디로 구성 Response(응답) : 프로토콜 버전, 상태코드, 상태코드에 대한 설명, 헤더, 바디로 구성 HT..