Servlet (서블릿) 서블릿의 개념을 짚어보겠다 클라이언트(사용자)와 서버가 서로 소통을 할 때 HTTP란 규칙을 따라서 요청과 응답을 하게 된다 이때 클라이언트가 보낸 요청과 데이터는 서버에서 처리를 하고 응답을 해야 하는데 이 서블릿이 바로 요청을 처리하고 그 결과를 반환해주는, Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술이다 예시로 클라이언트가 회원가입을 한다고 해보자 이때 회원의 이름, 아이디, 비밀번호 등등의 정보를 서버에 전송을 한다 서버는 받은 정보를 처리한후 회원가입성공 페이지를 클라이언트에게 응답하여야 하는데 이러한 역할을 수행하는 것이 바로 서블릿이다 근데 서블릿만으로는 한계가 있는 것이 클라이언트가 URL을 입력하여 요청을 하게 되면 정보를 처리하기 위해 스레..
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) - 쿠키와 세션..
API: Application Programming Interface API API라는 것은 결국 클라이언트(사용자)와 프로그램, 프로그램과 프로그램 간의 요청 응답을 하게 해주는 "모든" 것이다 (내가 이해 한 바로는) 예를 들어 날씨 정보를 조회하는 API를 만든다고 하자 날씨는 시간, 지역마다 다르기 때문에 이러한 정보들이 분명 필요할 것이다 그래서 클라이언트에게 이에 해당하는 정보를 받아 프로그램(서버)으로 넘겨준다 여기에 한번 더 들어가 보자 서버에서 요청을 받았는데 클라이언트가 원하는 것은 한국의 날씨 정보가 아니라 미국의 날씨 정보였다 그래서 미국 자료를 줄 수 있는 프로그램에게 요청을 한다 이렇듯 API는 클라이언트는 물론 서버 간의 요청과 응답도 가능하게 한다 구글, 다음카카오, 네이버 ..
- Total
- Today
- Yesterday
- ResponseStatusExeceptionResolver
- 맨코
- 쿠키
- Cache
- @ExceptionHandlere
- @ResponseStatus
- 제이쿼리 직접 선택자
- Spring API Error
- 제이쿼리 위치탐색선택자
- Session
- application/x-www-form-urlencoded
- Spring Container
- uri
- cookie
- 제이쿼리 탐색선택자
- ExceptionHandlerExceptionResolver
- Spring TypeConverter
- 제이쿼리란
- DTO와 VO의 차이
- Spring MVC
- spring
- OOP
- http
- DefaultHandlerExceptionResolver
- 캐시
- 제이쿼리 인접 관계 선택자
- 제이쿼리 기본 선택자
- jQuery 직접 선택자
- maenco
- 세션
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |