(참고: 단순히 HTTP 응답 데이터의 매커니즘을 파악하기 위한 글로써 Servlet을 기준으로 작성되었다) 서버가 HTTP 응답 메시지를 통해 클라이언트(사용자)에게 데이터를 전송하는 방법을 정리해보고자 한다 요청과 비슷하게 3가지의 방식으로 나뉜다 단순 텍스트 response.getWriter().write("ok"); 정말 단순하게 텍스트의 데이터만 응답하는 것으로 사용자 화면에 글자 자체만 출력이 되는 형식이다 HTML PrintWriter writer = response.getWriter(); writer.println(""); writer.println(""); writer.println(" Hello"); writer.println(""); writer.println(""); 이 또한 단순하..

(참고: 단순히 HTTP 요청 데이터의 매커니즘을 파악하기 위한 글로써 Servlet을 기준으로 작성되었다) 클라이언트(사용자)가 HTTP 요청 메시지를 통해 서버에 데이터를 전송하는 방법을 정리해보고자 한다 데이터를 전송하는 방법은 3가지의 방식으로 나뉘며 이 3가지 방식으로 클라이언트가 보내는 모든 요청 데이터를 받을 수 있다 쿼리 파라미터 (HTTP GET) MessageBody가 아닌 URL의 쿼리 파라미터에 데이터를 포함해서 전달하는 방식이다 검색, 필터, 페이징 등에서 많이 사용되는 방식이며 클라이언트에게 직접적으로 노출이 되기 때문에 민감한 정보는 제외해야 한다 또한 쿼리파라미터의 경우 message body가 아닌 url을 통하여 데이터를 전송하기 때문에 content-type이 없다 HT..

HTTP Status HTTP Status 말 그대로 상태를 알려주는 응답 코드들인데 서버에서 클라이언트에게 이 코드들로 응답을 하여 서버와의 통신이 성공적이었는지, 어떠한 문제가 있는지 알려준다 응답은 5개의 그룹으로 나눠져 있다 1XX: Information Response (응답 - 요청이 수신되어 처리 중 / 거의 사용하지 않는다고 함) 100: Continue 진행 중임을 나타내며, 현재까지 진행상태에 문제가 없으며 클라이언트가 계속해서 요청을 하거나 이미 요청을 완료한 경우에는 무시해도 된다 101: Switching Protocol 클라이언트에 의해 보낸 업그레이드 요청 헤더에 대한 응답으로 보내진다 이 헤더에 들어가며 서버에서 프로토콜을 변경할 것을 알려준다, 101 코드 같은 경우 Web..

우리가 어떤 웹사이트에 들어갔다고 생각해보자 그러면 이미지를 비롯한 수많은 데이터들을 내려받게 될 것이다 네트워크상에서 무언가를 가져오는 것은 우리가 생각하는 것보다 굉장히 느리고 (로컬디스크에 비해선) 비용도 상당하다 물론 그게 새로운 것이라면 느리고 비용이 나간다고 하더라도 필수적인 부분이다 하지만 똑같은 리소스를 매번 받아야 한다면? 굉장한 낭비가 될 것이다 이때 사용하는 것이 바로 캐시(Cache)이다 캐시(Cache) 이때 데이터에 캐시를 적용하게 되면 브라우저에 있는 캐시 저장소에 저장이 된다. 또한 max-age를 통하여 캐시의 유효기간을 설정 할 수 있다 Cache-Control:max-age=600 이렇게 되면 유효기간내에 동일한 데이터를 요청하였을 경우 캐시 저장소에서 데이터를 꺼내와 ..

HTTP는 기본적으로 무상태 프로토콜(Stateless)로 통신하기 때문에 클라이언트가 요청하고 응답받았던 내용이 저장되지 않는다. 이 말인즉슨 내가 만약 로그인을 했다면 기존의 HTTP 무상태 프로토콜은 그 로그인의 상태가 저장이 안 된다는 것이다 이를 보완하기 위하여 사용하는 것이 바로 쿠키와 세션 그리고 캐시이다 우선 이들의 차이점부터 간략하게 알아보자 쿠키(Cookie) 세션(Session) 캐시(Cache) 정의 정보를 저장하기 위해 사용된다, 기본적으로 웹서버에서 PC로 보내는 작은 파일들을 저장한다, 이는 보통 특정한 웹사이트를 접속할 때 발생한다 일정 시간동안 같은 브라우저의 요청을 하나의 상태로 보고 그 상태를 유지 한다 웹 펩이지 요소를 저장하기 위한 임시저장소이다, 이러한 요소들은 그..

클라이언트가 서버에 요청을 할 때 서버가 URI와 HTTP Method로 요청을 구분하였다면 서버에서는 그 요청의 세부적인 요구사항과 제공사항들을 헤더(Header)의 정보를 가지고 처리하여 응답한다 요청과 응답을 위해 사용되는 헤더는 정말 많은데 그중 꼭 알아야 할 헤더들만 정리해보았다. General Header: (기본 헤더 : 요청 , 응답 둘 다 가능) 1.Date HTTP메시지를 생성한 일시 2.Connection 클라이언트와 서버 간 연결에 대한 옵션 Connection: keep-alive ->현재 TCP Connection을 유지한다는 뜻 Connection: close ->현재의 HTTP 메시지 직후에 TCP 접속을 끊는다는 뜻 3.Cache-Control HTTP(7) - 쿠키와 세션..
- Total
- Today
- Yesterday
- DTO와 VO의 차이
- cookie
- jQuery 직접 선택자
- @ResponseStatus
- uri
- 제이쿼리 인접 관계 선택자
- Session
- 세션
- Cache
- spring
- 제이쿼리란
- maenco
- 제이쿼리 직접 선택자
- Spring Container
- 캐시
- @ExceptionHandlere
- 제이쿼리 기본 선택자
- ExceptionHandlerExceptionResolver
- 제이쿼리 위치탐색선택자
- Spring MVC
- DefaultHandlerExceptionResolver
- 제이쿼리 탐색선택자
- OOP
- 맨코
- application/x-www-form-urlencoded
- Spring TypeConverter
- 쿠키
- http
- ResponseStatusExeceptionResolver
- Spring API Error
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |