기술면접용 네트워크/WEB 정리

이성준·2022년 5월 27일
0

면접

목록 보기
2/6

네트워크

  • HTTP란?
    주로 브라우저와 서버간의 통신을 하기 위해 자주 사용하는 TCP/IP 기반의 신뢰적인 프로토콜입니다. 무상태와 무연결이라는 특징이 있습니다.

  • TCP/UDP 차이?
    UDP는 비신뢰적이고 비연결형 서비스를 제공하는 프로토콜이고 TCP는 신뢰적이고 연결형 서비스를 제공하는 프로토콜입니다. 빠른속도가 필요할때는 udp를 사용하고 신뢰성이 요구되어질때는 TCP를 사용합니다.

  • 쿠키와 세션
    쿠키(Cookie): 클라이언트의 로컬에 저장되는 Key-Value가 들어있는 작은 데이터 파일을 의미하구요
    웹페이지 접속 -> 웹페이지 받을때 쿠키도 같이 로컬에 저장한다 -> 재 요청시 쿠키값도 전송 -> 쿠키를 통해 상태를 식별하고 그에 따른 응답
    단점 : 변조 당하기 쉽다
    세션: 클라이언트의 정보를 서버 메모리에 저장하는 기술을 의미합니다.
    서버 접속시 세션 id를 발급해서 쿠키로 저장한다 -> 서버 요청시에 이 쿠키의 세션 id를 전달한다 -> 서버는 받은 세션 id로 세션의 클라이언트 정보를 가지고오고 요청을 처리해서 클라이언트에게 준다.
    장점 : 상태 데이터들이 서버에 저장되기 때문에 쿠키보다 보안성이 높다.

  • 인증과 인가
    아이디나 패스워드를 통해서 인증을 받는것
    유저에 대한 권한을 허락하는 것

  • JWT
    유저를 인증하고 식별하기 위한 Json 토큰 기반 인증
    로그인을 하면 토큰을 줌
    1번 header : 어떻게 검증하는지에 대한 내용이 들어가 있다.
    2번 payload : 우리가 보내고자 하는 데이터가 담겨 있습니다.
    3번 서명값 : 1번 헤더의 정의된 알고리즘을 통해 암호화된 비밀 값으로 서버만 알고있음
    단점 : 사용자의 상태를 기억하고 있지 않기 때문에 제어하지 못한다.

Web

Rest api란?

자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든것을 의미합니다. 정보의 각 요청이 어떠한 동작이나 정보를 위한 것인지를 그 요청의 모습 자체로 추론이 가능하다는 특징이 있습니다.
url은 자원을 표현해야되고 행위는 http메소드로 표현합니다.

api란?

클라이언트가 리소스를 요청할수 있도록 서버측에서 제공된 인터페이스를 말합니다.

상태코드

2xx : 클라이언트 요청이 성공적으로 수행됨
4xx : 클라이언트의 잘못된 요청
5xx : 서버 내부의 오류로 발생하는 상태코드입니다.

get과 post의 차이

get은 서버에서 데이터를 조회할때 쓰고, post는 서버의 리소스를 새로 생성하거나 업데이트할때 사용합니다.
그리고 데이터를 헤더에 포함하며 전송하고 캐싱(레지스터에 데이터를 저장시켜 놓는것)이 가능합니다 그리고 그리고 body가 비어있다는 특징이 있고 멱등합니다 post는 전송해야할 데이터를 body에 담아서 보냅니다
put과 patch는 patch는 리소스의 일부분만 수정할때 사용하고, put은 리소스의 모든 속성을 수정합니다

0개의 댓글