[HTTP]HTTP 헤더2 - 캐시와 조건부 요청
·
🌐 Web/HTTP 웹 기본 지식
캐시 기본 동작 캐시가 없으면 웹 브라우저는 서버에게 star.jpg라는 이미지 파일을 요청하고 다운로드하는 과정을 요청을 할때마다 계속 반복될 것이다. 이것은 사용자의 입장으로 매우 느리고 답답한 경험이 될 것이다. 캐시가 없을 때 · 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드하여야 한다. · 인터넷 네트워크는 매우 느리고 비싸다 · 브라우저 로딩 속도가 느리다. · 느린 사용자 경험 캐시를 적용하면 웹 브라우저에서 서버에게 star.jpg 이미지 파일을 요청하면 서버는 응답 메시지의 헤더 태그에 예를 들어 cache-control: max-age=60이라고 응답을 한다. 그러면 해당 이미지 파일은 브라우저의 캐시를 저장하는 곳에서 60초 동안 유효된다. 그리고 두 번째 요청을 ..
[HTTP]HTTP 헤더1 - 일반 헤더
·
🌐 Web/HTTP 웹 기본 지식
HTTP 헤더 헤더 필드 · header-field = field-name ":" OWS field-value OWS (OWS:띄어쓰기 허용) · field-name은 대소문자 구문 없음 위 이미지는 HTTP 요청 메시지와 응답 메시지이다. 노란색 테두리가 있는 부분은 헤더 필드이다. HTTP 헤더 용도 · HTTP 전송에 필요한 모든 부가정보 예) 메시지 바디의 내용, 메시지 바디의 크기, 압축, 인증, 요청 클라이언트, 서버 정보, 캐시 관리 정보... · 표준 헤더가 너무 많음 → https://en.wikipedia.org/wiki/List of HTTP header fields · 필요시 임의의 헤더 추가 가능 예) helloworld:hihi RFC2616(과거) · General 헤더: 메시..
[HTTP]HTTP 상태코드
·
🌐 Web/HTTP 웹 기본 지식
상태 코드 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 · 1xx (Informational): 요청이 수신되어 처리 중 · 2xx (Successfull): 요청 정상 처리 · 3xx (Redirection): 요청을 완료하려면 추가 행동이 필요 · 4xx (Client Error): 클라이언트 오류, 잘못된 문법 등으로 서버가 요청을 수행할 수 없음 · 5xx (Server Error): 서버 오류, 서버가 정상 요청을 처리하지 못함 만약 모르는 상태 코드가 나타난다면 클라이언트는 상위 상태 코드로 해석해서 처리하면 된다. 미래에 새로운 상태 코드가 추가되어도 클라이언트를 변경하지 않아도 된다. 예) 299 ??? → 2xx (Successful), 451 ??? → 4xx (Clie..
[HTTP]HTTP 메서드
·
🌐 Web/HTTP 웹 기본 지식
HTTP API API URI 설계 URI(Uniform Resource Identifier) 회원 목록을 조회, 회원 조회, 회원 등록, 회원 수정, 회원 삭제를 하는 URI를 설계한다고 하면 각각 read-member-list, read-member-by-id ... 이런 식으로 설계하는 것은 좋은 URI설계가 아니다. URI설계에서 가장 중요한 것은 리소스를 식별할수 있어야 한다. 리소스의 의미는 무엇일까. 회원을 등록하고 수정하고 조회하는 것은 리소스가 아니다. 회원이라는 개념 자체가 바로 리소스이다. ( 예: 미네랄을 캐라 → 미네랄이 리소스 ) 그렇다면 리소스를 어떻게 식별하는게 좋을까? 회원을 등록하고 수정하고 조회하는 것을 모두 배제해야 한다. 회원이라는 리소스만 식별하면 된다. → 회원 ..
[HTTP]HTTP 기본
·
🌐 Web/HTTP 웹 기본 지식
HTTP Hyper Text Transfer Protocol HTTP 메시지에 모든 것을 전송 → HTML, TEXT → IMAGE, 음성, 영상, 파일 → JSON, XML (API) → 거의 모든 형태의 데이터 전송 가능 → 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용 지금은 HTTP 시대라고도 할 수 있다. HTTP 역사 → HTTP/0.9 1991년: GET 메서드만 지원, HTTP 헤더 X → HTTP/1.0 1996년: 메서드, 헤더 추가 → HTTP/1.1 1997년: 가장 많이 사용, 우리에게 가장 중요한 버전 → RFC2068 (1997) ▷ RFC2616 (1999) ▷ RFC7230~7235 (2014) → HTTP/2 2015년: 성능 개선 → HTTP/3 진행 중: TC..
[Spring]프로젝트 환경설정
·
🌿 Framework/Spring
프로젝트 생성 Spring을 사용하기 위해서는 기본적으로 Java를 사용한다. 그렇기 때문에, Java를 기본적으로 설치할 수 있어야 한다. 인프런의 Spring입문강의는 기본적으로 Java 11 버전을 사용하기 때문에 11 버전을 설치하는 게 좋다. IDE(통합 개발 환경)는 IntelliJ 또는 Eclipse를 설치하면 된다. 이렇게 준비가 되었다면 프로젝트를 생성하면 된다. 옛날 같은 경우에는 Spring프로젝트를 밑바닥부터 만들었던 반면에, 요즘에는 스프링 부트를 사용해 쉽게 생성이 가능하다. * 스프링 부트 스타터 사이트로 이동해서 스프링 프로젝트 생성 * https://start.spring.io 위 사진은 스프링 부트 스타터 사이트의 페이지 사진이다. 제일 처음에 Project안의 Maven..
Kyle99
'인프런' 태그의 글 목록