본문 바로가기

개발137

캐시 네트워크에서의 캐시란? HTTP는 상태를 유지하지 않는다. 그렇다면 자원을 요청할 때 마다 자원은 새롭게 응답될까? 서버의 지연을 줄이기 위해 웹 페이지, 이미지 등의 자원 사본을 임시 저장하는 웹 기술 캐시된 자원이 저장되는 공간 : 클라이언트(브라우저) 혹은 특별한 서버(캐시 서버, 프록시 서버) cache-controll 헤더 cache-controll 헤더로 캐시 기능을 알린다 cache-controll : max-age = 숫자(초) → 캐시한 자원의 지속 시간 cache-controll : no-cache → 캐시 가능한 자원이나, 항상 origin(본) 서버에 검증하기 cache-control: no-store → 캐시 하면 안될 자원 지속 시간 : 지속시간보다 넘어가면 다시 요청해야한다, .. 2024. 1. 31.
HTTP 헤더 CH05-6 HTTP 헤더 HTTP 헤더 header-field = field name “:” field-value 메세지 전송에 필요한 부가 정보 대표적인 헤더 정보 Host : 요청 호스트에 대한 호스트명 + 포트 정보 Date : 메세지 생성 시간 Referer : 직전에 머물렀던 URL(*) User-Agent : 클라이언트 소프트웨어, 브라우저 명칭과 정보, 특정 상황에서의 오류를 디버깅 할 때 사용 Server : 서버 소프트웨어 명칭과 정보 Connection : kepp-alive 일 경우 킵 얼라이브(HTTP 1.1) Location : 리다이렉트시 이동할 경로 Q1 : Host Q2 : Referer Q3 : User-Agent Q4 : Server Q5 : Location Conten.. 2024. 1. 31.
HTTP 메세지 개관 CH5-05. HTTP 메세지 개관 HTTP 요청 헤더 - Start-line HTTP 메서드(공백) 요청 대상(공백)HTTP 버전(개행) HTTP 메서드 : 서버에게 요청할 동작(해당 자원으로 어떤 동작을 요청할지) GET : 자원 조회(”갖다줘”) POST : 요청할 데이터 처리(”이 데이터 처리해줘”) PUT : 자원 덮어쓰기 PATCH : 자원 부분 변경 DELETE : 자원 삭제 이외에도 HEAD, OPTIONS, TRACE, CONNECT GET 요청 리소스 조회에 사용 일반적으로 쿼리 문자열을 사용하되, 본문은 없음(message body X) “갖다줘” POST 요청 메세지 본문으로 처리할 데이터 전송 메세지 본문에 해당하는 데이터 처리하도록 요청 어떻게 처리할지는 서버가 결정(ex : 새.. 2024. 1. 31.
HTTP의 특성 CH5-04. HTTP의 특성 HTTP의 기본 특성 요청-응답 기반 클라이언트 - 서버 구조 프로토콜 미디어 - 독립적 프로토콜 비연결성 프로토콜 statelss 프로토콜 지속 연결 프로토콜 요청-응답 기반 클라이언트 - 서버 구조 프로토콜 HTTP 클라리언트(HTTP 요청 메세지) HTTP 서버(HTTP 응답 메세지) 오해 방지 : 서버 간에도 HTTP 메세지를 주고받을 수 있다. 미디어 - 독립적 프로토콜 어떤 형태의 데이터도 HTTP 메세지로 보낼 수 있다. EX) HTML, 이미지, JSON, XML, 파일, 영상, 이미지 등 비 연결성 프로토콜 HTTP 1.0, HTTP 1.1, HTTP 2.0은 TCP 기반 TCP는 연결성 프로토콜 HTTP는 비연결성 프로토콜 다수의 클라이언트가 시도할 경우 .. 2024. 1. 31.
웹 서버와 웹 어플리케이션 서버 CH5-0.3 웹 서버와 웹 어플리케이션 서버 서버는 대답하는 대상(response), 클라이언트는 요청하는 대상(request) 웹과 관련된 서버 웹 서버 웹 어플리케이션 서버(WAS) 서버가 응답해야 하는 자원 정적인 자원 : 언제 어디서 누가 봐도 변하지 않는 정보(EX. HTML, 이미지, 동영상) 동적인 자원 : 언제 어디서 누가 보는지에 따라 변할 수 있는 정보 → 여기서 주로 사용되는 것이 데이터 베이스 정적인 자원을 응답하는 웹 서버 동적인 정보를 생성해 응답하는 웹 어플리케이션 서버 (TOMCAT, AGNIX) 웹 서비스에서는 웹 서버와 웹 어플리케이션 서버 둘 다 사용한다. → 클라이언트에서 동적인 정보를 요청할 때는 웹 서버에서 응답하고, 정적인 정보를 요청 할 때에는 웹 어플리케이션.. 2024. 1. 31.
자원과 자원의 식별 CH5-02. 자원과 자원의 식별 네트워크 상에서의 자원 네트워크로 주고받을 수 있는 모든 정보 파일, 이미지, 동영상, HTML, XML, JSON 네트워크 상에서의 자원이 필요하다면 자원을 요청해야한다. 자원을 요청하고 요청한 자원을 응답하려면 자원을 식별할 수 있어야 하기 때문에 자원의 식별자가 있어야 한다. 자원의 식별자 = URI → 자원을 식별할 수 있는 식별자 URI의 분류 URI는 위치 혹은 이름으로 분류 가능하다 URL : 위치 기반 자원 식별(Locator) URN : 이름 기반 자원 식별(Name) URI는 위치 혹은 이름으로 분류 가능하다. URL 구성 요소 scheme : 일반적으로 프로토콜 이름 명시(https) authority = [userinfo”@”]host[”:”port.. 2024. 1. 31.
DNS CH5-01.DNS 네트워크 상에서 호스트를 특정 지을 수 있는 주소 MAC 주소(물리 주소) IP 주소(논리적 주소) IP/MAC 주소를 모두 알고 있기 어렵다 그리고 IP 주소는 언제든 변경 될 수 있다. DNS는 전화번호부와 유사한 기능을 한다. 사람이 기억하기 쉬운 도메인 이름과 호스트를 특정지을 주소를 매핑 도메인 : 호스트에 부여되는 문자열 이름 계층적 도메인 구조 서브 도메인(하위 도메인) 도메인의 일부인 도메인 EX) naver.com → map.naver.com 각 도메인을 담당하는 도메인 서버 ROOT 네임 서버 TLD 서버 Authoritative DNS 서버 : 찾고자 하는 도메인의 IP 주소를 저장하는 최종 서버 → 찾은 내용을 최종적으로 저장하는 서버 local DNS 서버 : .. 2024. 1. 30.
TCP의 혼잡 제어와 흐름 제어 CH4-08. TCP의 혼잡 제어와 흐름 제어 파이프 라이닝 전송에서 송수신 입장에서는 무엇을 고려해야 할까? TCP 흐름 제어 송신 버퍼와 수신 버퍼 송신 버퍼 : 애플리케이션 계층에서 전송할 데이터 임시 저장되는 공간 수신 버퍼 : 네트워크 계층에서 수신할 데이터 임시 저장되는 공간 보낼 수 있는 양과 받을 수 있는 양은 한번에 한계가 있다, 보낼 것은 송신 버퍼에 담겨서 수신 버퍼로 간다. 송신 호스트가 수신 호스트가 처리할 수 잇는 수신 버퍼보다 더 많은 데이터를 전송하면? → 버퍼 오버플로우 : 일부 데이터가 처리 되지 않을 수 있다. TCP 흐름 제어 송신 호스트가 수신 호스트 처리 속도를 고려하며 송수신 속도를 균일하게 맞추는 것 오늘날 TCP 에서의 흐름 제어 → 슬라이딩 윈도우(slidi.. 2024. 1. 30.