Get과 Post의 주요 차이점은 Get은 Url을 통해 데이터를 전송하는 반면 Post는 전송된 특정 정보를 사용자가 볼 수 없다는 것입니다. 이 차이가 둘의 용도를 결정합니다. Get 메소드는 주로 검색에 사용되고, Post 메소드는 주로 사용자의 작업 정보를 서버로 전송하는 데 사용됩니다. Get과 Post의 세부적인 차이점은 다음과 같습니다.
GET과 POST의 보안
1. GET은 URL을 통해 요청되며, URL을 직접 확인하고 일반 텍스트로 전송할 수 있습니다.
2. POST는 요청 헤더를 통해 요청되며 개발자 도구나 패킷 캡처로 볼 수 있으며 일반 텍스트로도 표시됩니다.
3. GET 요청은 브라우저 기록에 저장되며 웹 로그에도 저장될 수 있습니다.
제출을 받으면 요청된 데이터는 URL(균일한 리소스 위치 지정)을 따르며 보안 수준은 낮습니다.
제출 후 제출된 데이터는 http 패키지의 본문에 배치되며 보안 수준은 높습니다.
GET 및 POST 데이터 크기
GET: 특정 브라우저와 서버에는 URL 길이에 대한 제한이 있습니다. 예를 들어 IE의 URL 길이 제한은 2083바이트(2K+35)입니다. Netscape, FireFox 등 다른 브라우저의 경우 이론적으로 길이 제한이 없으며 운영 체제 지원에 따라 제한이 달라집니다. Get이 전송하는 데이터의 양은 URL의 길이에 따라 제한되기 때문에 작지만 더 효율적입니다.
POST: URL을 통해 값이 전송되지 않으므로 이론적으로 데이터는 제한되지 않습니다. Post는 많은 양의 데이터를 전송할 수 있으므로 파일 업로드 시에만 Post 방식을 사용할 수 있습니다.
전송되는 데이터 문자 형식이 다릅니다.
get 제한 사항 Form 양식에 설정된 데이터 값은 ASCII 문자여야 하며, request.setCharacterEncoding("utf- 8")을 통해 전달할 수 없습니다. 한자를 설정하면 서버에서 얻은 한자가 깨질 수 있습니다!
post는 전체 문자 집합 ISO10646을 지원하며 request.setCharacterEncoding("utf-8");을 통해 중국어 문자를 올바르게 표시할 수 있습니다.
서버 측은 다양한 방법으로 데이터를 얻습니다
Get은 서버 측 $_GET에 있습니다.
Post는 서버 측에 있습니다. $_POST
GET는 멱등성이고 POST는 멱등성이 아닙니다
Idempotent는 다음을 의미합니다. 동일한 요청 메소드의 실행 여러 번 실행하면 한 번 실행한 것과 동일한 효과가 있습니다.
1. RFC 사양에 따르면 PUT, DELETE 및 보안 방법은 모두 멱등성을 갖습니다. 사양이지만 서버 구현이 멱등성인지 여부는 보장되지 않습니다.
2. 멱등성의 도입은 주로 요청이 응답하기 전에 연결이 끊어지는 등 동일한 요청이 반복적으로 전송되는 상황을 처리하기 위한 것입니다. 이는 백업/새로 고침 시 POST가 발생할 때 브라우저가 사용자에게 메시지를 표시하는 이유이기도 합니다. POST 의미론은 멱등성이 아니며 반복되는 요청은 예상치 못한 결과를 초래할 수 있습니다.
3 예를 들어 Weibo의 시나리오에서는 "내 타임라인에 있는 최신 Weibo 게시물 20개를 보세요"와 같은 시나리오에서는 GET의 의미가 사용되고, ""와 같은 시나리오에서는 POST의 의미가 사용됩니다. 이 시나리오에서는 웨이보 게시, 댓글, 좋아요'를 사용합니다.
PHP 관련 지식을 더 알고 싶으시면php 중국어 홈페이지를 방문해주세요!
위 내용은 PHP에서 get과 post의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!