본문 바로가기

전체 글85

[WEB] HTTP 개요 HTTP(HyperText Transfer Protocol) 인터넷상에서 정보를 주고받을 수 있는 프로토콜로 주로 HTML 문서를 주고받는데 쓰였다. 현재 HTML 뿐만 아니라 이미지, 음성, 영상, 파일, JSON, XML... 거의 모든 형태의 데이터를 전송 가능하다. 웹서비스의 경우 브라우저(클라이언트)에서 서버로의 데이터 전송때 사용되고 서버간의 데이터를 주고 받을때도 HTTP 프로토콜을 사용한다. 현재 대부분의 서비스에서 HTTP 프로토콜을 사용한다. HTTP의 특성에 대해 알아보자 HTTP 버전 HTTP/1.1(1997년) : TCP기반으로 현재 가장 많이 사용되고 있는 버전이다. HTTP/2(2015년) : 여러 파일을 한번에 병렬 전송을 하는 식으로 로딩 시간을 줄이는 방법을 사용한다 HT.. 2022. 3. 21.
[WEB] URI, URL, URN REST를 공부할 때에 URI란 단어를 처음 보았다. URL과의 차이점에 대한 혼돈이 있었는데 정확하게 알고 싶어 해당 내용을 학습한 내용을 정리합니다. URI은 URL, URN을 포함하는 가장 큰 개념으로 리소스(자원)를 식별하는 방법이라 할 수있다. URI(Uniform Resource Identifier) URI는 로케이터(Locator), 이름(Name) 또는 둘 다 추가로 분류될 수 있으며 URI의 단어 뜻을 살펴보면 Uniform : 리소스 식별하는 통일된 방식 Resource : URI로 식별할 수 있는 모든 것을 뜻한다. EX) file, html파일 등 Identifier : 다른 항목과 구분하는데 필요한 정보 단어의 뜻을 보면 명확하게 차이를 알 수 있는데 결국 리소스(자원)를 식별할 .. 2022. 3. 17.
[SPRING] HTTP 요청 데이터 매핑(JSON) - 3 클라이언트에서 HTTP 요청을 통해 전달한 HTTP 메시지 바디의 JSON 형식의 데이터를 서버에서 매핑하는 방법에 대해 학습한 내용입니다. 개인적인 학습의 대한 정리 내용입니다. 1. ObjectMapper HttpServletRequest를 사용하여 HTTP 메시지 바디의 데이터를 읽어, 문자로 변환한 후 문자 형식의 JSON데이터를 Jackson 라이브러리인 ObjectMapper를 사용하여 자바 객체로 변환한다. 대상 자바 객체는 필드에 JSON 키 값과 동일한 이름의 필드데이터, getter, setter를 가지고 있어야한다. @PostMapping("/request-body-json") public void requestBodyJsonV1(HttpServletRequest request, Ht.. 2022. 3. 13.
[SPRING] HTTP 요청 데이터 매핑(단순 텍스트) - 2 클라이언트에서 HTTP 요청을 통해 전달한 HTTP 메시지 바디의 데이터를 서버에서 매핑하는 방법에 대해 학습한 내용입니다. 개인적인 학습의 대한 정리 내용입니다. GET 방식의 URL 쿼리 파라미터, POST 방식의 HTML Form 전송을 제외한 HTTP message body에 데이터를 직접 담아서 요청은 @RequestParam, @ModelAttribute 애노테이션을 사용한 매핑을 할 수 없습니다. 메시지 바디를 직접 조회하는 기능은 요청 파라미터를 조회하는 @RequestParam , @ModelAttribute 와는 전혀 관계가 없다 그렇다면 어떻게 매핑할 수 있을까? 1. HttpServletRequest.getInputStream HTTP 메시지 바디를 InputStream을 이용하여 .. 2022. 3. 12.
[SPRING] HTTP 요청 데이터 매핑(쿼리 스트링) - 1 클라이언트에서 HTTP 요청을 통해 전달한 데이터를 서버에서 매핑하는 방법에 대해 학습한 내용입니다. 개인적인 학습의 대한 정리 내용입니다. HTTP 요청 메시지를 통해 클라이언트에서 서버로 데이터를 전달하는 방법에는 크게 3가지가 있습니다. 1. GET메서드(쿼리 파라미터) ex) /url?username=hello&age=20 HTTP 메시지 바디 없이, URL의 쿼리 파라미터에 데이터를 포함해서 전달 예) 검색, 필터, 페이징 등, 검색에서 많이 사용한다. 2. POST메서드 : HTML Form HTML 메시지 바디에 content-type: application/x-www-form-urlencoded 인코딩 타입으로 쿼리 파리미터 형식을 전달 예) 회원 가입, 상품 주문, HTML Form 사용.. 2022. 3. 8.
[프로그래머스] 모의고사 프로그래머스 링크 https://programmers.co.kr/learn/courses/30/lessons/42840?language=java 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 제출 코드 import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; class Solution { public int[] solution(int[] answers) { int[] a = {.. 2022. 3. 4.