# HTTP Request

✏️ HTTP 요청 메세지 - 단순 텍스트
📌 HTTP 요청 메세지 - 단순 텍스트 HTTP message body에 데이터를 직접 담아서 요청 HTTP API에서 주로 사용, JSON, XML, TEXT 형식은 주로 JSON 사용 POST, PUT, PATCH 요청 파라미터와 다르게, HTTP 메세지 바디를 통해 데이터가 직접 넘어오는 경우는 @RequestParam, @ModelAttribute를 사용할 수 없다. 먼저 가장 단순한 텍스트 메세지를 HTTP 메세지 바디에 담아서 전송하고, 읽어보면서 점점 단계적으로 발전시켜 보겠다. ✔︎ 1단계 - InputStream InputStream을 사용하는 가장 단순한 방식이다. HttpServlet을 통해 request, response를 받으며 InputStream을 통해 처리한다 ✔︎ 2단계 - (Input, Output) Stream 스프링 MVC는 다음 파라미터를 지원한다. `

✏️ HTTP request 데이터 조회
📌 URL param 데이터 받기 >- @PathVariable을 사용해서 URL 경로에 있는 데이터를 추출할 수 있다. 요즘은 Query String보다 리소스 경로에 식별자를 넣은 스타일을 선호한다. /mapping/{userId} /users/{userId} ✔︎ @PathVariable(경로 변수) 사용 @PathVariable은 url 경로가 .../mapping/userA라고 온다면 userA를 변수로 사용할 수 있게 해주는 애노테이션이다. @RequestMapping 은 URL 경로를 템플릿화 할 수 있는데, @PathVariable 을 사용하면 매칭 되는 부분을 편리하게 조회할 수 있다. @PathVariable 의 이름과 파라미터 이름이 같으면 생략할 수 있다. ✔︎ @PathVariable 다중 사용 URL 경로가 `/mapping/users/{userId}/orders/{orde

HTTP 메세지
HTTP 에 대해서는 이전 글에서 간략하게 알아보았습니다. 이번에는 서버와 클라이언트 간에 어떻게 HTTP를 통해 데이터를 교환하는지 알아보도록 합시다.. HTTP 메세지 HTTP 메세지는 서버와 클라이언트 간에 데이터가 교환되는 방식입니다. > HTTP 메세지의 두 가지 타입 요청 (request) 응답 (response) 요청(request)은 클라이언트가 서버로 전달해 서버의 액션이 일어나게끔 하는 메세지입니다. 응답(response)는 요청에 대한 서버의 답변입니다. HTTP 의 요청과 응답의 구조는 서로 닮았으며, 그 구조는 다음과 같습니다. > 시작 줄(start-line)에는 실행되어야 할 요청 or 요청 수행에 대한 성공/실패가 기록되어 있습니다. 이 줄은 항상 한 줄로 끝납니다. > > 옵션으로 HTTP 헤더 세트가 들어갑니다. 여기에는

[테코톡 리뷰] 삭정님의 웹 요청-응답 과정
!youtube[0jV7xOUcKog] Internet? Inter Network의 합성어 입니다. 기존 근거리 네트워크를 서로 연결하는 범 지구적 네트워크 입니다. web이 동작하는 기반이 이 인터넷이며, web 없이도 인터넷은 존재하나 인터넷 없이는 web이 존재할 수 없습니다. web? 웹의 존재 이유는 정보(자원)의 공유 입니다. 수많은 요청과 응답 사이클의 연속으로 이루어지고 있습니다. 이 요청과 응답 사이클의 주체는 각각 클라이언트와 서버 입니다. client & server client 정보, 자원, 서비스를 사용하는 측 입니다. 요청을 보내는 측(... 해줘..)으로 broswer라고 생각하면 됩니다. (chrome, safari etc..) server 정보, 자원, 서비스를 제공하는 측 입니다. 요청에 대한 응답을 하는 측으로 apache, nginx 등 web server를 생각하시면 됩니다. htt

[spring] HTTP 요청 데이터를 조회하고, 사용하는 거의 모든 방법
📖 ✏️ > 이 글은 스프링이 제공하는 HTTP 요청 데이터의 조회 방법과 활용 방법을 학습하고 정리한 포스팅이다. HTTP 요청 데이터를 조회하고, 사용하는 거의 모든 방법 1. HTTP Request 헤더 정보를 조회하는 방법 애노테이션 기반의 스프링 컨트롤러는 다양한 파라미터를 지원한다. 컨트롤러 메서드의 파라미터로 HTTP Request 헤더 정보를 조회하는 방법을 알아보자. RequestHeaderController > 헤더 정보를 조회하는 다양한 방법 HttpServletRequest HttpServletResponse HttpMethod : HTTP 메서드를 조회한다. org.springframework.http.HttpMethod Locale : Locale 정보를 조회한다. `@RequestHeader MultiValueMap<String,

[spring] HTTP 요청 메시지를 이용하여 서버에 데이터를 전달하는 3가지 방법
📖 ✏️ > 클라이언트가 HTTP 요청 메시지를 이용하여 서버로 데이터를 전달하는 3가지 방법을 학습하고 정리한 포스팅입니다. HTTP 요청 메시지를 이용하여 서버에 데이터를 전달하는 3가지 방법 클라이언트가 HTTP 요청 메시지를 이용해 서버에 데이터를 전달하는 방법은 크게 3가지다. 1) GET - 쿼리 파라미터 url?username=hello&age=20 메시지 바디 없이, URL의 쿼리 파라미터에 데이터를 포함해서 전달 예) 검색, 필터, 페이징등에서 많이 사용하는 방식 2) POST - HTML Form content-type: application/x-www-form-urlencoded 메시지 바디에 쿼리 파리미터 형식으로 전달 ex) username=hello&age=20 회원 가입, 상품 주문, HTML Form에 주로 사용 3) HTTP
1) HTTP에 대해 알아보자
1. HTTP HyperText Transfer Protocol HyperText => HTML(Web) Protocol => 하나의 컴퓨터가 다른 컴퓨터와 소통할 때(파일을 주고 받는 등) 정해진 규칙과 틀을 준수해야 원활한 소통이 가능. 여기서 정해진 규칙이 바로 'Protocol' 즉 'Web'에서 HTML문서 데이터를 클라이언트와 서버가 주고 받을 때 사용되는 컴퓨터들 간의 통신 규칙 및 규약 HTTP image HTTP Request(요청)과 HTTP Response(응답)으로 나뉘어져 있다. 2. HTTP Request client와 server client : 보통 요청을 하는 컴퓨터를 가리킨다. sever : 보통 요청을 받는 컴퓨터를 가리킨다. client에서 server에 요청
[JavaScript] fetch 함수 쓰는 법, fetch 함수로 HTTP 요청하는 법
fetch 함수는 XMLHttpRequest 객체보다 최근에 나온, HTTP 요청 전송 기능을 제공하는 Web API다. 데이터를 받아오기 위해 습관처럼 쓰던 fetch에 대해 정리해보았다. 1. fetch 함수 fetch 함수는 HTTP response 객체를 래핑한 Promise 객체를 반환한다. 따라서 프로미스의 후속 처리 메서드인 then을 사용하여 resolve한 객체를 전달받을 수 있다. (물론 catch, finally도 마찬가지) fetch 함수가 반환한 Promise 객체 fetch 함수로 받은 Response 객체에는 HTTP 응답을 나타내는 프로퍼티들이 있다. 그 중 json() 내장 함수가 있는데, res.json 메서드 사용 시 HTTP 응답 body 텍스트를 JSON 형식으로 바꾼 프로미스를 반환한다(자주 썼던 .then(res ⇒ res.json())의 의미였다). → [[MDN] body.json에 대한 설명](https

HTTP METHODS
HTTP 규약이란? 브라우저가 웹 서버와 통신하기 위한 규약으로 브라우저가 요청(request)하면 응답(reponse)하는 구조로 되어있다. W3C, IETF 등에서 제정한 인터넷 표준(RFC-2616)으로 국제적인 약속이다. 1991년 HTTP/0.9부터 20년 이상 전세계적으로 사용되는 안정된 표준이며 2021년 현재 HTTP/3으로 메이저 업데이트를 예고한 바 있다. HTTP REQUEST METHODS GET 지정된 리소스 획득하는 방법으로, body는 존재하지 않는다. 전체 리소스에 대한 요청을 처리할 수도 있고, 대상 리소스에 대한 요청(주로 id로 요청)을 처리할 수도 있다. GET 요청은 리소스를 가져올 때만 사용해야 한다. HEAD HEAD 요청의 URL이 GET으로 요청된 경우 반환되는 헤더를 요청한다. URL이 대량 다운로드를 생성하는 경우 HEAD 요청으로 실제로 파일은 다운받지 않으면서 Content-Length와 같은
200208_TIL
200208_TIL 주말에도 일어나는 시간을 평소랑 비슷하게 유지하는게 좋은 것 같다. 많이 자도 똑같이 피곤하다... Node에서 HTTP Request 보내는 방법이 잘 정리된 글 ※ 7 Ways to Make HTTP Requests in Node.js