반응형
목적
Http 프로토콜에서 데이터를 보내는 방법은 두가지. GET과 POST를 사용한다.
장단점과 차이점을 알아보자.
HTTP Request 구성요소
[Scheme]://[Host]:[Port][Path]?[Query]#[Fragment]
[Header]
HTTP URI 구성요소 예제
http://www.example.com:1030/software?id=test#section-4
scheme | Host | Port | Path | Query | Fragment |
http | ://www.example.com | :1030 | /software | ?id=test | #section-4 |
GET으로 데이터 보내기
HTTP URI에서 쿼리 부분에 파라미터를 선언하여 데이터를 넣어 보내는 방식이다.
GET 예제
http://www.example.com?id=test
장점
- URI에 포함되므로 캐시가 되어 북마크, 뒤로가기 등등이 가능
- POST보다 빠름
- 파라미터값이 보임→내용 추측 가능
단점
- URI의 글자수 제한
- 파라미터값이 보임→내용 추측 가능→보안성이 낮다
GET으로 보낸 데이터 받는 PHP코드
<?php
$data = $_GET['a'];
echo "$data";
?>
POST로 데이터 보내기
HTTP Request에서 헤더부분에 파라미터를 선언하여 데이터를 넣어 보내는 방식이다.
GET 예제
$name=Han이 보내는 피라미터와 데이터이다.
POST /login HTTP/1.1
Host: www.example.com
Content-Length: 255
Cache-Control: max-age=242342
Upgrade-Insecure-Requests: 134423423
Origin: <http://www.example.com>
Content-Type: application/x-www-form-urlencoded
$name=Han
장점
- 길이 제한 없음
- 파라미터값이 보이지 않음→보안성이 높음
단점
- 캐시되지 않음, 북마크, 뒤로가기 등등이 불가능
POST으로 보낸 데이터 받는 PHP코드
<?php
data = $_POST['a'];
echo "$data";
?>
반응형
'old > Cyber Security' 카테고리의 다른 글
사이버 보안: Burp Suite이란 (0) | 2023.04.12 |
---|---|
OAuth 2.0까지의 인증 방식의 진화 (0) | 2023.04.10 |
APM에서 MySQL: 기초 사용법과 설정 (0) | 2023.04.07 |
HTTP 상태 코드: 요청-응답 과정에서 발생하는 상태 코드 정리 (0) | 2023.04.06 |
HTTP 프로토콜 요청과 응답: 클라이언트와 서버의 통신 방식 (0) | 2023.04.06 |