폼 내용 유형(폼 콘 텐 츠 유형)

6604 단어 httpw3c
폼 내용 유형(폼 콘 텐 츠 유형)
NOTES 본 논문 의 원문 은 https://www.w3.org/TR/html401... 번역 은 본인(적 석 준 야)이 정리 합 니 다.만약 에 귀하 가 원작 자 이 고 이 글 이 저작권 침해 와 관련 이 있다 고 생각 하 시 면 저 는 삭제 에 협조 하 겠 습 니 다.
HTML 탭 에서 form 요소 의 enctype 속성 은 서버 에 제출 된 폼 의 주체 내용 을 어떤 방식 으로 인 코딩 할 지 지정 합 니 다.사용자 에이 전 트 는 다음 과 같은 내용 형식 을 지원 해 야 하지만 다른 유형의 표현 에는 관심 이 없습니다.
이 부분 을 볼 수 있 습 니 다:escaping ampersands in URI attribute valuesapplication/x-www-form-urlencoded
이것 은 기본 내용 형식 입 니 다.이 형식의 제출 된 폼 을 사용 하려 면 다음 과 같이 인 코딩 되 어야 합 니 다.
  • 컨트롤 이름과 값 은 전의 되 어야 합 니 다.빈 칸 문 자 는 + 으로 바 꾼 다음 에 보 존 된 문 자 는 [RFC1738] 의 두 번 째 부분 에 따라 비 자모 숫자 문 자 는 %HH 으로 바 꿉 니 다.하나의 백분 번호 와 두 자 리 는 이 문자 ASCII 코드 를 나타 내 는 16 진수 숫자 입 니 다.줄 바 꿈 부 호 는 CR LF 쌍 으로 대체 되 는데,즉 %0D%0A 이다.
  • 컨트롤 이름과 값 은 그들 이 문서 에 나타 난 순서에 따라 배열 된다.이름과 값 사 이 를 = 으로 구분한다.각 이름과 값 의 쌍 사 이 를 & 으로 구분한다.
  • multipart/form-data
    NOTES 는 [RFC2388] 을 참조 하여 파일 업로드 에 관 한 정 보 를 더 알 아 보 세 요.역방향 호환성 문제,기타 유형 과 multipart/form-data 간 의 관계,성능 문제 등 을 포함 합 니 다.
    보안 문제 작성 자,내 장 된 그림,그리고 URI 를 포함 하 는 요 소 를 매개 변수 로 사용자 의 입력 을 간접 적 으로 참조 할 수 있 습 니 다.이런 상황 은 [RFC1738],여섯 번 째 부분 에서 묘사 한 안전 문제 에 주의해 야 한다.폼 요청 을 제출 하 는 데 가장 많이 사용 되 는 방법(HTTP 와 SMTP)은 일부 기밀 조항 을 제공 하 는 것 이다.양식 을 통 해 기밀 정 보 를 요청 하 는 정보 제공 자,특히 type=passwordinput 요 소 를 사용 하 는 경우 사용자 에 게 기밀 성의 부족 을 의식 하 게 해 야 한다.
    폼 보안 사용자 에이 전 트 는 사용자 가 명확 하 게 요구 하지 않 은 파일 을 보 내 서 는 안 됩 니 다.따라서 HTML 사용자 에이 전 트 는 input 요소 중 value 에서 건 의 될 수 있 는 기본 파일 이름 을 확인 해 야 합 니 다.숨겨 진 공간 에서 파일 을 지정 할 수 없습니다.이 부분 은 데이터 암호 화 체 제 를 포함 하지 않 습 니 다.이것 은 다른 안전 전송 데이터 체제 에 있어 야 합 니 다.파일 이 업로드 되면 처리 에이 전 트 는 처리 하고 적절하게 저장 해 야 한다.
    콘 텐 츠 형식 application/x-www-form-urlencoded 을 사용 하여 바 이 너 리 데 이 터 를 대량으로 보 내 고 ASCII 문자 가 아 닌 텍스트 를 포함 하 는 효율 이 매우 낮 습 니 다.multipart/form-data 이러한 내용 형식 은 파일,비 ASCII 데이터,바 이 너 리 데 이 터 를 포함 하 는 폼 을 제출 하 는 데 적합 합 니 다.multipart/form-data[RFC2045] 에서 개술 한 다 원 화 된 MIME 데이터 형식 흐름 을 따른다.multipart/form-data 의 정 의 는 [IANA] 기록 에서 사용 할 수 있다.
    하나의 multipart/form-data 메 시 지 는 많은 부분 을 포함 하고 모든 부분 은 성공 적 인 컨트롤(성공 적 인 컨트롤 은 form 요소 에서 정의 되 고 name 이 있 음 을 나타 내 는 것)을 나타 내 며 이 부분 들 은 문서 에 나타 난 순서 가 같은 순서 로 처리 에이전트 로 보 내 집 니 다.일부 경 계 는 어떤 데이터 에 도 나타 나 서 는 안 된다.이것들 은 어떻게 작 동 하 는 지 본문의 묘사 범 위 를 초과 했다.
    모든 다 원 화 된 MIME 형식 을 지원 해 야 하기 때문에 각 부분 마다 선택 할 수 있 는 머리 매개 변수 Content-Typetext/plain 으로 정의 되 었 습 니 다.사용자 에이 전 트 는 Content-Type 개의 파 라 메 터 를 제공 할 수 있 습 니 다.
    각 부분 은 다음 을 포함 할 것 으로 예상 합 니 다.
  • 개의 charset 마리 로 그 수 치 는 Content-Disposition 이다.
  • 개의 form-data 속성 으로 컨트롤 과 같은 이름 의 컨트롤 이름 을 지정 합 니 다.컨트롤 이름 은 ASCII 문자 집합 이 아 닌 [RFC2045] 에서 설명 한 방법 으로 인 코딩 해 야 합 니 다.

  • NOTES 번역 자 는 불 여우 와 크롬 에서 테스트 하 는 현상 에 주 의 를 기 울 였 습 니 다.name 이 중국어 이름 으로 지정 되 었 을 때 name 에 있 는 form-data 도 중국어 로 바 뀌 지 않 았 습 니 다.
    따라서 밤 을 들 어 보 세 요.'my control'이라는 공간 이름 이 있 으 면 해당 하 는 부분 을 지정 해 야 합 니 다.
    Content-Disposition: form-data; name="mycontrol"

    모든 MIME 전달 에 대해'CR LF'(즉 name)는 데이터 의 줄 당 분할 에 사용 된다.
    각 부분 은 인 코딩 되 어야 하 며,이 부분의 값 이 기본 인 코딩(7BIT)을 따 르 지 않 으 면 %0D%0A 머리 를 제공 해 야 한다.[RFC2045] 의 여섯 번 째 부분 을 참고 하 세 요.
    만약 에 한 파일 의 내용 도 하나의 폼 에 따라 제출 된다 면 파일 입력 은 적당 한 내용 형식 으로 식 별 될 수 있어 야 한다.예 를 들 어 Content-Transfer-Encoding 이다.만약 여러 파일 이 하나의 폼 에 기록 되 어 돌아온다 면 application/octet-stream 으로 되 돌아 와 야 한다.
    사용자 에이 전 트 는 제출 한 모든 파일 에 파일 이름 을 제공 하려 고 시도 해 야 합 니 다.파일 이름 은 multupart/mixed 머리의 Content-Disposition: form-data 속성 으로 정의 할 수 있 습 니 다.또는 여러 파일 이기 때문에 한 부분 filename 머리 에 지정 할 수 있 습 니 다.클 라 이언 트 의 운영 체제 가 US-ASCI 인 코딩 이 아니라면 파일 이름 은 [RFC2045] 의 방법 으로 인 코딩 해 야 합 니 다.이것 은 일부 업로드 파일 사이 에 서로 인 용 된 파일 이 존재 하 는 처리 에 비교적 편리 하 다.예 를 들 어 TeX 파일 과 그의.sty 보조 스타일 설명 입 니 다.
    다음 예 는 Content-Disposition: file 인 코딩 예 시 를 묘사 한 것 이다.만약 우리 가 이런 양식 을 가지 고 있다 면:
     

    What is your name?
    What files are you sending?


    사용자 가 텍스트 상자 에 multipart/form-data 을 입력 한 다음 텍스트 파일 Larry 을 선택 하 십시오.사용자 에이 전 트 는 이 데 이 터 를 전송 해 야 합 니 다:
       Content-Type: multipart/form-data; boundary=AaB03x
    
       --AaB03x
       Content-Disposition: form-data; name="submit-name"
    
       Larry
       --AaB03x
       Content-Disposition: form-data; name="files"; filename="file1.txt"
       Content-Type: text/plain
    
       ... contents of file1.txt ...
       --AaB03x--

    사용자 가 두 번 째 파일 file1.txt 을 선택 했다 면 사용자 에이 전 트 는 다음 과 같은 부분 을 구축 해 야 합 니 다.
       Content-Type: multipart/form-data; boundary=AaB03x
    
       --AaB03x
       Content-Disposition: form-data; name="submit-name"
    
       Larry
       --AaB03x
       Content-Disposition: form-data; name="files"
       Content-Type: multipart/mixed; boundary=BbC04y
    
       --BbC04y
       Content-Disposition: file; filename="file1.txt"
       Content-Type: text/plain
    
       ... contents of file1.txt ...
       --BbC04y
       Content-Disposition: file; filename="file2.gif"
       Content-Type: image/gif
       Content-Transfer-Encoding: binary
    
       ...contents of file2.gif ...
       --BbC04y--
       --AaB03x--

    좋은 웹페이지 즐겨찾기