달마루
기획자에서 개발자로
달마루
전체 방문자
오늘
어제
  • 분류 전체보기 (334)
    • 기획 이야기 (3)
    • 개발자로 전향한 이유 (1)
    • Github Address (1)
    • 개발자, 그 여정 (11)
      • 기초특강 (4)
      • 국비학원 선정 (4)
      • BitCamp_수업내용 (1)
      • 학원 프로젝트 후기 (1)
      • 정보처리기사 (1)
      • 개발 이야기 (0)
    • 개념 창고 (126)
      • JAVA (50)
      • CS (1)
      • Database (27)
      • NetWork (2)
      • 자료 구조 (2)
      • React (8)
      • Spring (3)
      • JPA (1)
      • HTML & CSS (18)
      • JS (3)
    • algorithm (186)
      • 백준 (161)
      • 프로그래머스 (23)
    • 사는 이야기 (0)

블로그 메뉴

  • Github
  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Bronze V
  • Bronze IV
  • BOJ algorithm
  • 혼자공부하는SQL
  • BRONZE
  • programmers
  • 혼공MySQL
  • 알고리즘
  • SQL고득점Kit
  • 혼공SQL
  • MySQL
  • Scanner
  • react
  • 알고리즘풀이
  • Algorithm
  • SQL
  • java
  • 백준문제풀이
  • Bronze III
  • 문제풀이
  • select
  • sql 문제풀이
  • java algorithm
  • HTML
  • math
  • 백준
  • BOJ
  • 프로그래머스
  • 백준알고리즘
  • 자바

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
달마루

기획자에서 개발자로

개념 창고/NetWork

Get, Post 개념 및 차이 [HTTP]

2023. 1. 10. 03:41

○ GET 방식(요청)

GET은 지정된 리소스에서 데이터를 요청하는 데 사용된다.
예를 들어 게시판의 글을 조회할 때 쓸 수 있다.
쿼리 문자열(이름/값 쌍)은 GET 요청의 URL로 전송된다.
URL 뒤에 "?" 마크를 통해 URL의 끝을 알리며, 데이터 표현의 시작점을 알린다.
URL에 붙이므로, HTTP패킷의 해더에 포함되여 서버에 요청한다.
그래서 GET 방식은 본문(Body)이 빈상태로 보내진다.


예시)

/test/demo_form.php?name1=value1&name2=value2


GET 요청 특징 

- GET 요청은 캐시가 가능하다.
- GET 요청은 브라우저 기록에 남아 있다.
- GET 요청을 북마크할 수 있다.
- GET 요청은 민감한 데이터를 처리할 때 사용해서는 안된다. 
  (GET요청은 URL에 파라미터가 노출되어 버리기 때문에 공격의 대상이 될 수 있다.)
- GET 요청에는 길이 제한이 있다. 
- GET 요청은 데이터를 요청하는 데만 사용된다.(수정 아님).

○ POST 방식(요청)

POST는 리소스를 생성/업데이트하기 위해 서버에 데이터를 보내는 데 사용된다.
POST를 통해 서버로 전송된 데이터는 HTTP 요청의 요청 본문(Body)에 저장된다.

POST /test/demo_form.php HTTP/1.1
Host: w3schools.com

name1=value1&name2=value2

Post 요청 특징 

- POST 요청은 캐시되지 않는다. 
- POST 요청은 브라우저 기록에 남아 있지 않는다. 
- POST 요청은 북마크할 수 없다.
- POST 요청에는 데이터 길이에 대한 제한이 없다.

○ GET, POST 방식 차이

1. 사용목적 : GET은 서버의 리소스에서 데이터를 요청할 때, POST는 서버의 리소스를 새로 생성하거나 업데이트할 때 사용한다. DB로 따지면 GET은 SELECT 에 가깝고, POST는 Create 에 가깝다고 볼 수 있다.
2. 요청에 본문(body) 유무 : GET 은 URL 파라미터에 요청하는 데이터를 담아 보내기 때문에 HTTP 메시지에 body가 없다. POST 는 body 에 데이터를 담아 보내기 때문에 당연히 HTTP 메시지에 body가 존재한다.
3. 멱등성 (idempotent) : GET 요청은 멱등이며, POST는 멱등이 아니다. 멱등의 사전적 정의는 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질을 의미한다. GET은 리소스를 조회한다는 점에서 여러 번 요청하더라도 응답이 똑같을 것 이다. 반대로 POST는 리소스를 새로 생성하거나 업데이트할 때 사용되기 때문에 멱등이 아니라고 볼 수 있다. (POST 요청이 발생하면 서버가 변경될 수 있다.)

참고 및 출처 : https://www.w3schools.com/tags/ref_httpmethods.asp

저작자표시 비영리 변경금지 (새창열림)

'개념 창고 > NetWork' 카테고리의 다른 글

HTTP 오류 메시지(상태 메시지)  (0) 2023.01.10
    '개념 창고/NetWork' 카테고리의 다른 글
    • HTTP 오류 메시지(상태 메시지)
    달마루
    달마루
    항상 어제보다 좋은 코드를 지향합니다. https://github.com/LimDongHyun99

    티스토리툴바