Request 의 방식 메소드는 GET, POST, PUT, DELETE, OPTIONS,HEAD 등 많지만
일단 먼저 대표적인 메소드인 GET과 POST에 대해서 알아보자
1. HTTP
웹은 HTTP를 이용해 통신을 한다. HTTP는 보내는 데이터를 '패킷' 이라 표현을 한다.
패킷은 크게 header 와 body 로 이루어져 있다.
2.GET
GET 방식은 데이터를 URL 뒤에 붙여서 보낸다.
URL 뒤에 ? 를 통해 URL 의 끝을 알리면서 key 와 value 형식의 문자열이 뒤에 붙는다.
URL에 문자가 붙으므로 HTTP 패킷의 헤더에 포함되어 서버에 요청된다.
헤더에 들어가기 때문에 Body는 비어있게 된다.
헤더의 Content-type 은 body의 데이터 설명이기 때문에 역시 비어있다.
간단하고 url을 통해 다른사람도 제어가 가능하다. 하지만 데이터 보내는 양의 한계가 존재한다.
3.POST
POST는 Body에 데이터를 넣어 보낸다.
때문에 Content-type 도 명시할 필요가 있다.
만약 명시하지 않을경우 자동으로 application/x-www-form-urlencoded 형태로 지정된다.
자바와 같은 프로그래밍에서는 Body의 데이터를 inputStream / outputStream 클래스를 통해 읽고 쓴다.
4.클라이언트 측면
GET 방식이든 POST 방식이든 보내는 데이터는 클라이언트가 볼 수 있다. 두 방식을 보완하려면 암호화가 필요하다.
GET이 POST보다 빠르다. GET 방식은 캐싱을 하기 때문에 더 빠르기 때문이다.
'참고자료' 카테고리의 다른 글
메시지 큐 (Message Queue)란? (0) | 2021.08.28 |
---|---|
FrameWork 와 SpringFrameWork (0) | 2021.08.27 |
JSON Web Token (JWT) (0) | 2021.07.06 |
쿠키, 세션, 캐시 (0) | 2021.07.06 |
프로세스와 스레드란? (0) | 2021.07.03 |