>  기사  >  웹 프론트엔드  >  게시물에 파일 및 텍스트 업로드 요청 시 http 형식

게시물에 파일 및 텍스트 업로드 요청 시 http 형식

一个新手
一个新手원래의
2017-09-27 10:25:104049검색

서버는 일반적으로 요청 헤더의 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

요청 헤더의 콘텐츠 유형 애플리케이션 /x-www-form-urlencoded로 설정됩니다. 제출된 데이터는 key1=value1&key2=value2에 따라 요청 본문에 인코딩됩니다. 키와 값은 모두

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입니다.

application/json

text/xml

text/plain

요청 헤더의 내용 -Type도 이와 같이 설정하는 것이 일반적입니다. 그러나 일반적으로 웹 프런트엔드 개발에서는 요청 본문이 고정된 구조를 갖고 있지 않으며 해당 데이터 스트림이 있습니다. 데이터가 직접 전송됩니다. 위 두 가지와 동일할 필요는 없으며 고정된 구조로 래핑되어야 합니다. 단지 데이터가 json, xml, text에 해당하면 됩니다.

위 내용은 게시물에 파일 및 텍스트 업로드 요청 시 http 형식의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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