1. OSI 7 계층과 TCP/IP 4계층에 대해 설명해주세요.
TCP/IP 계층과 달리 OSI 계층은 애플리케이션 계층을 세 개로 쪼개고 링크 계층을 데이터 링크 계층, 물리 계층으로 나눠서 설명하는 것이 다르며, 인터넷 계층을 네트워크 계층으로 부른다는 점이 다르다.
2. TCP와 UDP의 차이를 설명해주세요.
TCP
UDP
3. Http 1.0, 1.1, 2.0, 3.0에 대해 설명해주세요
HTTP 1.0
HTTP 1.1
HTTP 2.0
HTTP 3.0
4. 로컬스토리지, 세션스토리지, 쿠키의 공통점과 차이점을 설명해주세요
공통점 : 브라우저에 캐싱함으로써 서버에 대한 요청을 줄여 서버부하를 방지할 수 있다.
차이점
쿠키 | 로컬 스토리지 | 세션 스토리지 | |
---|---|---|---|
만료 기한 | 수동으로 설정 | 영구적 | 탭 닫으면 소멸 |
설정 주체 | Client + Server | Client | Client |
요청과 함께 서버에 자동 전송 유무 | O | X | X |
5. CORS(Cross Origin Resource Sharing)에 대해 설명하세요
출처(Origin)가 다를 때 보안상의 이유로 HTTP 요청을 제한하는데, CORS는 추가 HTTP 헤더를 사용하여, 현재 실행 중인 웹 애플리케이션이 아닌 다른 출처의 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 것이다. 출처가 다르다는 것은 domainA.com에서 domainB.com의 자원을 요청하는 것으로 프론트단(=리액트)에서 서버(=스프링)로 HTTP 요청을 보낼 때 흔히 볼 수 있다.
6. 쿠키와 세션에 대해 비교하세요
쿠키 : 사용자의 컴퓨터에 저장하는 작은 기록 정보 파일입니다. HTTP에서 클라이언트의 상태 정보를 PC에 저장했다가 필요시 정보를 참조하거나 재사용할 수 있다.
세션 : 일정 시간동안 같은 사용자로부터 들어오는 일련의 요구를 하나의 상태로 보고, 그 상태를 유지시키는 기술입니다. 즉, 방문자가 웹 서버에 접속해 있는 상태를 하나의 단위로 보고 그것을 세션이라고 한다.
쿠키 | 세션 | |
---|---|---|
저장 위치 | 클라이언트(=접속자 PC) | 웹 서버 |
사용하는 자원 | 클라이언트 리소스 | 웹 서버 리소스 |
속도 | 세션보다 빠름 | 쿠키보다 느림 |
보안 | 세션보다 안좋음 | 쿠키보다 좋음 |
7.공인 IP와 사설 IP 차이
공인 IP
사설 IP
8. PUT vs PATCH
둘 다 데이터를 수정할 때 쓰는 메서드
PUT
PATCH
9. 흐름제어에 대해 설명해주세요
수신측이 송신측보다 데이터 처리 속도가 빠르면 문제없지만, 송신측의 속도가 빠를 경우 문제가 생긴다.
수신측에서 제한된 저장 용량을 초과한 이후에 도착하는 데이터는 손실 될 수 있으며, 만약 손실 된다면 불필요하게 응답과 데이터 전송이 송/수신 측 간에 빈번이 발생한다.
이러한 위험을 줄이기 위해 송신 측의 데이터 전송량을 수신측에 따라 조절해야한다.
10. www.naver.com에 접속할 때 생기는 과정에 대해 설명해주세요
1. 사용자가 브라우저에 URL(www.naver.com)을 입력
2. DNS 서버에 도메인 네임으로 서버의 진짜 주소를 찾음
3. IP 주소로 웹 서버에 TCP 3 handshake로 연결 수립
4. 클라이언트는 웹 서버로 HTTP 요청 메시지를 보냄
5. 웹 서버는 HTTP 응답 메시지를 보냄
6. 도착한 HTTP 응답 메세지는 웹 페이지 데이터로 변환되고, 웹 브라우저에 의해 출력