이것저것 스터디📚/CS 스터디 (16) 썸네일형 리스트형 Keep-Alive 헤더 - Keep-Alive 헤더 : 송신자가 연결에 대한 타임아웃과 요청 최대 개수를 어떻게 정했는지에 대해 나타낸다. - Keep-Alive 헤더를 위해서는 Connection 헤더는 keep-alive로 설정되어야 한다. - parameters - timeout : 유효 연결이 계속 열려 있어야 하는 최소한의 시간(초 단위)을 가리킨다. - max : 연결이 닫히기 이전에 전송될 수 있는 최대 요청 수를 가리킨다. - HTTP는 TCP 위에서 동작을 하는데, TCP 전송이 끝나면 연결이 끊어지듯이 HTTP도 서로 전송이 끝나면 연결이 끊어진다. 그렇다면 매번 똑같은 주소로 요청을 할 때마다 새로운 연결을 설정해야 한다면 자원이 낭비된다. 이런 문제를 막고자 Keep-Alive가 생겼다. Keep-Aliv.. HTTP 1.0과 HTTP 1.1의 차이 커넥션 유지(Persistent Connection) - HTTP 1.0과 HTTP 1.1의 가장 큰 차이점은 연결의 지속성이다 - HTTP는 기본적으로 TCP를 이용하여 통신하는데, HTTP 1.0은 TCP 세션을 유지하지 않고, HTTP 1.1은 TCP 세션을 유지한다는 큰 차이가 있다 - 즉, HTTP 1.0은 매번 데이터를 요청하고 수신할 때마다 TCP 세션을 맺지만, HTTP 1.1은 한 번의 TCP 세션에 여러 개의 요청을 보내고 응답을 수신할 수 있다 - HTTP 1.0은 Non-persistent HTTP, HTTP 1.1은 Persistent HTTP라고 할 수 있다 파이프라이닝(Pipelining) - HTTP 1.1은 HTTP 1.0과 달리 파이프라이닝 기능을 제공한다 - 파이프라이닝.. HTTP 프로토콜 HTTP(Hypertext Transfer Protocol) - 인터넷상에서 데이터를 주고 받기 위한 서버/클라이언트 모델을 따르는 프로토콜이다. - OSI 7계층의 애플리케이션 레벨의 프로토콜로 TCP/IP 위에서 작동한다. - HTML 문서, 이미지, 동영상, 오디오 등 어떤 종류의 데이터든지 전송할 수 있도록 설계되어 있다. - "링크기반으로 데이터에 접속하겠다"는 의미이다. 작동방식 - HTTP는 서버/클라이언트 모델을 따르는데, 클라이언트에서 요청을 보내면 서버에서 응답하는 형태이다. - 클라이언트는 URI를 이용해서 서버에 접속하고 데이터를 요청한다. - 웹서버는 보통 표준포트인 80번 포트로 서비스한다. Connectionless & Stateless - HTTP는 Connectionle.. 3-way handshake, 4-way handshake 3-way handshake - TCP는 장치들 사이에 논리적인 접속을 성립하기 위하여 3-way handshake를 사용한다. - 즉, 정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정을 의미한다. - TCP의 연결을 초기화 할 때 사용한다. * 3-way handshake 과정 1. 클라이언트는 서버에 접속을 요청하는 SYN 패킷을 보낸다. 클라이언트는 SYN/ACK 응답을 기다리는 SYN_SENT 상태, 서버는 Wait for Client 상태이다. 2. 서버는 SYN 요청을 받고 클라이언트에게 요청을 수락한다는 ACK와 SYN 플래그가 설정된 패킷을 발송한다. 서버는 SYN_RECEIVED 상태가 된다. 3. 클라이언트는 서버에게 ACK를 보내고 연결이 이루어진다. 서버는.. TCP와 UDP TCP(Transmission Control Protocol) - 인터넷상에서 데이터를 메시지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜이다. - 연결 지향 방식으로 패킷 교환 방식을 사용한다. - 3-way handshaking 과정을 통해 연결을 설정한다. - 4-way handshaking 과정을 통해 연결을 해제한다. - 흐름 제어(데이터를 송신하는 곳과 수신하는 곳에서 데이터 처리 속도를 조절하여 수신자의 버퍼 오버플로우를 방지하는 것. 예를 들어 송신하는 곳에서 감당이 안되게 데이터를 빠르게 많이 보내면 수신자에서 문제가 발생하기 때문) 및 혼잡 제어(데이터를 송신하는 곳의 데이터 전달과 네트워크 처리 속도 차이를 해결하기 위한 기법), 높은 신뢰성 보장 UDP(User Datagra.. 'www.google.com'을 브라우저에 입력하면 일어나는 일 1. 웹브라우저는 캐싱된 DNS 기록들을 통해 해당 도메인주소(www.google.com)와 대응하는 IP 주소를 확인한다. - 우리가 흔히 아는 도메인 주소는 사용자가 기억하기 쉽도록 IP 주소를 문자열로 바꾼 것이기 때문에 IP 주소를 찾아야한다. 2. 캐싱 기록이 없을 경우, 웹브라우저는 HTTP를 사용하여 DNS에게 입력된 도메인 주소에 대응하는 IP 주소를 요청한다. - Root DNS, TLD DNS, Autoritative DNS 서버 등에 순서대로 쿼리를 보내 IP 주소를 확인한다. 3. DNS가 웹브라우저에게 도메인주소와 대응하는 사이트의 IP 주소를 응답한다. 4. IP주소를 응답받은 클라이언트(브라우저)는 google의 서버와 TCP 연결을 한다. - TCP 연결을 위해 3 way h.. TCP/IP 4계층 1. TCP/IP 4계층이란? - OSI 7 계층 : 네트워크 전송 시 데이터 표준을 정리 - TCP/IP 4 계층 : OSI 7 계층 이론을 실제 사용하는 인터넷 표준 2. TCP / IP 개념 정리(선수 지식) 2.1 IP (Internet Protocol) - 지정한 IP 주소에 데이터의 조각들을 패킷(Packet)이라는 통신 단위로 최대한 빨리 목적지로 보내는 역할 - 조각들의 순서가 뒤바뀌거나 일부가 누락되더라도 크게 상관하지 않고 보내는 데 집중 - 패킷의 순서도 보장할 수 없고 패킷이 중간에 유실되도 방안이 없음 2.2 TCP(전송제어 프로토콜) - 패킷 데이터의 전달을 보증하고 보낸 순서대로 받게 해준다 - 도착한 패킷을 점검하여 줄을 세우고 유실되거나 순서가 변경되면 다시 요청하는 식으.. OSI 7계층 1. OSI(Open System Interconnection) 7계층이란? 국제 표준화 기구 (ISO)가 1984년에 발표한 것으로 컴퓨터 통신 구조의 모델과 앞으로 개발될 프로토콜의 표준적인 뼈대를 제공하기 위해 개발된 참조 모델이다. 쉽게 말해서 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다. 2. OSI 7계층을 나눈 이유는? 통신이 일어나는 과정을 단계별로 파악하기 위함이다. 7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건들이지 않고도 이상이 생긴 단계만 고칠수 있기 때문이다. 3. OSI 7 계층에 대한 설명 * 데이터가 만들어지는 과정은 7, 6, 5계층을 통해서 만들어진다. 3.1 7계층 - 응용 계층(Application Layer) - 이 계층.. 이전 1 2 다음