🖋 다음주가 CS 마지막이다! 힘내보자 🔥
🚌 2024년 11월 18일~ 2024년 11월 24일까지의 주제는 네트워크다.
💡 공통으로 준비한 질문
1️⃣ 첫번째 접은 글은 내 말로 풀어쓴 정답
2️⃣ 두번째 접은 글은 해석 또는 공부한 내용 또는 추가적으로 궁금한 내용
1. 전송계층과 데이터링크 계층 모두 신뢰성 관련 기능을 제공하는데, 어떤 차이가 있나요?
- 전송 계층은 논리적으로 1:1 연결된 송신과 수신 호스트 사이의 전송이며, End to End 호스트로, 양 끝에 있는 호스트 사이에서 오류 제어와 흐름제어를 합니다.
- 데이터 링크 계층은 물리적으로 1:1 연결된 사이의 전송이며, 직접 묶여 있는 호스트-노드 또는 노드-노드 사이에서 오류 제어와 흐름 제어를 합니다.

2. www.google.com 도메인을 브라우저에 입력했을 때 일어나는 일을 순차적으로 설명해주세요.
1) http://www.google.com을 브라우저 주소창에 입력합니다.
2) 브라우저는 캐싱된 DNS 기록(브라우저 캐시, OS 캐시, 라우터 캐시, ISP 캐시)을 통해 해당 도메인 주소에 대응되는 IP주소가 있는지 확인합니다.
3) 요청한 URL이 캐시에 없는 경우, ISP의 DNS 서버가 http://www.google.com을 호스팅하고 있는 서버의 IP주소를 찾기 위해 DNS Query를 보내 찾습니다.
4) 브라우저는 http://www.google.com에 해당하는 IP 주소를 획득해 해당 서버와 TCP 연결을 시도합니다. (3-way handshake)
5) TCP 연결이 완료되면, 브라우저가 웹 서버에 HTTP Request를 보냅니다.
6) 서버는 해당 Request를 처리하고 Response를 생성해 브라우저에게 보냅니다.
7) 브라우저는 해당 Response를 읽어들여 사용자에게 보여줍니다.
3. 쿠키와 세션이 왜 필요한지, 어떻게 다른지 설명해주세요.
- HTTP 프로토콜의 특징
- 비연결 지향(Connectionless)
- 클라이언트가 request를 서버에 보내고, 서버가 클라이언트에 요청에 맞는 response를 보내면 바로 연결을 끊는다.
- 상태정보 유지 안 함(Stateless)
- 연결을 끊는 순간 클라이언트와 서버의 통신은 끝나며 상태 정보를 유지하지 않는다.
- 비연결 지향(Connectionless)
- 쿠키와 세션의 필요성
- HTTP 프로토콜은 위와 같은 특징으로 모든 요청 간 의존관계가 없다.
- 즉, 현재 접속한 사용자가 이전에 접속했던 사용자와 같은 사용자인지 아닌지 알 수 있는 방법이 없다.
- 계속해서 연결을 유지하지 않기 때문에 리소스 낭비가 줄어드는 것이 큰 장점이지만, 통신할 때마다 새로 연결하기 때문에 클라이언트는 매 요청마다 인증을 해야 한다는 단점이 있다.
- 이전 요청과 현재 요청이 같은 사용자의 요청인지 알기 위해서는 상태를 유지해야 한다.
- HTTP 프로토콜에서 상태를 유지하기 위한 기술로 쿠키와 세션이 있다.
- 쿠키
- Client측(브라우저)에서 관리되는 작은 기록정보 파일
- 사용자 인증에 유효한 시간 명시가능, 브라우저 종료되도 인증 유지
- 쿠키 동작
- 클라이언트가 페이지 요청
- 서버에서 쿠키 생성
- HTTP헤더에 쿠키 포함 시켜 응답
- 브라우저가 종료되어도 쿠키 만료 기간이 있다면 클라이언트에서 보관
- 쿠기가 존재하면 요청시, HTTP헤더에 쿠키를 함께 보내서 요청
- 서버에서 쿠키를 읽어 이전 상태 정보를 변경 할 필요가 있으면, 쿠키를 업데이트하여 변경된 쿠키를 HTTP헤더에 포함시켜 응답
-> 브라우저 종료시에도 남을수있다
- 쿠키 사용
- 방문 사이트에서 로그인 시, "아이디, 비밀번호 저장하겠습니까?"
- 쇼핑몰 장바구니 기능
- 세션
- 사용자 정보 파일을 브라우저에 저장하는 쿠키와 달리 세션은 서버 측 에서 관리
- 서버에서 Client를 구분하기 위해 세션 ID 를 부여
- 웹 브라우저가 서버에 접속해서 브라우저 종료할때 까지인증상태 유지
- 사용자 정보를 서버에 저장하기 때문에 쿠키보다 보안에 좋다
- 사용자가 많아질수록 서버 메모리를 많이 차지하게 된다
-> 브라우저가 종료되면 없어진다
- 세션 동작
- 클라이언트가 세버에 접속 시 세션ID 발급
- 클라이언트는 세션ID에 대해 쿠키를 사용해서 저장(쿠키 이름 = JSESSIONID)
- 클라이언트가 서버에 다시 접속 시 이 쿠키를 이용해서 세션 ID 값을 서버에 전달
- 세션 사용
- 로그인과 같이 보안상 중요한 작업을 수행할 때 사용
- 둘의 차이
- 사용자의 기록 정보가 저장되는 위치 : 쿠키-브라우저, 세션-서버
- 보안 : 세션이 서버에서 관리 되므로 더 좋다.
- 요청속도 : 쿠키가 빠르다. 세션은 서버에서 처리가 필요하기 때문이다.
tech-interview-study/contents/network.md at master · devham76/tech-interview-study
기술 면접 스터디를 기반으로 CS기본 개념을 정리하는 저장소입니다. Contribute to devham76/tech-interview-study development by creating an account on GitHub.
github.com
쿠키와 세션의 차이점 및 보안 고려사항
쿠키와 세션의 기본 개념, 주요 차이점 및 각각의 보안 고려사항에 대한 상세한 설명
f-lab.kr
쿠키(Cookie)와 세션(Session)의 차이 (+캐시(Cache))
쿠키와 세션을 사용하는 이유? HTTP 프로토콜의 특징이자 약점을 보완하기 위해서 사용한다. HTTP 프로토콜의 특징 1. Connectionless 프로토콜 (비연결 지향) 클라이언트가 서버에 요청(Request)을 했을
dev-coco.tistory.com
쿠키(Cookie) & 세션(Session)
HTTP 프로토콜의 특징 HTTP 프로토콜의 특징은 다음과 같다. Connectionless(비연결지향) HTTP 프로토콜은 클라이언트에서 서버에 요청(Request)을 보내면 서버는 클라이언트에 응답(Response)을 하고 연결을
velog.io
tech-interview/contents/network.md at master · WeareSoft/tech-interview
:loudspeaker:🙍 tech interview. Contribute to WeareSoft/tech-interview development by creating an account on GitHub.
github.com
4. 세션 기반 인증과 토큰 기반 인증은 각각 어느 경우에 적합한지 설명해주세요.
- 단일 도메인에 세션 기반 인증이 적합합니다. 멀티 도메인의 경우 토큰 기반 인증이 적합합니다.
[면접총정리] 신입 개발자 인터뷰 대비 총정리 자료 - ④ 네트워크
🧑🏻💻 글을 시작하기에 앞서.. - 신입 개발자 인터뷰에서 자주 나오는 질문을 모아 한 번에 정리한 포스트입니다. - 신입 개발자 기술면접을 준비하는 사람으로, 정확하지 않은 정보가 포함
hoons-dev.tistory.com
멀티 도메인의 이해
[BY 지오유 그룹웨어] 멀티 도메인 정의기업에서 사용되는 도메인이 1개가 아닌, 여러 개의 도메인을 사...
m.post.naver.com
세션 기반 인증과 토큰 기반 인증 (feat. 인증과 인가)
인증과 인가 세션기반 인가와 토큰기반 인가에 대해 알아보기 이전에 먼저, 인증과 인가가 무엇인지 부터 알아야할 필요가 있다. 인증과 인가를 같거나 비슷한 개념이라고 생각하는 사람들이
hudi.blog
세션 인증 방식 VS Token 인증방식(인증과 인가)
HTTP는 본래 정보를 유지하지 않는 statless한 특성을 가져, 각 통신의 상태가 저장되지 않기 때문에 웹사이트에서 인증을 관리하기 위한 방법이 필요하다.유저가 어떤 사이트를 이용 중일 때 유저
velog.io
[백엔드] 기술 면접 Top30 - #17 세센과 토큰 기반 인증의 차이
세션과 토큰 기반 인증 세션 기반 인증, 토큰 기반 인증 웹 애플리케이션 및 다른 서비스에서 사용되는 두 가지 주요 인증 방식이다. 두 방식은 사용자를 인증하고 인가하는 방법에 차이가 있다.
dev-dobim.tistory.com
❔ 개인으로 준비한 질문
1. 슬라이딩 윈도우에 대해 설명해 주세요.
2. TCP / IP에 대해 설명해 주세요.
3. GET 메서드와 POST 메서드의 차이점에 대해 설명해 주세요.
4. 대칭키와 공개키에 대해서 설명해 주세요.
'개인 공부 > TIL' 카테고리의 다른 글
[ TIL - CS ] 면접을 위한 CS 공부 10편 - 자바 - (0) | 2024.11.28 |
---|---|
[ TIL - CS ] 면접을 위한 CS 공부 9편 - 자바 - (0) | 2024.11.25 |
[ TIL - 면접 ] 자소서 질문 대비 공부 4편 - JWT 편 - (0) | 2024.11.20 |
[ TIL - CS ] 면접을 위한 CS 공부 7편 - 네트워크 - (0) | 2024.11.18 |
[ TIL - CS ] 면접을 위한 CS 공부 6편 - 데이터베이스 - (0) | 2024.11.15 |