본문 바로가기
728x90
반응형

http27

[Spring] 스프링 MVC - 상품 도메인 개발 및 상품 서비스 HTML - 부트스트랩 Item - 상품 객체 package hello.domain.item; import lombok.Data; @Data public class Item { private Long id; private String itemName; private Integer price; private Integer quantity; public Item() { } public Item(String itemName, Integer price, Integer quantity) { this.itemName = itemName; this.price = price; this.quantity = quantity; } } ItemRepository - 상품 저장소 package hello.domain.item; import org.s.. 2023. 6. 14.
[Spring] 요청 매핑 MappingController package hello.springmvc.basic.requestmapping; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.*; @RestController public class MappingController { private Logger log = LoggerFactory.getLogger(getClass()); /** * 기본 요청 * 둘다 허용 /hello-basic, /hello-basic/ * HTTP 메서드 모두 허용 GET, HEAD, POST, PUT, PATCH, DELETE */ @RequestMapping(.. 2023. 6. 8.
[Spring] HTTP 요청 데이터 종류 및 GET 쿼리 파라미터 HTTP 요청 메시지를 통해서 클라이언트에서 서버로 데이터를 전달하는 방법의 종류가 있다. 주로 3가지 방법을 사용한다. (1) GET - 쿼리 파라미터 - /url?username=hello&age=20 - 메시지 바디 없이, URL의 쿼리 파리미터에 데이터를 포함해서 전달 - 예) 검색, 필터, 페이징 등에서 많이 사용하는 방식 (2) POST - HTML Form - content-type : application/x-www-form-urlencoded - 메시지 바디에 쿼리 파라미터 형식으로 전달 username=hello&age=20 - 예) 회원 가입, 상품 주문, HTML Form 사용 (3) HTTP message body에 데이터를 직접 담아서 요청 - HTTP API에서 주로 사용, J.. 2023. 5. 17.
[Spring] HttpServletRequest 개요 및 기본 사용 HTTP 요청 메시지를 개발자가 직접 파싱해서 사용해도 되지만, 매우 불편할 것이다. 서블릿은 개발자가 HTTP 요청 메시지를 편리하게 사용할 수 있도록 개발자 대신에 HTTP 요청 메시지를 파싱한다. 그리고 그 결과를 HttpServletRequest 객체에 담아서 제공한다 HttpServletRequest를 사용하면 다음과 같은 HTTP 요청 메시지를 편리하게 조회할 수 있다. POST /save HTTP/1.1 Host: localhost:8080 Content-Type: application/x-www-form-urlencoded username=lee&age=30 시작 라인 ( POST /save HTTP/1.1 )은 - HTTP 메소드 - URL - 쿼리 스트링 - 스키마, 프로토콜 의 정보가.. 2023. 5. 17.
[HTTP] HTTP 헤더 - 검증 헤더와 조건부 요청 캐시 시간 초과 캐시 유효 시간이 초과해서 서버에서 다시 요청하면 다음 두 가지 상황이 나타난다. 서버에서 기존 데이터를 변경함 서버에서 기존 데이터를 변경하지 않음 캐시 만료 후에도 서버에서 데이터를 변경하지 않음 생각해보면 데이터를 전송하는 대신에 저장해두었던 캐시를 재사용할 수 있다. 단 클라이언트의 데이터와 서버의 데이터가 같다는 사실을 확인할 수 있는 방법 필요 검증 헤더 추가 첫 번째 요청 두 번째 요청 - 캐시 시간 초과 정리 캐시 유효 시간이 초과해도, 서버의 데이터가 갱신되지 않으면 304 Not Modified + 헤더 메타 정보만 응답(바디X) 클라이언트는 서버가 보낸 응답 헤더 정보로 캐시의 메타 정보를 갱신 클라이언트는 캐시에 저장되어 있는 데이터 재활용 결과적으로 네트워크 다운로.. 2022. 8. 17.
[HTTP] HTTP 헤더 - 캐시 기본 동작 캐시가 없을 때 첫 번째 요청 두 번째 요청 캐시가 없을 때 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야 한다. 인터넷 네트워크는 매우 느리고 비싸다 브라우저 속도가 느리다 느린 사용자 경험 캐시 적용 첫 번째 요청 두 번째 요청 캐시 적용 캐시 덕분에 캐시 가능 시간동안 네트워크를 사용하지 않아도 된다. 비싼 네트워크 사용량을 줄일 수 있다. 브라우저 로딩 속도가 매우 빠르다 빠른 사용자 경험 캐시 적용 세 번째 적용 - 캐시 시간 초과 캐시 시간 초과 캐시 유효 시간이 초과하면, 서버를 통해 데이터를 다시 조회하고, 캐시를 갱신한다 이때 다시 네트워크 다운로드가 발생한다. 2022. 8. 17.
728x90
반응형