목차
HTTP에서 GET과 POST의 차이점
백엔드 개발 PHP 튜토리얼 HTTP에서 GET과 POST의 차이점은 무엇입니까?

HTTP에서 GET과 POST의 차이점은 무엇입니까?

Jun 23, 2017 pm 01:08 PM
http post 차이점

HTTP에서 GET과 POST의 차이점

GET과 POST는 HTTP 요청의 두 가지 기본 방법입니다. 웹 개발에 노출된 사람이라면 누구나 그 차이점을 알 수 있습니다.

가장 직관적인 차이점은 GET은 URL에 매개변수를 포함하고 POST는 요청 본문을 통해 매개변수를 전달한다는 것입니다.

당신은 수많은 GET 및 POST 요청을 직접 작성했을 수도 있고, 두 가지의 차이점을 요약한 많은 권위 있는 웹사이트를 읽었을 수도 있습니다.

면접에서 이런 질문을 받으면 마음이 자신감과 기쁨으로 가득 차요.

쉽게 "표준 답변"을 제시하셨습니다.

  • GET는 브라우저가 롤백될 때 무해하지만 POST는 요청을 다시 제출합니다.

  • GET으로 생성된 URL 주소는 북마크할 수 있지만 POST는 북마크할 수 없습니다.

  • GET 요청은 브라우저에 의해 적극적으로 캐시되지만 POST는 수동으로 설정하지 않는 한 캐시되지 않습니다.

  • GET 요청은 URL 인코딩만 가능하지만 POST는 여러 인코딩 방법을 지원합니다.

  • GET 요청 매개변수는 브라우저 기록에 완전히 유지되지만 POST의 매개변수는 유지되지 않습니다.

  • GET 요청의 URL로 전송되는 매개변수에는 길이 제한이 있지만 POST에는 길이 제한이 없습니다.

  • 매개변수의 데이터 유형과 관련하여 GET은 ASCII 문자만 허용하는 반면 POST는 제한이 없습니다.

  • GET는 매개변수가 URL에 직접 노출되므로 민감한 정보를 전달하는 데 사용할 수 없기 때문에 POST보다 보안성이 낮습니다.

  • GET 매개변수는 URL을 통해 전달되고 POST는 요청 본문에 배치됩니다.

(이 표준 답변은 w3schools에서 참조되었습니다.)

"안타깝게도 이것은 우리가 원하는 답변이 아닙니다!"

사실을 알려주세요. . .

GET과 POST가 본질적으로 차이가 없다고 말하면 믿으시겠습니까?
GET과 POST의 망토를 벗고 서로 솔직해지자!

GET과 POST가 무엇인가요? HTTP 프로토콜에서 요청을 보내는 두 가지 방법.

HTTP란 무엇인가요? HTTP는 World Wide Web에서 데이터가 통신되는 방식에 대한 TCP/IP 기반 프로토콜입니다.

HTTP의 최하위 계층은 TCP/IP입니다. 따라서 GET 및 POST의 맨 아래 계층도 TCP/IP입니다. 즉, GET/POST는 모두 TCP 링크입니다. GET과 POST는 동일한 작업을 수행할 수 있습니다. 기술적으로는 GET에 요청 본문을 추가하고 POST에 URL 매개변수를 추가해야 합니다.

그렇다면 "표준 답변"의 차이점은 무엇인가요?

World Wide Web 세계에서 TCP는 자동차와 같습니다. TCP를 사용하여 데이터를 전송하는 것은 매우 안정적이며 누락된 항목이 없습니다. 하지만 도로 위의 모든 자동차가 똑같이 보인다면 세상은 엉망이 될 것입니다. 긴급 메시지를 전달하는 자동차는 앞에 물건을 실은 자동차에 의해 막힐 수 있으며 전체 교통 시스템이 마비될 것입니다. 이런 일이 발생하지 않도록 트래픽 규칙 HTTP가 탄생했습니다. HTTP는 GET, POST, PUT, DELETE 등을 포함하여 자동차 운송에 대한 여러 서비스 범주를 설정했습니다. HTTP는 GET 요청을 실행할 때 자동차에 GET 라벨을 지정해야 하며(메서드를 GET으로 설정) Put을 요구하도록 규정하고 있습니다. 쉽게 기록할 수 있도록 자동차 지붕(URL)에 데이터를 전송했습니다. POST 요청인 경우 POST 라벨을 차량에 부착하고 상품을 캐리지에 실어야 합니다. 물론 GET 중에 일부 물건을 차 안에 몰래 숨길 수도 있지만 POST 중에 지붕에 일부 데이터를 넣을 수도 있어 사람들이 바보 같은 느낌을 받을 수도 있습니다. HTTP는 단지 행동 강령일 뿐이며 TCP는 GET 및 POST가 구현되는 방식의 기초입니다.

그러나 HTTP는 GET 및 POST 매개변수(URL 또는 요청 본문)의 전송 채널에 대한 요구 사항을 부과한다는 점만 알 수 있습니다. "표준 답변"의 매개변수 크기 제한은 어디에서 나오나요?

World Wide Web 세계에는 운송 회사라는 또 다른 중요한 역할이 있습니다. 서로 다른 브라우저(http 요청 시작)와 서버(http 요청 수락)는 서로 다른 운송 회사입니다. 이론적으로는 자동차 지붕에 상품을 무제한으로 쌓을 수 있지만 URL에는 무제한 매개변수를 추가할 수 있습니다. 그러나 운송 회사는 바보가 아닙니다. 적재 및 하역에는 위험을 제어하기 위해 단일 배송량을 제한합니다. 업계의 암묵적인 규칙은 (대부분의) 브라우저가 일반적으로 URL 길이를 2K 바이트로 제한하고 (대부분의) 서버가 최대 64K 크기의 URL을 처리할 수 있다는 것입니다. 초과분은 처리되지 않습니다. GET 서비스를 사용하고 요청 본문에 데이터를 비밀리에 숨기는 경우 서버에 따라 데이터를 언로드하고 읽는 데 도움이 되는 반면 일부 서버는 이를 직접 무시합니다. 받을 수 없음을 보장합니다.

좋아, 이제 GET과 POST가 본질적으로 TCP 링크라는 것을 알았으므로 차이가 없습니다. 다만, HTTP 규정 및 브라우저/서버 제한으로 인해 신청 절차에 다소 차이가 있습니다.

이 글이 이렇게 끝났다고 생각하셨나요?

우리의 빅보스가 아직 등장을 기다리고 있어요. . .

이 BOSS는 얼마나 신비한가요? 인터넷에서 "GET과 POST의 차이점"을 찾으려고 하면 표시되는 검색 결과에는 전혀 언급되지 않습니다. 그는 정확히 무엇입니까? . .

GET과 POST의 또 다른 주요 차이점은 다음과 같습니다.

GET은 하나의 TCP 데이터 패킷을 생성하고 POST는 두 개의 TCP 데이터 패킷을 생성합니다.

긴 이야기:

GET 요청의 경우 브라우저는 http 헤더와 데이터를 함께 보내고 서버는 200(반환 데이터)으로 응답합니다.

POST의 경우 브라우저는 헤더를 먼저 보내고 서버는 100 continue로 응답하고, 브라우저는 데이터를 다시 보내고, 서버는 200 ok(데이터 반환)로 응답합니다.

즉, GET은 차량으로 한 번만 물건을 배달해야 하는 반면, POST는 두 번만 이동하면 됩니다. 첫 번째 배송에서는 서버에 가서 "야, 내가 물건을 한 묶음 배달할 거야"라고 인사하세요. 나중에 문 열어주세요"라고 인사한 뒤 다시 돌아가 물건을 배달한다.

POST는 두 단계를 거쳐야 하고 시간도 조금 더 걸리기 때문에 POST보다 GET이 더 효율적인 것 같습니다. 따라서 Yahoo 팀은 웹 사이트 성능을 최적화하기 위해 POST를 GET으로 교체할 것을 권장합니다. 하지만 이건 함정이에요! 조심해서 들어가세요. 왜?

1. GET과 POST는 고유한 의미를 가지며 임의로 혼합할 수 없습니다.

2. 연구에 따르면 네트워크 환경이 좋으면 하나의 패키지를 보내는 시간과 두 개의 패키지를 보내는 시간의 차이는 기본적으로 무시될 수 있습니다. 네트워크 환경이 열악한 경우 2개의 패킷을 사용하는 TCP는 데이터 패킷의 무결성을 검증하는 데 큰 이점을 갖습니다.

3. 모든 브라우저가 POST에서 패키지를 두 번 보내는 것은 아니며 Firefox는 한 번만 보냅니다.

자, 면접관이 다시 "GET과 POST의 차이점"을 물었을 때, 여러분은 속으로 이런 생각을 하시나요?

위 내용은 HTTP에서 GET과 POST의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

멀티 스레딩과 비동기 C#의 차이 멀티 스레딩과 비동기 C#의 차이 Apr 03, 2025 pm 02:57 PM

멀티 스레딩과 비동기식의 차이점은 멀티 스레딩이 동시에 여러 스레드를 실행하는 반면, 현재 스레드를 차단하지 않고 비동기식으로 작업을 수행한다는 것입니다. 멀티 스레딩은 컴퓨팅 집약적 인 작업에 사용되며 비동기식은 사용자 상호 작용에 사용됩니다. 멀티 스레딩의 장점은 컴퓨팅 성능을 향상시키는 것이지만 비동기의 장점은 UI 스레드를 차단하지 않는 것입니다. 멀티 스레딩 또는 비동기식을 선택하는 것은 작업의 특성에 따라 다릅니다. 계산 집약적 작업은 멀티 스레딩을 사용하고 외부 리소스와 상호 작용하고 UI 응답 성을 비동기식으로 유지 해야하는 작업을 사용합니다.

C 언어 합계의 기능은 무엇입니까? C 언어 합계의 기능은 무엇입니까? Apr 03, 2025 pm 02:21 PM

C 언어에는 내장 합계 기능이 없으므로 직접 작성해야합니다. 합계는 배열 및 축적 요소를 가로 질러 달성 할 수 있습니다. 루프 버전 : 루프 및 배열 길이를 사용하여 계산됩니다. 포인터 버전 : 포인터를 사용하여 배열 요소를 가리키며 효율적인 합계는 자체 증가 포인터를 통해 달성됩니다. 동적으로 배열 버전을 할당 : 배열을 동적으로 할당하고 메모리를 직접 관리하여 메모리 누출을 방지하기 위해 할당 된 메모리가 해제되도록합니다.

C 언어에서 Char와 WCHAR_T의 차이 C 언어에서 Char와 WCHAR_T의 차이 Apr 03, 2025 pm 03:09 PM

C 언어에서 char와 wchar_t의 주요 차이점은 문자 인코딩입니다. char ascii를 사용하거나 ascii를 확장하고, wchar_t는 유니 코드를 사용합니다. Char는 1-2 바이트를 차지하고 WCHAR_T는 2-4 바이트를 차지합니다. Char는 영어 텍스트에 적합하며 WCHAR_T는 다국어 텍스트에 적합합니다. Char_t는 널리 지원되며, 컴파일러 및 운영 체제가 유니 코드를 지원하는지 여부에 따라 다릅니다. Char는 문자 범위가 제한되며 WCHAR_T는 더 큰 문자 범위를 가지며 특수 함수는 산술 작업에 사용됩니다.

XML을 PDF로 변환 할 수있는 모바일 앱이 있습니까? XML을 PDF로 변환 할 수있는 모바일 앱이 있습니까? Apr 02, 2025 pm 08:54 PM

XML을 PDF로 직접 변환하는 응용 프로그램은 근본적으로 다른 두 형식이므로 찾을 수 없습니다. XML은 데이터를 저장하는 데 사용되는 반면 PDF는 문서를 표시하는 데 사용됩니다. 변환을 완료하려면 Python 및 ReportLab과 같은 프로그래밍 언어 및 라이브러리를 사용하여 XML 데이터를 구문 분석하고 PDF 문서를 생성 할 수 있습니다.

C 언어 기능의 기본 요구 사항은 무엇입니까? C 언어 기능의 기본 요구 사항은 무엇입니까? Apr 03, 2025 pm 10:06 PM

C 언어 기능은 코드 모듈화 및 프로그램 구축의 기초입니다. 그들은 선언 (함수 헤더)과 정의 (기능 본문)로 구성됩니다. C 언어는 값을 사용하여 기본적으로 매개 변수를 전달하지만 주소 패스를 사용하여 외부 변수를 수정할 수도 있습니다. 함수는 반환 값을 가질 수 있거나 가질 수 있으며 반환 값 유형은 선언과 일치해야합니다. 기능 명명은 낙타 또는 밑줄을 사용하여 명확하고 이해하기 쉬워야합니다. 단일 책임 원칙을 따르고 기능 단순성을 유지하여 유지 관리 및 가독성을 향상시킵니다.

GO 언어에서 'var'와 'type` 키워드 정의 구조의 차이점은 무엇입니까? GO 언어에서 'var'와 'type` 키워드 정의 구조의 차이점은 무엇입니까? Apr 02, 2025 pm 12:57 PM

GO 언어에서 구조를 정의하는 두 가지 방법 : VAR과 유형 키워드의 차이. 구조를 정의 할 때 Go Language는 종종 두 가지 다른 글쓰기 방법을 본다 : 첫째 ...

XPath를 사용하여 JavaScript의 지정된 DOM 노드에서 검색하는 방법은 무엇입니까? XPath를 사용하여 JavaScript의 지정된 DOM 노드에서 검색하는 방법은 무엇입니까? Apr 04, 2025 pm 11:15 PM

JavaScript의 DOM 노드에서 XPath 검색 방법에 대한 자세한 설명은 종종 XPath 표현식을 기반으로 DOM 트리에서 특정 노드를 찾아야합니다. 필요하다면 ...

C와 C#의 차이점과 연결은 무엇입니까? C와 C#의 차이점과 연결은 무엇입니까? Apr 03, 2025 pm 10:36 PM

C와 C#은 유사성이 있지만 완전히 다릅니다. C는 프로세스 지향, 수동 메모리 관리 및 시스템 프로그래밍에 사용되는 플랫폼 의존 언어입니다. C#은 데스크탑, 웹 응용 프로그램 및 게임 개발에 사용되는 객체 지향, 쓰레기 수집 및 플랫폼 독립 언어입니다.

See all articles