목록CS공부/네트워크 (3)
이숭간 공부기록
둘다 HTTP프로토콜상에서 무언가를 요청할때 사용하는 방식이다. 하지만 둘의 특성과 생겨난 배경은 엄연히 다르므로 제대로 이해하고 기술목적에 맞게 적재적소에 사용해야 한다. GET 언제 사용하는가? 단순히 서버의 데이터를 조회하는 경우 서버의 값이나 상태를 변경하지 않는다. SELECT적 특성 요청 데이터를 어떻게 보내는가? uri에 포함해서 보낸다. (?을 통한 PathVariable) 노출이 쉬워 보안이 필요한 데이터의 요청에선 사용하지 않는게 좋다. 멱등 서버에게 여러번 요청을 하더라도 동일한 응답이 돌아와야 한다는 개념 (안전하다) Ex) 여러번 요청해도 안전하다! 요청이 제대로 수행되지 않았다 하더라도 멱등한 요청은 여러번 그냥 보내서 해결할수있음, 계좌송금(post)과같은경우 안전하지 않으므로..
DNS DNS(Domain Name System)은 사람이 읽을 수 있는 도메인이름을 머신이 읽을 수 있는 IP주소로 변환하는 역할을 한다. 컴퓨터가 서로를 찾을 수 있는 주소가 IP주소인데, 이를 기억하기엔 사람에게 너무 어려움 따라서 사람이 읽기쉬운 문자로 이루어진 주소를 도메인이름이라고 한다. DNS서버가 이름에 대한 요청을 IP주소로 변환하여 어떤 서버에 연결할것인지를 제어한다. 이때 이 요청을 쿼리라고 부른다. DNS를 언제 사용하는가? 브라우저에 URL을 입력하면, 브라우저가 HTTP Request메세지를 만들고 이를 웹서버로 전송하기위해서 OS에게 송신을 의뢰해야하는데 이때 도메인명이아니라 IP주소로 상대를 지정해야한다. 이 과정에서 DNS서버를 통해 도메인명을 IP주소로 바꿔야 상대를 특정..
쿠키와 세션을 알기 이전에 왜 쿠키와 세션이 나왔는지에 대해 이해해야한다. 이를 위해선 HTTP프로토콜의 특징부터 이해해야한다. HTTP프로토콜의 특징 비 연결성 (Connectless) 클라이언트가 request를 서버에 보내고, 서버의 response를 보내면 연결이 끊긴다. 상태유지 X (Stateless) 연결을 끊는순간 서버는 클라이언트의 상태정보를 유지하지 않는다. 쿠키와 세션은 왜 필요한가? HTTP프로토콜의 위와같은 특성으로 인해, 클라이언트와 서버간 상태정보를 저장할 필요가 있는경우 (로그인유지 등) 에 사용한다. 현재 접속한 사용자가 이전에 접속한 사용자와 같은 사용자인지 아닌지를 알 수 있는 방법이 없다. HTTP프로토콜에서 상태를 유지하기위한 기술로 쿠키와 세션을 사용한다. 쿠키와세..