컴퓨터 사이언스/Network

컴퓨터 사이언스/Network

HTTP 헤더 중 X-Requested-With에 대해

관습적으로 Javascript를 이용한 네트워크 요청의 경우, HTTP 헤더 중 X-Requested-With 값을 XMLHttpRequest 로 설정하여 전달한다. jquery의 ajax 구문을 이용할 땐는 이 헤더가 기본적으로 설정되는듯 하다. 따라서 request.getHeader("X-Requested-With") == "XMLHttpRequest" 의 경우에는 ajax라고 생각해야 될 듯 하다. 인용 https://yiunsr.tistory.com/875 HTTP 헤더 중 X-Requested-With 에 대해 파이썬 flask 웹 프레임워크 버전을 2.0 대로 업데이트 하는 테스트를 진행하였다. 기존에는 request.is_xhr 이라고 해서 ajax 로 전달되는 것인지 아니면 http 에서 ..

컴퓨터 사이언스/Network

캐시 무효화

Cache-Control (확실한 캐시 무효화 응답) Cache-Contorl: no-cache, no-store, must-revalidate Pragma: no-cache HTTP 1.0 하위 호환

컴퓨터 사이언스/Network

프록시 캐시

Cache-Control Cache-Control: public 응답이 public 캐시에 저장되어도 됨 private 응답이 해당 사용자만을 위한 것임. private 캐시에 저장해야 함(default) s-maxage 프록시 캐시에만 적용되는 max-age Age: 60 (HTTP 헤더) origin 서버에서 응답 후 프록시 캐시 내에 머문 시간 (초0

컴퓨터 사이언스/Network

캐시와 조건부 요청 헤더

캐시 제어 헤더 Cache-Control: 캐시 제어, 캐시 지시어(directives) max-age : 캐시 유효 시간, 초 단위 no-cache : 데이터는 캐시해도 되지만, 항상 origin 서버에 검증하고 사용 no-store : 데이터에 민감한 정보가 있으므로 저장하면 안됨 Pragma: 캐시 제어 (하위 호환) no-cahche HTTP 1.0 하위 호환 Expires: 캐시 유효 기간(하위 호환) 캐시 만료일을 정확한 날짜로 지정 검증 헤더와 조건부 요청 헤더 검증 헤더 (Validator) ETag: "v1.0" Last-Modified: Thum 04 Jun GMT 조건부 요청 헤더 If-Match, If-None-Match: ETag 값 사용 If-Modified-Since, If-U..

컴퓨터 사이언스/Network

HTTP 헤더2 - 캐시와 조건부 요청

캐시 시간 초과시, 다시 네트워크 다운로드가 발생한다. 해결 : 검증 헤더와 조건부 요청 브라우저 개발자 도구에서 Status의 색깔이 연한 것은 cache해서 불러온 것. 검증 헤더와 조건부 요청 검증 헤더 캐시 데이터와 서버 데이터가 같은지 검증하는 데이터 Last-Modified, ETag 조건부 요청 헤더 검증 헤더로 조건에 따른 분기 If-Modified-Since : Last-Modified 사용 If-None-Match : ETag 사용 조건이 만족하면 200 OK 조건이 만족하지 않으면 304 Not Modified ETag, If-None-Match ETag, If-None-Match 정리 진짜 단순하게 ETag만 서버에 보내서 같으면 유지, 다르면 다시 받는다. 캐시 제어 로직을 서버에..

컴퓨터 사이언스/Network

HTTP 헤더 - 일반 헤더

header-field = field-name ":" OWS field-value OWS field-name은 대소문자 구분이 없음 HTTP 표준 1999년 RFC2616 -> 폐기됨 General 헤더 : 메시지 전체에 적용되는 정보. Connection: close Request 헤더 : 요청 정보. User-Agent Response 헤더 : 응답 정보. Server Entity 헤더 : 엔티티 바디 정보. Content-Type, Content-Length 엔티티 헤더는 엔티티 본문의 데이터를 해석할 수 있는 정보 제공 2014년 RFC7230~7235 등장 Entity -> Representation(표현) Representation = representation Metadata + Repres..

컴퓨터 사이언스/Network

HTTP 상태코드

상태 코드 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 1xx (Informational) : 요청이 수신되어 처리중 2xx (Successful) : 요청 정상 처리 3xx (Redirection) : 요청을 완료하려면 추가 행동이 필요 4xx (Client Error) : 클라이언트 오류, 잘못된 문법 등으로 서버가 요청을 수행할 수 없음 5xx (Server Error) : 서버 오류, 서버가 정상 요청을 처리하지 못함 2xx (Successful) 클라이언트의 요청을 성공적으로 처리 200 OK 201 Created 클라이언트가 요청했을 때, 서버에서 리소스를 등록한다. POST로 등록했을때 202 Accepted 요청이 접수되었으나, 아직 처리가 완료되지 않았음 배치 처리 같은 ..

컴퓨터 사이언스/Network

HTTP API 설계 예시

HTTP API - 컬렉션 POST 기반 등록 예) 회원 관리 API 제공 HTTP API - 스토어 PUT 기반 등록 예) 정적 컨텐츠 관리, 원격 파일 관리 HTML FORM 사용 웹 페이지 회원 관리 GET, POST만 지원 (제약) 회원 관리 시스템 API 설계 - POST 기반 등록 회원 목록 조회 : /members -> GET 회원 등록 : /members -> POST 회원 조회 : /members/{id} -> GET 회원 수정 : /members/{id} -> PATCH(부분 변경), PUT(게시글 덮어쓰기), POST 회원 삭제 : /members/{id} -> DELETE POST - 신규 자원 등록 특징 클라이언트는 등록될 리소스의 URI를 모른다. 회원 등록 /members ->..

컴퓨터 사이언스/Network

클라이언트에서 서버로 데이터 전송

데이터 전달 방식 쿼리 파라미터를 통한 데이터 전송 GET 주로 정렬 필터 (검색어) 메시지 바디를 통한 데이터 전송 POST, PUT, PATCH 회원가입, 상품 주문, 리소스 등록, 리소스 변경 4가지 상황 정적 데이터 조회 (GET) 이미지, 정적 텍스트 문서 쿼리 파라미터 없이 리소스 경로로 단순하게 조회 가능 동적 데이터 조회 (GET) 주로 검색, 게시판 목록에서 정렬 필터 (검색어) 조회 조건을 줄여주는 필터, 조회 결과를 정렬하는 정렬 조건에 주로 사용 GET은 쿼리 파라미터를 사용해서 데이터를 전달 HTML Form을 통한 데이터 전송 회원 가입, 상품 주문, 데이터 변경 POST-저장 HTML form 태그 Content-Type : application/x-www-form-urlenc..

kimjingyu
'컴퓨터 사이언스/Network' 카테고리의 글 목록 (3 Page)