HTTP
HyperText Tranfer Protocol:
- 데이터를 주고 받는 양식을 정의한 "통신 규약"중 하나
- 매우 범용적인 양식으로 전 세계에서 제일 널리 쓰이는 통신 규약
통신 규약: 컴퓨터끼리 데이터를 주고 받을 때 정해둔 약속
HTTP로 데이터를 주고 받는법
- HTTP에서는 요청(Request)과 응답(Response)이라는 개념이 항상 존재한다.
- 서버와 브라우저의 예시
- 브라우저는 서버에게 원하는 페이지(data)를 요청한다.
- 서버는 요청에 맞는 페이지가 있는지 확인한 후 있다면 페이지(data)를 실어 응답을 보낸다. 없다면 없는 페이지에 대한 data를 실어 보낸다.(ex) 404 not found)
HTTP의 구성 요소
- Method(호출/요청 방식)
GET
: 어떤 리소스를 얻을 때 사용된다. 브라우저의 주소창에 URL을 입력하면 GET 메서드를 사용해서 서버에 요청을 보내는 것이다.
POST
:
- 가장 대표적인게 위의
GET
과 POST
이다.
- 그 외 여러가지 방식이 있다.
- Header (추가 데이터, 메타 데이터)
- 브라우저가 어떤 페이지를 원하는지
- 요청 받은 페이지를 찾았는지
- 요청 받은 데이터를 성공적으로 찾았는지
- 어떤 형식으로 데이터를 보낼지
- ex)
GET naver.com HTTP/1.1
- Payload (데이터 , 실제 데이터)
- 서버가 응답을 보낼 때는 항상 Payload를 보낼 수 있다.
- 클라이언트(브라우저)가 요청을 할 때도 Payload를 보낼 수 있다.
- "
GET
메소드를 제외하곤 모두 Payload를 보낼 수 있다"가 HTTP에서의 약속이다.
- 요청시 아래와 같은 데이터들을 받을 수 있다.
- HTML
<!DOCTYPE html>
<html>
<head><title>By @ResponseBody</title></head>
<body>Hello, Spring 정적 웹 페이지!!</body>
</html>
{
"name":"Robbie",
"age": 20
}