728x90
목차
GET방식과 POST 방식
https://cocoon1787.tistory.com/526
HTTP
웹상에서 클라이언트와 서버 간에 데이터를 주고받을 수 있는 프로토콜
클라이언트가 HTTP 프로토콜을 통해 서버에 요청을 보내면 서버는 요청에 맞는 응답을 클라이언트에게 전송
GET 방식
클라이언트가 서버로 데이터를 요청하기 위해 사용되는 Method
ex. http://localhost:3000/login?id=admin&pw=1234
Body부분은 비어 있고 Content-Type 헤더 필드(헤더에 Body의 콘텐츠 타입 명시) 적지 않음
URL 뒤에 쿼리 스트링을 붙이고, HTTP 패킷의 헤더에 포함해서 서버에 데이터 요청
- 주소에 데이터 노출 (변수=값)
특징
- 간단한 데이터 요청할 때 적합(게시판의 게시물, 목록 조회)
- 캐싱이 가능 - 속도가 빠르다
- POST보다 상대적으로 속도가 빠름
- 브라우저 히스토리에 기록이 남음
- ?뒤에서부터 데이터를 표현: 보안에 취약
POST 방식
클라이언트가 서버로 데이터를 전송해 리소스를 추가하거나 생성하기 위해 사용되는 Method
특징
- Body에 담아 데이터를 전송
- 요청 헤더의 Content-Type에 콘텐츠 타입 명시
- application/x-www-form-urlencoded : key-value 쌍, 구분자=& (GET 방식과 유사)
- text/plain: 단순 text
- multipart/form-data: 주로 파일 전송, 바이너리 데이터
- GET 방식보다 보안에 좋음 (데이터가 URL에 노출x)
- 서버로 보내는 데이터의 양 제한X
- 캐싱 불가
- 요청받는 시간 제한 존재
- 브라우저 히스토리에 기록이 남지 않음
- 서버와 통신시 비동기적으로 작업
- 백그라운드에서 작업
GET과 POST 비교
GET | POST | |
주소에 데이터 노출 | O | X |
데이터 전송 방식 | URL을 통해 | Body에 데이터를 담음 |
요청 헤더 | Content-Type 명시 X | Content-Type 명시 O |
보안 | 상대적으로 취약 | 상대적으로 보안에 좋음 |
캐싱 | 가능 | 불가 |
브라우저 히스토리에 기록 | O | X |
데이터의 양 | 제한O | 제한X |
728x90
'BackEnd' 카테고리의 다른 글
[JWT] JWT, Access Token, Refresh Token (0) | 2023.01.22 |
---|---|
[BackEnd] Cookie & Session 쿠키 세션 (0) | 2022.09.06 |
[BackEnd] Servlet & JSP (0) | 2022.09.06 |