on my way
CS 스터디 01-3 전산기초: 네트워크 본문
- GET, POST 방식의 차이점
- TCP 3-way-handshake
- TCP 와 UDP 의 차이점
- HTTP 와 HTTPS 의 차이점
- HTTP 의 문제점들
- DNS round robin 방식
- 웹 통신의 큰 흐름
GET, POST 방식의 차이점
면접 질문: GET과 POST 방식의 차이점에 대해 설명해 주세요.
답변: GET과 POST는 웹에서 서버에 요청을 보내는 두 가지 방법입니다.
- GET 방식은 요청하는 데이터를 URL의 끝에 붙여서 서버에 전송합니다. 예를 들어, 검색할 때 검색어가 URL에 보이는 것을 떠올리면 됩니다. GET 방식은 주로 데이터를 가져올 때 사용하며, 전송할 수 있는 데이터의 양이 제한적이고, URL에 데이터가 노출되기 때문에 민감한 정보를 보내기엔 적합하지 않습니다.
- POST 방식은 데이터를 HTTP 메시지의 본문(Body)에 담아 서버에 전송합니다. 이 방식은 GET보다 더 많은 데이터를 전송할 수 있고, URL에 노출되지 않기 때문에 보안에 조금 더 유리합니다. POST는 주로 서버에 데이터를 보내서 추가하거나 업데이트할 때 사용됩니다.
간단히 말해, GET은 서버에서 데이터를 "가져올" 때, POST는 서버에 데이터를 "보낼" 때 사용하는 방식입니다.
TCP 3-way-handshake
면접 질문: TCP 3-way-handshake가 무엇인지 설명해 주세요.
답변: TCP 3-way-handshake는 두 컴퓨터가 인터넷 상에서 안전하게 연결을 설정하는 과정입니다. 이를 3단계로 설명할 수 있습니다:
- SYN: 클라이언트가 서버에게 연결을 요청하는 메시지(SYN)를 보냅니다.
- SYN-ACK: 서버는 이 요청을 받고, 클라이언트에게 연결 요청을 수락하는 응답(SYN-ACK)을 보냅니다.
- ACK: 클라이언트는 서버의 응답을 확인하고, 연결을 확정하는 메시지(ACK)를 보냅니다.
이 과정을 통해 양쪽 컴퓨터가 서로 연결되었음을 확인하고, 안전하게 데이터를 주고받을 수 있게 됩니다.
TCP와 UDP의 차이점
면접 질문: TCP와 UDP의 차이점에 대해 설명해 주세요.
답변: TCP와 UDP는 데이터를 주고받기 위한 두 가지 주요 프로토콜입니다.
- TCP는 연결 지향형 프로토콜입니다. 데이터가 순서대로 도착하도록 보장하며, 누락된 데이터가 있으면 다시 전송하는 등 신뢰성이 높습니다. 예를 들어, 파일 다운로드나 웹 페이지 로딩과 같이 데이터의 정확성이 중요한 경우 TCP를 사용합니다.
- UDP는 비연결형 프로토콜입니다. 데이터를 빠르게 전송하지만, 순서나 정확성을 보장하지 않습니다. 신속한 데이터 전송이 중요한 경우, 예를 들어, 동영상 스트리밍이나 온라인 게임에서 UDP를 사용합니다.
간단히 말해, TCP는 신뢰성이 중요할 때, UDP는 속도가 중요할 때 사용하는 프로토콜입니다.
HTTP와 HTTPS의 차이점
면접 질문: HTTP와 HTTPS의 차이점은 무엇인가요?
답변: HTTP와 HTTPS는 웹에서 데이터를 주고받는 방법입니다.
- HTTP는 데이터를 암호화하지 않고 전송하기 때문에, 중간에서 데이터가 도청될 수 있습니다. 예를 들어, 비밀번호나 신용카드 정보와 같은 민감한 정보를 HTTP로 전송하면 위험할 수 있습니다.
- HTTPS는 HTTP에 보안 기능을 추가한 것입니다. 데이터를 전송하기 전에 암호화하기 때문에, 도청이나 데이터 변조를 막을 수 있습니다. HTTPS는 SSL 또는 TLS라는 보안 프로토콜을 사용해 데이터를 암호화하고, 사용자가 안전하게 웹사이트를 이용할 수 있게 해줍니다.
결론적으로, HTTPS는 HTTP보다 보안이 강화된 버전으로, 오늘날 대부분의 웹사이트가 HTTPS를 사용합니다.
HTTP의 문제점들:
- 도청 가능성: 데이터가 암호화되지 않아서 누군가가 중간에 데이터를 엿볼 수 있습니다.
- 위장 가능성: 서버나 클라이언트가 실제로 누구인지 확인할 수 없기 때문에, 해커가 위장할 수 있습니다.
- 변조 가능성: 데이터가 전송 중에 변조되어도 이를 확인할 방법이 없습니다.
DNS Round Robin 방식
면접 질문: DNS Round Robin 방식이란 무엇인가요?
답변: DNS Round Robin 방식은 하나의 도메인 이름에 대해 여러 개의 IP 주소를 순차적으로 반환하는 방법입니다. 이를 통해 부하를 여러 서버에 분산시킬 수 있습니다.
예를 들어, example.com에 접속할 때, 첫 번째 사용자는 서버 A에, 두 번째 사용자는 서버 B에 연결되도록 하는 방식입니다. 이 방법은 간단하고 구현하기 쉽지만, 서버가 다운되었을 때 이를 감지하지 못해 여전히 다운된 서버로 연결을 시도할 수 있는 단점이 있습니다.
웹 통신의 큰 흐름
면접 질문: 웹 통신의 큰 흐름에 대해 설명해 주세요.
답변: 웹 통신은 우리가 웹사이트에 접속할 때 일어나는 과정을 설명합니다. 예를 들어, 브라우저에서 www.example.com을 입력할 때 어떤 일이 일어나는지 설명드리겠습니다.
- 브라우저 입력: 사용자가 웹사이트 주소(URL)를 브라우저에 입력합니다.
- DNS 조회: 브라우저는 DNS 서버에 이 URL이 어떤 IP 주소와 연결되어 있는지 묻습니다. DNS 서버는 해당 IP 주소를 반환합니다.
- 서버 연결: 브라우저는 IP 주소를 사용해 해당 웹사이트 서버와 연결을 설정합니다. 이 과정에서 TCP 3-way-handshake가 이루어집니다.
- HTTP/HTTPS 요청: 브라우저는 서버에 HTTP 또는 HTTPS 요청을 보냅니다. 이 요청은 사용자가 방문하려는 웹 페이지의 데이터를 요청하는 것입니다.
- 서버 응답: 서버는 요청받은 데이터를 찾아 브라우저에 응답합니다. 이 데이터는 HTML, CSS, JavaScript, 이미지 등 웹 페이지를 구성하는 요소들입니다.
- 웹 페이지 렌더링: 브라우저는 서버로부터 받은 데이터를 해석하고, 사용자가 볼 수 있는 웹 페이지로 렌더링합니다.
- 추가 요청: 웹 페이지가 완전히 로드될 때까지 필요한 추가 리소스(예: 이미지, 스타일시트, 스크립트 등)를 서버에 요청하고, 서버는 이를 다시 브라우저에 전달합니다.
이 과정을 통해 사용자는 웹사이트를 볼 수 있게 됩니다. 웹 통신의 이 흐름 덕분에 우리가 원하는 정보를 인터넷에서 쉽게 찾을 수 있습니다.
'Computer Science' 카테고리의 다른 글
CS 스터디 01-6 전산기초: 데이터베이스 (1) | 2024.10.21 |
---|---|
CS 스터디 01-5 전산기초: 보안 구축 (1) | 2024.10.21 |
CS 스터디 01-4 전산기초: 운영체제 (0) | 2024.10.21 |
CS 스터디 01-2 전산기초: 자료 구조 (3) | 2024.09.04 |
CS 스터디 01-1 전산기초: 개발 상식 (1) | 2024.09.03 |