[HTTP] HTTP 헤더 - 캐시와 조건부 요청
·
Back-End/HTTP
[작성일: 2023. 09. 12] 캐시 기본 동작캐시가 없을 때데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운받아야 한다.인터넷 네트워크는 매우 비싸고 느리다.브라우저 로딩 속도가 느리다.느린 사용자 경험   캐시 적용 cache-control: max-age=60캐시 덕분에 캐시 가능 시간동안 네트워크를 사용하지 않아도 된다.비싼 네트워크 사용량을 줄일 수 있다.브라우저 로딩 속도가 매우 빠르다.빠른 사용자 경험 하지만 캐시 유효 시간이 초과하면 서버를 통해 다시 데이터를 조회하고 캐시를 갱신한다.이때 다시 네트워크 다운로드(1.1M)가 발생하는 것이다. 서버에 있는 데이터와 클라이언트에게 있는 데이터가 변함이 없는데도 전체를 다시 다운 받는다면 낭비가 발생한다.     검증 헤더와 조..
[HTTP] HTTP 헤더 - 일반 헤더
·
Back-End/HTTP
[작성일: 2023. 09. 09] HTTP 헤더 개요1999년 RFC2616이 등장했지만 폐기되고, 2014년 RFC7230~7235가 등장했다. RFC732x가 등장하며 변화한 것을 알아보자. 엔티티(Entity) ➡️ 표현(Repressentation)Repressentation = representation Metadata + Representation Data표현 = 표현 메타데이터 + 표현 데이터  메시지 본문(message body)을 통해 표현 데이터를 전달한다.메시지 본문 = 페이로드(payload)표현은 요청이나 응답에서 전달할 실제 데이터를 의미한다.표현 헤더는 표현 데이터를 해석할 수 있는 정보를 제공한다.데이터 유형(html, json), 데이터 길이, 압축정보 등     표현Co..
[HTTP] HTTP 상태코드
·
Back-End/HTTP
[작성일: 2023. 09. 08] 상태코드상태코드란 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능을 의미한다.1xx (Informational) : 요청이 수신되어 처리 중(거의 사용 X)2xx (Successful) : 요청 정상 처리3xx (Redirection) : 요청을 완료하려면 추가 행동이 필요4xx (Client Error) : 클라이언트 오류, 잘못된 문법 등으로 서버가 요청을 수행할 수 없다는 의미5xx (Server Error) : 서버 오류, 서버가 정상 요청을 처리하지 못함. 클라이언트가 인식할 수 없는 상태코드를 서버가 반환한다면 상위 상태코드로 해석해서 처리하면 된다.미래에 새로운 상태코드가 추가되어도 클라이언트를 변경하지 않아도 된다.    2xx (Succes..
[HTTP] HTTP 메서드 활용
·
Back-End/HTTP
[작성일: 2023. 09. 07]  클라이언트 ➡️ 서버 데이터 전송데이터 전달 방식은 크게 2가지가 있다. 쿼리 파라미터를 통한 데이터 전송GET주로 정렬 필터(검색어)메시지 바디를 통한 데이터 전송POST, PUT, PATCH회원 가입, 상품 주문, 리소스 등록, 리소스 변경  정적 데이터 조회 이미지, 정적 텍스트 문서조회는 GET을 사용한다.정적 데이터는 일반적으로 쿼리 파라미터 없이 리소스 경로로 단순하게 조회 가능하다.  쿼리 파라미터 사용 주로 검색, 게시판 목록에서 정렬 필터(검색어)조회 조건을 줄여주는 필터, 조회 결과를 정렬하는 정렬 조건에 주로 사용한다.조회는 GET을 사용한다.GET은 쿼리 파라미터를 사용해서 데이터를 전달한다.  HTML Form 데이터 전송 HTML Form s..
[HTTP] HTTP 메서드
·
Back-End/HTTP
[작성일: 2023. 09. 06] HTTP API 회원 정보 관리 API URI를 설계해보자. 회원 목록 조회 /read-member-list회원 조회 /read-member-by-id회원 등록 /create-member회원 수정 /update-member회원 삭제 /delete-member 이렇게 설계한 URI는 좋은 URI 설계일까? 정답은 NO!가장 중요한 것은 리소스 식별하는 것이다. 그렇다면 리소스란 무엇일까? 회원을 등록하고 수정하고 조회하는 게 리소스를 뜻하는 것은 아니다. '회원'이라는 개념 자체가 바로 리소스라고 할 수 있다. 리소스는 어떻게 식별하는 게 좋을까? 회원을 등록하고 수정하고 조회하는 것을 모두 배제해야 한다. 회원이라는 리소스만 식별하면 되므로 회원 리소스를 URI에 매핑..
[HTTP] HTTP
·
Back-End/HTTP
[작성일: 2023. 09. 05] HTTPHyper Text Transfer Protocol모든 것이 HTTP이며 HTTP 메시지에 모든 것을 전송한다. HTML, TEXT, IMAGE, 음성, 영상, 파일, JSON, XML(API) 거의 모든 형태의 데이터 전송이 가능하다.서버간 데이터를 주고 받을 때도 대부분 HTTP를 사용한다.기본적으로 클라이언트-서버 구조로 동작한다.무상태 프로토콜(스테이스리스)을 지향하며 비연결성이라는 특징을 가진다.HTTP 메시지를 통해 통신하며 단순하고 확장 가능하다.  기반 프로토콜TCP: HTTP/1.1, HTTP/2UDP: HTTP/3현재는 HTTP/1.1을 주로 사용하며 HTT/2, HTTP/3도 점점 증가하고 있다.     클라이언트 서버 구조Request(클라..