본문 바로가기

HTTP

(5)
[HTTP] Cache-Control Cache-Control: max-age 캐시 유효 시간, 초 단위 Cache-Control: no-cache 데이터는 캐시해도 되지만, > if-modified-since 혹운 if-none-match를 사용해서 데이터를 가져온다.(조건부) 항상 원 서버에 검증하고 사용 > 프록시 캐시 (중간 캐시)에서 가져오지 않고, 원서버에서 가져오도록 한다. Cache-Control: no-store 데이터에 민감한 정보가 있으면 저장하면 안됨 보통 캐시 같은 경우 하드 디스크에 저장됨 (메모리에서 사용하고 최대한 빨리 삭제) [프록시 캐시] Cache-Control: public 응답이 public 캐시에 저장되어도 됨 public 캐시: 한국의 클라이언트와 미국의 원서버 사이에 있는 프록시 캐시 서버 Cach..
[HTTP] 캐시_304 Not Modified (Last-Modified& ETag) Last-Modified (if-modified-since) 캐시 만료후에도 서버에서 데이터를 변경하지 않음 그러면 데이터를 전송하는 대신에 브라우저에 저장해 두었던 캐시를 재사용할 수 있다. 단, 클라이언트의 데이터와 서버의 데이터가 같다는 사실을 확인할 수 있는 방법이 필요. 검증 헤더 추가 1. 요청 > GET /star.jpg [헤더] HTTP/1.1 200 OK Content-Type: image/jpeg cache-control: max-age=60 Last-Modified: 2022년 9월 3일 08:54:00 Content-Length: 34012 [HTTP BODY: ..........................] 2. 헤더 + 바디 크기로 하여 1.1M를 전송한다. (데이터 최종 수정..
[HTTP] 헤더_협상 콘텐츠 네고시에이션 > 클라이언트가 선호하는 표현 요청 Accept: 클라이언트가 선호하는 미디어 타입 전달 Accept-Charset: 클라이언트가 선호하는 문자 인코딩 Accept-Encoding: 클라이언트가 선호하는 압축 인코딩 Accept-Language: 클라이언트가 선호하는 자연 언어 Accept-Language 적용전 1. 요청 > GET /event 2. 응답 > Content-Language: en / hello(영어) / 다중 언어 지원 서버 ( 1. 기본 영어(en) 2. 한국어 지원(ko) ) 적용후 1. 요청 > GET /event / Accept-Language: ko 2. 응답 > Content-Language: ko / 안녕하세요 / 다중 언어 지원 서버 (1. 기본 영어(..
[HTTP] 헤더_표현 Content-Type 표현 데이터의 형식 1) Multipart Related MIME 타입 - Content-Type: Multipart/related (기본형태) - Content-Type: Application/X-FixedRecord 2) XML Media의 타입 - Content-Type: text/xml - Content-Type: Application/xml - Content-Type: Application/xml-external-parsed-entity - Content-Type: Application/xml-dtd - Content-Type: Application/mathtml+xml - Content-Type: Application/xslt+xml 3) Application의 타입 -..
[HTTP] 상태코드 (2xx, 3xx, 4xx) 2XX (Successful) 200 OK 201 Created 요청 한 것을 서버에서 리소스를 생성한 것 ( 주로 post로 등록했을 때 ) 201이 응답이 오면 헤더에 Location 값이 있을 수 있겠구나를 생각할 수 있음 202 Accepted 접수는 되었지만 처리가 되지 않았을 때 배치 처리 같은 곳에서 사용 ex) 요청 접수 후 1시간 뒤에 배치 프로세스가 요청을 처리함 204 No Content 서버가 요청을 성공적으로 수행했지만, 응답 페이로드 본문에 보낼 데이터가 없음 ex) 웹 문서 편집기에서 save버튼 > 데이터가 post라 서버에 넘어갔지만 본문 응답을 받을 필요가 없음. save버튼의 결과로 아무 내용이 없어도 됨 3XX (Redirection) 요청을 완료하기 위해 유저 에이전..