반응형
1. HTTP
: Web 상에서 Server와 Client가 Communication할 때 사용하는 Protocol
- Header : 전송 Method (GET, POST, ...), Client의 Browser, URL 등
- Body : 비어있거나 정보를 담아 Server에 요청
2. GET 방식
: 정보를 Server로 전송할 때 HTTP Packet Header의 URL 뒤에 Data를 기술해 전송하는 방식
2.1. 특징
- 전송 시 HTTP의 Body 부분은 비어있다.
- URL에 정보가 포함되어 있기 때문에 POST 방식에 비해 보안성이 떨어진다.
- Data에 길이 제한(Borwser 마다 상이)이 있다.
- Caching이 가능해 POST 방식에 비해 속도가 빠르다.
- 게시판 글 등 처럼 정보의 목적으로 링크를 사용할 때 GET 방식이 사용된다.
e.g., 게시판의 특정 글을 공유할 때 URL에 해당 글의 Index 등의 정보가 포함되어야 공유받은 사람이 링크를 클릭했을 때 해당 글로 바로 접근이 가능
Caching(캐싱)
한 번 접근 후 다시 요청되는 경우 빠르게 접근하기 위해 레지스터에 Data를 저장해두는 것
3. POST 방식
: 정보를 Server로 전송할 때 HTTP Packet Body 안에 Data를 기술해 전송하는 방식
3.1. 특징
- Body에 정보가 포함되어 사용자 입장에서는 정보가 감춰지기 때문에 GET 방식에 비해 보안성이 좋다.
☞ Chrome 개발자 도구, Fiddler와 같은 Tool로 Data 확인이 가능해 보안성이 좋은 방식은 아니다. - Data에 길이 제한이 없다.
- 요청받는 시간 제한이 있다.
- 대용량 Data를 전송하거나 비밀번호 등 드러나면 안되는 정보를 전송할 때 POST 방식이 사용된다.
4. GET vs POST
GET 방식 | POST 방식 | |
URL 예시 | http://localhost:8888/login?id=jjyoung&password=0000 | http://localhost:8888/login |
Data 기술 장소 | HTTP Packet Header | HTTP Packet Body |
리소스 전달 방식 | 쿼리스트링 | HTTP Body |
HTTP 응답 코드 | 200 | 201 |
URL에 Data 노출 여부 | O | X |
Caching 가능 여부 | O | X |
Browser 기록 여부 | O | X |
북마크 추가 여부 | O | X |
Data 길이 제한 여부 | O | X |
멱등성(Idempotent) | O | X |
멱등성(Idempotent)
: 연산을 여러 번 하더라도 결과가 달라지지 않는 성질
GET 방식 : 여러 번 요청해도 응답이 같다.
POST 방식 : 리소스를 새로 생성하거나 업데이트하기 때문에 동일한 요청을 여러 번 전송해도 응답은 항상 다를 수 있다.
[참고]
[네트워크] GET, POST 설명과 차이점 (tistory.com)
[네트워크] GET, POST 설명과 차이점
Get 방식 - 클라이언트에서 서버로 데이터를 전달할 때, 주소 뒤에 "이름"과 "값"이 결합된 스트링 형태로 전달 - 주소창에 쿼리 스트링이 그대로 보여지기 때문에 보안성이 떨어진다. - 길이에 제
superminy.tistory.com
[Network] GET방식과 POST방식의 차이 :: 코딩 공부 일지 (tistory.com)
[Network] GET방식과 POST방식의 차이
🚀 클라이언트는 인터넷 브라우저 주소창에 URL을 입력하고 서버는 클라이언트의 요청에 응답을 하여 웹페이지를 보여주게 됩니다. 이때 클라이언트가 서버로 보내는 데이터를 HTTP 패킷이라 하
cocoon1787.tistory.com
반응형
'CS기술 지식 > 네트워크' 카테고리의 다른 글
[네트워크] Physical Layer(물리 계층)란? (0) | 2022.03.23 |
---|---|
[네트워크] OSI 7계층이란? (0) | 2022.03.20 |
[네트워크] RESTful이란? (0) | 2022.03.19 |
[네트워크] TCP vs UDP (0) | 2022.03.09 |