면접 - 네트워크 11

개발자 면접 질문 - HTTP 와 TCP의 Keep-Alive

1. HTTP Keep-Alive - Socket에서 IN/OUT의 Access가 마지막으로 종료된 시점부터 정의된 시간까지 Access가 없어도 대기하는 구조 - 정의된 시간 내에 Access가 이루어지면 계속 연결 상태를 유지할 수 있다. 2. TCP Keep-Alive - TCP 프로토콜은 자체적으로 장애 감지가 없기 때문에 Keep-Alive를 사용하여 장애를 감지한다. - 연결된 TCP 소켓을 체크할 수 있다. - TCP 연결이 여전히 진행중인지 끊어졌는지를 감지한다.

개발자 면접 질문 - 대칭키와 비대칭키 차이

1. 대칭키(공통키) - 상호간에 키를 교환하는 암호화 방식 - 암호화/복호화에 하나의 키를 같이 사용하는 방식 - 암/복호화 키가 동일 - bit 수가 작고 수행 시간이 짧다. - 사용이 제한적이다. 2. 비대칭키 (공개키, 비밀키) - 암/복호화 키가 다름 - bit 수가 많고 수행 시간이 길다. - 범용적으로 사용된다. - 암호화에 공개키 사용, 복호화에 비밀키 사용 - 공개키/비밀키를 갖고 있으며 비밀키는 알려지면 안되는 키, 공개키는 누구에게나 알려져도 되는 키

개발자 면접 질문 - HTTP 1.1과 2.0의 차이

1. HTTP 1.1 - 연결당 하나의 요청과 응답을 처리하기 때문에 동시 전송 문제와 다중 리소스를 처리하기에 속도와 성능이 느림 2. HTTP 2.0 - 성능 뿐만 아니라 속도면에서도 월등하게 빠르다. - Multiplexed Streams(하나의 커넥션에 여러 개의 메세지를 동시에 주고 받을 수 있음) - Stream Prioritization (요청 리소스간 의존관계 설정) - Server Push (HTML 문서상에 필요한 리소스를 클라이언트 요청없이 보내줄 수 있음) - Header Compression (Header 정보를 HPACK 압축 방식을 이용하여 압축 전송)

개발자 면접 질문 - HTTPS

1. HTTPS - HTTP통신을 하는 소켓 부분을 SSL이나 TLS 라는 프로토콜로 대체하는 것 - 직접 TCP와 통신하지 않고 SSL과 통신한다는 의미 - 공개키와 비밀키로 암/복호화를 한다. 2. 장점 - 통신 내용 암호화 3. 단점 - 클라이언트 요청시, SSL에 필요한 통신 추가 - 암호화 복호화 계산을 하기 때문에 서버나 클라이언트의 리소스를 추가적으로 소비

개발자 면접 질문 - OSI 7 계층

1. 물리계층 - 물리적 매체 연결 및 신호 방식을 다룬다. (허브, 리피터) 2 .데이터 링크 계층 - 오류 없이 다른장치로 프레임을 전달하는 역할을 한다. (브리지, 스위치) 3. 네트워크 계층 - 발신지로부터 송신지까지 패킷 전달을 하는 역할을 한다. (라우터) 4. 전송 계층 - 발신지 대 목적지 간 제어와 에러를 관리한다. (게이트웨이) 5. 세션 계층 - 통신 세션을 구성하는 계층 포트 연결을 관리한다. (SSH) 6. 표현 계층 - 입력 또는 출력되는 데이터를 하나의 표현 형태로 변환한다. (JPEG) 7. 응용 계층 - 사용자가 네트워크에 접근할 수 있도록 해주는 계층. (HTTP)

개발자 면접 질문 - TCP 3-way hand shaking(TCP 전이도)

1. TCP 3-WAY Hand Shaking (TCP 전이도) - 클라이언트에서 서버에 연결 요청하기 위해 SYN 데이터 전송 - 서버에서는 해당 포트를 LISTEN 상태에서 SYN 데이터를 받고 SYN_RCVD 상태로 변경 - 요청을 정상적으로 받았다는 대답(ACK)과 클라이언트도 포트를 열어달라는 SYN를 같이 보낸다. - 클라이언트에서는 SYN + ACK 을 받고 EATABLEISHED로 상태 변경 - 서버에 요청을 잘 받았다는 ACK를 전송 - 클라이언트에게 ACK를 응답 받은 서버는 상태를 ESTABLISHED 로 변경 ESTABLEISHED : 이스테블리쉬드