본문 바로가기

http15

HTTP 헤더2 - 캐시 기본동작 , 조건부 요청 캐시가 없으면 데이터가 변경되지 않아도 요청시마다 계속해서 다운로드를 받아야 한다 캐시적용 1 캐시가 유효한 시간 설정 캐시 적용 2 캐시덕분에 네트워크 사용량 줄일수 있다(비용 감소) 브라우저 로딩속도 빠르다 빠른 사용자 경험 캐시 적용3(캐시시간 초과) 유효시간 초과시 서버통해서 데이터 다시 조회, 캐시 갱신 이따 다시 네트워크 다운로드 발생(비용발생) stay? 캐시시간이 초과 되었다면 재요청시 조회 , 갱신과 같은 과정을 반복하여 다시 다운로드를 해야한다 ex) 기존 데이터와 완전히 동일하지만 캐시시간 초과되었다는 이유로 같은 동작을 또 수행해야한다 => 트래픽 발생 캐시 초과하여 서버에 재요청시 두가지 상황이 나타난다 1. 서버에서 기존 데이터를 변경 2. 서버에서 기존 데이터 변경하지 x 2번.. 2024. 2. 12.
쿠키 Set-Cookie : 서버에서 클라이언트로 쿠키 전달(응답) Cookie : 클라이언트가 서버에서 받은 쿠키를 저장하고 , HTTP 요청시 서버로 전송 HTTP는 무상태 프로토콜이다(Stateless) 클라이언트와 서버는 서로 상태를 유지하지 않는다. 쿠키미사용 대안 - 모든 요청에 사용자 정보 포함? 모든 요청에 정보를 넘기는 문제 모든 요청에 사용자 정보가 포함되도록 개발 해야함 브라우저를 완전히 종료하고 다시 열면? 쿠키 모든 요청에 쿠키 정보 자동 포함 사용처 ● 사용자 로그인 세션 관리 광고 정보 트래킹 쿠키 정보는 항상 서버에 전송됨 ● 네트워크 트래픽 추가 유발 ● 최소한의 정보만 사용(세션id , 인증 토큰) ● 서버에 전송하지 않고 , 웹 브라우저 내부에 데이터를 저장하고 싶으면 웹 스.. 2024. 2. 6.
HTTP 헤더 헤더의 용도 HTTP 전송에 필요한 모든 부가정보 헤더 분류 RFC2616(과거) General헤더 Request헤더 Response헤더 Entity헤더 표현 content type content encoding content language 협상(콘텐츠 네고시에이션) 클라이언트가 선호하는 표현요청 Accept : 클라이언트가 선호하는 미디어 타입전달 Accept-Charset : 클라이언트가 선호하는 문자 인코딩 Accept-Encoding : 클라이언트가 선호하는 압축 인코딩 Accept-Language : 클라이언트가 선호하는 자연 언어 협상헤더는 요청시에만 사용 협상과 우선순위2 Quality Values(q) 구체적인 것이 우선한다. Referer 이전 웹 페이지 주소 현재 요청된 페이지의 이전.. 2024. 2. 6.
HTTP API HTTP API 설계 예시 HTTP API - 컬렉션 POST 기반 등록 ex) 회원 관리 API 제공 API 설계 - POST 기반 등록 회원 목록 /members -> GET 회원 등록 /members -> POST 회원 조회 /members/{id} -> GET 회원 수정 /members/{id} -> PATCH > PUT > POST 회원 삭제 /members/{id} -> DELETE 회원 수정을 고민 해봐야 한다! (게시글 수정시 PUT을 생각 해볼수있다) POST - 신규 자원 등록 특징 클라이언트는 등록될 리소스의 URI를 모른다 회원 등록 /members -> POST POST/ members 서버가 새로 등록된 리소스 URI를 생성해준다 HTTP/1.1 201 Created Locati.. 2024. 2. 4.