1. 쿼리 파라미터 (GET)2. HTML Form (POST)3. HTTP message body 쿼리 파라미터http://localhost:8080/main?name=test&count=2message body에 내용 없이, URL의 ?[query] 부분에 추가되어 데이터가 전달됨GET 메서드에서 사용검색 / 필터 / 페이징에서 많이 사용하는 방식@WebServlet(urlPatterns = "/main")public class RequestGet extends HttpServlet{ @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletExcepti..
Servlet ?Servlet은 웹서버의 요청 메서드에 따라서 응답을 만들기 위해서 사용하는 기술Servlet을 관리하는 컨테이너가 웹서버의 요청을 받고, 요청에 따른 응답을 동적으로 생성하여 주는 역할Servlet은 클래스파일로서 사용되고, Tomcat과 같이 사용된다 ( 따라서, Tomcat 서버 구성이 필요 )Spring boot의 경우 내장 Tomcat이 있어서 사용하기에 수월하다. Servlet의 특징 Servlet은 어노테이션을 이용하여 지정할 수 있다 (@WebServlet)@WebServlet의 경우, 필수 입력값으로 "URLPattern='' "을 지정해줘야한다웹 컨테이너의 Client Request 처리 순서Servlet Load -> Servlet instance -> Servlet..
Cache 와 조건부 헤더캐시가 필요한 이유 - 요청할때마다 같은 데이터일지라도 전달해줘야한다 - 캐시를 적용하면 네트워크를 사용하지 않아됨 Cache HeaderCache-ControlCache 생명주기 설정가능Last-ModifiedCache 생명주기 끝나고, 데이터가 아직도 유효한지 체크하기 위해 "마지막 수정일자" 사용내용이 바뀌지 않았으면, Cache에 있던 데이터 내용 재사용 검증 헤더검증 헤더는 Cache의 데이터 내용과 서버에 데이터 내용이 일치하는지 검증하는 것ETag 와 Last-Modified"(request) If-Modified-Since => Last Modified" 로 검증"(request) If-None-Match => ETag" 로 검증검증헤더를 통과할 경우, 데이터..
1. HTTP Header2. HTTP BodyHTTP 헤더 분류 General 헤더메시지 전체에 적용되는 정보 ex) Connection : close Request 헤더 ( 요청 정보 )Negotiation Content ( 협상 )Accept클라이언트가 선호하는 미디어 타입 전달구체적인 것이 우선 ( text/* , text/plain , application/* ...)Accept-Charset클라이언트가 선호하는 문자 인코딩Accept-Encoding클라이언트가 선호하는 압축 인코딩gzip , deflate ...Accept-Language클라이언트가 선호하는 자연언어 ( ko , en, en-US ...)0~1 (1과 가까울 수록 우선순위가 높음)일반 정보From유저 에이전트의 이메일 정보Re..
Method 활용 데이터 전달 방법 (client -> server)쿼리 파라미터를 이용한 데이터 전송GET방식Message Body를 통한 데이터 전송POST, PUT, PATCH 방식 데이터 전달 상황정적 데이터 조회동적 데이터 조회 (검색, 필터링 ... )HTML Form을 통한 데이터 전송 ( 회원 가입, 상품 주문, 데이터 변경)HTTP API를 통한 데이터 전송 (서버 to 서버, 앱/웹(AJAX) 클라이언트) 데이터 전달 예시1. 정적 데이터 조회이미지 , 정적 텍스트 문서GET사용2. 동적 데이터 조회검색, 게시판 필터링GET사용 (쿼리 파라미터를 이용해서 데이터 전달)3. HTML Form 전송HTML Form 은 GET/POST 만 지원GET쿼리 파라미터로 데이터 전달 ( ex) G..
상태코드 (Status Code) 2xx상세설명클라이언트의 요청을 처리함200 (OK)요청 성공Response : "HTTP/1.1 200 OK"HTTP/1.1 200 OKContent-Type : application/jsonContent-Length : 29{ "name" : "pp", "count" : 20}201 (Created)요청 성공해서 새로운 리소스가 생성됨HTTP/1.1 200 OKContent-Type : application/jsonContent-Length : 29Location: /main/100{ "name" : "pp", "count" : 20}202 (Accept)요청은 되었으나, 처리가 완료되지 않음204 (No Content)서버가 요청에 성공적으로 ..
GET, POST, PUT, PATCH, DELETE GET리소스 조회 목적으로 사용해당 자원 리소스를 URL에 검색해서 불러옴서버로 데이터를 전달할 때는 "URL의 query 부분에 작성"해서 보냄GET /search?q=hello HTTP/1.1HOST: www.naver.com POST요청 데이터 처리message Body를 이용해서 데이터 전달POST 리소스 자원 위치(URL)을 서버가 관리하므로 POST로 들어오는 리소스마다 지정해줘야함POST 요청이 올때에 사용 목적에 따라 달라지기에, 해당 리소스 요청이 올때 어떻게 처리할 것인지 리소스 마다 정해야함POST /main HTTP/1,1Content-Type = application/json{ "name" : "pp", "count..
HTTP HTTP 란?HyperText Transfer Protocol (프로토콜)데이터 전송 및 요청/응답 구조를 위해 Web에서 많이 사용 요청 - 응답 구조 (무상태 구조를 사용) HTTP 버전TCPHTTP/1.1 (주로 사용)HTTP/2.0UDPHTTP/3.0 HTTP 메시지 전송 종류html , textjson, xmlimage, 음성, 영상, 파일거의 모든 형태 HTTP 특징클라이언트 - 서버 구조요청(클라이언트) - 응답(서버) 구조무상태(stateless) 비연결성서버가 클라이언트 상태 보존x클라이언트의 상태가 보존이 안되기에, 정보를 추가적으로 보내야한다.요청에 대한 응답을하면 끝서버 확장이 쉬움상태 유지 (stateful) 구조[단점]- 리소스를 많이 차지하게 됨- 정보를 유지하고 ..
- Total
- Today
- Yesterday
- 깊이우선탐색
- 예외처리
- 게시판 프로젝트
- JDBC
- 타입변환
- 티스토리챌린지
- Java
- 검증
- 포트폴리오
- Spring
- DFS
- 코딩테스트
- 버블정렬
- 백준
- Thymeleaf
- 우선순위 큐
- BFS
- 알고리즘
- db
- 기술면접
- 이진탐색
- 게시판
- stack
- SQL
- JSON
- HTML5
- bean
- 클래스
- 정렬
- 오블완
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |