1. HTTP 메서드란?
HTTP 메서드란 클라이언트와 서버 사이에 이뤄지는 요청과 응답 데이터를 전송하는 방식을 말합니다.
2. 메서드의 종류
메서드 명 | |
HEAD | 헤더 정보 확인용으로 데이터 업데이트 일시나 데이터 크기를 얻을 수 있습니다. |
GET | 서버에 요청한 데이터를 받아 올 수 있습니다. 웹사이트 열람시 주로 사용됩니다. |
POST | 서버에 데이터를 전송할 때 사용되며, 회원 가입, 게시글 작성 등의 작업에 사용됩니다. |
PUT | 기존 리소스 대신 새로운 리소스를 생성하거나, 기존의 리소스를 수정할 때 사용됩니다. |
DELETE | 리소스를 삭제하는 메서드입니다. 서버에서 필요 없는 데이터를 삭제할 때 사용됩니다. |
CONNECT | 대상 자원으로 식별되는 서버에 대한 터널을 설정할때 사용됩니다. |
OPTIONS | 대상 리소스에 대한 통신 가능 옵션(메서드)을 설명하는 메서드입니다. |
TRACE | 웹 브라우저와 웹 서버의 경로를 확인할때 사용됩니다. 메시지 loop-back 테스트를 하는데 주로 사용됩니다. |
PATCH | 리소스의 일부분만을 수정하는 데 사용됩니다. |
3. GET, POST의 차이는 무엇일까?
GET과 POST 모두 클라이언트에서 서버로 데이터를 보낼 수 있지만 보내는 방식에 차이가 있습니다.
- GET: 데이터를 조회하기 위해 설계된 메서드입니다. 요청할때는 Query String(url)을 통해 전송합니다.
- POST: 클라이언트가 서버에 데이터를 전송하기 위해 사용합니다. 요청 데이터를 본문(body)에 포함하여 전송합니다.
//GET 메서드
/login?id=zero&password=1994
//POST 메서드
/login
//body
{
id: 'zero',
password: 1994,
}
- 보안상의 차이 : GET 메서드를 사용해 데이터를 보낼 경우, URL에 데이터가 삽입되므로 보낸 데이터가 브라우저 열람 기록에 남을 수 있어 보안에 취약하다. 반면 POST 메서드를 사용한 경우에는 바디 안에 데이터가 삽입되므로 열람 기록에 남지 않는다.데이터를 전송할때는 보안상 POST가 더 좋습니다.
- 보낼 수 있는 데이터 양 : GET은 전송할 수 있는 양이 제한적인 반면 POST는 대량의 데이터를 전송할 수 있습니다.
- 사용 예시 : GET은 주로 검색 결과를 조회할때 사용됩니다. POST는 게시글 작성, 회원가입 등에 사용됩니다.
'기술 > CS' 카테고리의 다른 글
[네트워크] TCP와 UDP 비교 (0) | 2023.12.13 |
---|---|
[자료구조] 리스트, 스택, 큐, 트리, 그래프 (0) | 2023.12.12 |
[기초] 컴파일 언어 vs 인터프리터 언어 (0) | 2023.12.10 |
[네트워크] OSI 참조 모델 알아보기 (0) | 2023.12.04 |