본문 바로가기

개발/Network27

컨텐츠 협상 CH5-10.컨텐츠 협상 컨텐츠 협상 클라이언트가 원하는 컨텐츠를 받을 수 있도록 서버에게 부탁하는 기능 컨텐츠 타입, 언어, 인코딩 방법 등 클라이언트 맞춤 컨텐츠 제공 기능 Accept(-X) 헤더 이용 Accept : 클라이언트가 선호하는 컨텐츠 타입 Accept - Encoding : 클라이언트가 선호하는 인코딩 Accept - Language : 클라이언트가 선호하는 언어 여러 맞춤 요청을 보낼 수 있다, 여러개의 컨텐츠 협상 가능 여러 맞춤 요청을 보낼 대 Quality Value 값을 기준으로 우선순위를 매길 수 있다. 0 ≤ Quality Value(q) ≤ 1 클수록 우선순위가 높다. 명시되어있지 않다면 default = 1 2024. 1. 31.
쿠키 CH5 - 09.쿠키 쿠키란 HTTP는 상태를 유지하지 않는 프로토콜 그럼 요청을 보낼 때마다 모든 정보를 URL 쿼리, HTTP 바디로 보내야할까? 쿠키 서버로부터 받은 정보를 클라이언트 측(웹 브라우저)에 임시 저장되는 이름=값 형태의 데이터 서버가 쿠키를 세팅해서 클라이언트에게 보내주면 앞으로의 요청에 있어 클라이언트가 쿠키 데이터를 함께 서버에 요청 메세지를 보낼 수 있다.. 유효기간이 있다.(EXPIRES) 쿠키를 전송할 도메인과 경로가 정해져 있다. 서버가 Set-Cookie 헤더로 쿠키를 전달하면 클라이언트는 쿠키를 저장하여 다음 HTTP 요청의 Cookie 헤더로 활용한다. 쿠키의 도메인 Set-Cookie : domain=example.com(이름,값 형태) example.com(을 비롯.. 2024. 1. 31.
캐시 네트워크에서의 캐시란? 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.