티스토리 뷰
클라이언트가 서버로 HTTP 요청을 보내는 방법에는 2가지 방법이 있습니다. 하나는 GET 방식이고, 나머지 하나는
POST 방식입니다. 이 두 방식 모두 데이터를 본인이 가지고 있는 데이터를 서버로 전달한다는 공통점이 있습니다.
그러면 차이점은 무엇일까요?
1. GET
: 서버로부터 정보를 조회하기 위해 설계된 메소드
특징
-
URL 상에 서버로 보내지는 데이터가 노출됨
-
데이터를 쿼리스트링을 통해 서버로 전달
-
쿼리스트링: URL의 끝에
?
와 함께 이름 - 값의 쌍을 이루는 요청 파라미터 (파라미터가 여러 개인 경우
&
으로 연결)ex) https://search.shopping.naver.com/search/category.nhn?cat_id=50001471
-
-
-
한 번의 요청시 전송 데이터 양은 주소값 + 파라미터로 255자로 제한됨
(초과된 데이터는 절단됨)
-
캐싱 가능
GET은 불필요한 요청을 제한하기 위해 요청이 캐시될 수 있습니다. js, css, 이미지 같은 정적 컨텐츠는 데이터가 크고, 변
경될 일이 적기 때문에 같은 요청을 반복해서 보낼 필요가 없습니다. 따라서, 정적 컨텐츠를 요청하고 나면 브라우저는
요청을 캐시해두고, 동일한 요청이 발생할 때 서버로 요청을 보내지 않고 캐시된 데이터를 사용합니다. 그래서 컨텐츠를
변경해도 내용이 바뀌지 않는 경우가 종종 발생하는데 이는 해당 컨텐츠가 캐싱되었기 때문입니다. 이 때, 브라우저의 캐
시를 지워주면 다시 컨텐츠를 조회하기 위해 서버로 요청을 보내게 됩니다.
2. POST
: 리소스를 생성/변경하기 위해 설계된 메소드
특징
-
데이터가 HTTP Body에 담겨 서버로 보내지기 때문에 GET 방식보다 보안성이 더 좋음
(but POST 방식 또한 보안에 취약)
-
한 번의 요청시 데이터 양의 제한이 없어 대용량 데이터를 전송할 수 있음
-
요청 헤더의 Content-Type에 요청 데이터의 타입을 표시해야 함
-
캐싱 불가능
3. 언제 GET, POST 방식을 사용해야 하는가?
GET
- 서버에서 어떤 데이터를 가져와서 보여줄 때 사용
- 즉, 어떤 값이나 내용, 상태 등을 변경하지 않는 경우에 사용
ex) 글 목록 조회, 게시글 조회 등
POST
- 서버 상의 데이터 값이나 상태를 변경하기 위해서 사용
ex) 게시글 작성, 게시글 수정 등
참고 자료
GET과 POST의 차이
HTTP HTTP는 웹상에서 클라이언트와 서버 간에 요청/응답으로 데이터를 주고 받을 수 있는 프로토콜입니다. 클라이언트가 HTTP 프로토콜을 통해 서버에게 요청을 보내면 서버는 요청에 맞는 응답을 클라이언트에게 전송합니다. 이 때, HTTP 요청에 포함되는 HTTP 메소드는 서버가 요청을 수행하기 위해 해야할 행동을 표시하는 용도로 사용합니다. 이 HTTP 메소드 중 GET과 POST의 특징과 차이점을 알아보겠습니다.
hongsii.github.io
Web - Get과 Post의 차이
Web - Get과 Post의 차이 |들어가기에 앞서, 웹을 개발하면서, 서버에 요청을 보낼때 get, post 라는 단어들에 대해 궁금증이 생기실겁니다. 웹에 대해 경험이 있으신분들은 이미 알고있는 개념이겠지만, 저도 그..
ideveloper2.tistory.com
- Total
- Today
- Yesterday
- MySQL
- python
- Django 회원가입
- Django
- Django 프로젝트 생성
- 파이썬
- 서점 어플리케이션
- Django 북마크
- query parameter
- Django 비밀번호 수정
- Django 업로드
- Django 어플리케이션
- Django 회원 정보 수정
- Django 인스타그램
- Django 댓글
- 북마크 어플리케이션
- Django 로그인
- Django Instagram
- Redis Cache
- Redis
- Django 로그아웃
- Django 검색
- Django 컬렉션
- Django 좋아요
- 장고
- Django 팔로우
- Django 해시태그
- Django application
- Django User
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |