서버는 일반적으로 요청 헤더의 Content-Type 필드를 기반으로 요청의 메시지 본문이 *인코딩*되는 방법을 학습한 다음 본문을 구문 분석합니다. 따라서 POST 제출 데이터 체계에는 콘텐츠 유형과 메시지 본문 인코딩 방법이라는 두 부분이 포함됩니다.
application/x-www-form-urlencoded가장 기본적인양식 양식 구조, 키-값 쌍은 문자 매개변수를 전달하는 데 사용되며, 요청 구조는 다음과 같습니다
POST HTTP/1.1Host: www.demo.comCache-Control: no-cachePostman-Token: 81d7b315-d4be-8ee8-1237-04f3976de032Content-Type: application/x-www-form-urlencodedkey=value&testKey=testValue
urlEncode;
multipart/form-data여야 합니다. 파일을 업로드할 때 데이터를 제출하는 가장 일반적인 방법입니다. 요청 구조를 살펴보세요POST HTTP/1.1Host: www.demo.comCache-Control: no-cachePostman-Token: 679d816d-8757-14fd-57f2-fbc2518dddd9Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW------WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="key"value------WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="testKey"testValue------WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="imgFile"; filename="no-file"Content-Type: application/octet-stream<data in here>------WebKitFormBoundary7MA4YWxkTrZu0gW--
Content-Type이 multipart/form-data이고 경계가 생성됩니다. 임의로 요청 본문 Data에서 각 를 구별합니다. 그리고 마지막으로 줄바꿈입니다. 텍스트 데이터와 파일, 그림의 내용 설명이 다릅니다.텍스트 매개변수:Content-Disposition: form-data; name="key"Content-Type: text/plain; charset=UTF-8Content-Transfer-Encoding: 8bit
Content-Disposition: form-data; name="imgFile"; filename="no-file"Content-Type: application/octet-streamContent-Transfer-Encoding: binary
각 줄 바꿈은 rn입니다.
text/plain요청 헤더의 내용 -Type도 이와 같이 설정하는 것이 일반적입니다. 그러나 일반적으로 웹 프런트엔드 개발에서는 요청 본문이 고정된 구조를 갖고 있지 않으며 해당 데이터 스트림이 있습니다. 데이터가 직접 전송됩니다. 위 두 가지와 동일할 필요는 없으며 고정된 구조로 래핑되어야 합니다. 단지 데이터가 json, xml, text에 해당하면 됩니다.
위 내용은 게시물에 파일 및 텍스트 업로드 요청 시 http 형식의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!