728x90
728x90
Cookie & Session HTTP는 비상태성(Stateless) 프로토콜로 상태 정보를 유지하지 않는다. 연결을 유지하지 않기 때문에 리소스 낭비가 줄어드는 것은 큰 장점이지만 통신할 때마다 매번 연결 설정을 해야 하며, 이전 요청과 현재 요청이 같은 사용자의 요청인지 알 수 없다는 단점이 존재한다. 쿠키와 세션을 통해서 HTTP의 Stateless한 문제점을 해결할 수 있다. 저장위치 쿠키: 클라이언트의 웹 브라우저가 지정하는 메모리 or 하드 디스크 세션: 서버의 메모리 만료 시점 쿠키: 저장할 때, expires 속성을 정의하여 무효화시키면 삭제될 날짜를 지정할 수 있다. 세션: 클라이언트가 로그아웃하거나 설정 시간 동안 반응이 없으면 무효화되기 때문에 정확한 시점을 알 수 없다. 리소스 쿠키..
HTTP (HyperText Transfer Protocol) 웹 서버와 클라이언트 간의 문서를 교환하기 위한 통신 규약 웹에서만 사용하는 프로토콜로 TCP/IP 기반으로 서버와 클라이언트 간의 요청과 응답을 전송한다. HTTP의 특징 TCP 기반의 통신 방식 비연결 지향 브라우저를 통해 사용자의 요청으로 서버와 접속하여 요청에 대한 응답의 데이터를 전송 후, 연결을 종료한다. 간단하기 때문에 자원이 적게드는 장점이 있다. 하지만, 연결이 지속적이지 않기 때문에 사용자와 연결 종료후 추가적인 요청시 어떤 사용자의 요청인지 모른다는 점이 존재한다. 즉, 여러 사용자가 요청할 시 각각의 사용자 요청을 구분할 수 없어서 제대로 된 응답 데이터를 전송할 수 없다는 단점이 있다. 해결 방법으로는 쿠키, 세션, 히..
주소창에 naver.com을 치면 일어나는 일 면접 질문에 자주 나오는 질문이다. 올해 어디 공채에서도 이 문제가 나왔는데, 답을 못했던 문제이다. 이번 기회에 정리해보자! IP 주소 IP 주소란 많은 컴퓨터들이 인터넷 상에서 서로를 인식하기 위해 지정받은 식별용 번호라고 생각하면 된다. 현재는 IPv4 버전(32 비트)로 구성되어 있으며, 127.0.1 같은 주소를 말한다. 시간이 갈수록 IPv4 주소의 부족으로 IPv6가 생겼는데, 128비트로 구성되어 있기 때문에 IP주소가 부족하지 않다는 특징이 있다. 도메인 네임(Domain Name) IP 주소는 12자리의 숫자로 되어 있기 때문에 사람이 외우기 힘들다는 단점이 있다. 그렇기 때문에 12자리의 IP 주소를 문자로 표현한 주소를 도메인 네임이라고..
TCP의 3 way handshake와 4 way handshake 3 way handshake와 4 way handshake는 연결을 성립하고 해제하는 과정을 말한다. 3 way handshake - 연결 성립 TCP는 정확한 전송을 보장해야 한다. 따라서 통신하기에 앞서, 논리적인 접속을 성립하기 위해 3 way handshake 과정을 진행한다. 클라이언트가 서버에게 SYN 패킷을 보냄 (sequence: x) 서버가 SYN(x)을 받고, 클라이언트로 받았다는 신호인 ACK와 SYN 패킷을 보냄 (sequence: y, ACK: x + 1) 클라이언트는 서버로부터 ACK(x + 1)와 SYN(y) 패킷을 받고, ACK(y + 1)를 서버로 보낸다. 이렇게 3번의 통신이 완료되면 연결이 성립된다. (..
UDP User Datagram Protocol의 약자이다 데이터를 데이터 그램 단위로 처리하는 프로토콜 (데이터 그램: 독립적인 관계를 지니는 패킷) 비연결형 프로토콜로 사전에 연결 설정 없이 데이터를 전달한다 사전에 연결 설정을 하지 않은 데이터 그램 방식을 통해 데이터를 전달하기 때문에 하나의 메시지에서 분할된 각각의 패킷은 서로 다른 경로로 전송될 수 있다 송신측에서 전송한 패킷의 순서와 수신측에 도착한 패킷의 순서가 다를 수 있다. 그러나 서로 다른 경로로 패킷을 처리함에도 불구하고 순서를 부여하거나 재조립하지 않는다 흐름 제어, 혼잡 제어, 오류 제어를 하지 않으므로 손상된 세그먼트에 대한 재전송을 하지 않는다 이로 인해 속도가 빠르며 네트워크 부하가 적다는 장점이 있지만, 신뢰성 있는 데이터..
참고글: github.com/WooVictory/Ready-For-Tech-Interview/blob/master/Network/TCP.md WooVictory/Ready-For-Tech-Interview 💻 신입 개발자로서 준비를 하기 위해 지식을 정리하는 공간 👨💻. Contribute to WooVictory/Ready-For-Tech-Interview development by creating an account on GitHub. github.com 참고글2: github.com/gyoogle/tech-interview-for-developer/blob/master/Computer%20Science/Network/TCP%20(%ED%9D%90%EB%A6%84%EC%A0%9C%EC%96%B4%E..