WebKitFormBoundary 뒤의 임의의 문자열은 무엇을 의미합니까?
저는 BI 도구를 사용하여 DB 시스템에서 데이터를 추출한 다음 HTTP POST를 통해 웹 사이트에 업로드하는 프로세스를 자동화하려고합니다.
내가 사용중인 BI 도구를 사용하면 요청을 텍스트 개체로 빌드 한 다음 웹 리소스로 보낼 수 있습니다.
이 작업을 수행하기 위해 Fiddler를 사용하여 양식을 수동으로 채울 때 Chrome이 보낸 웹 요청을 캡처합니다.
요청에는 다음이 포함됩니다.
------WebKitFormBoundarycwwJjby5xTdrlr48
Content-Disposition: form-data; name="upload"; filename="data.csv"
Content-Type: application/vnd.ms-excel
CSV HEADER DATA
CSV ROW DATA
------WebKitFormBoundarycwwJjby5xTdrlr48
Content-Disposition: form-data; name="returnErrorCsv"
------WebKitFormBoundarycwwJjby5xTdrlr48
Content-Disposition: form-data; name="returnUrl"
------WebKitFormBoundarycwwJjby5xTdrlr48
Content-Disposition: form-data; name="entityPropertiesToReturn"
------WebKitFormBoundarycwwJjby5xTdrlr48
그런 다음 위의 요청을 모방하고 DB에서 추출한 데이터를 대체 할 BI 도구를 얻었습니다 (CSV HEADER 데이터 및 CSV ROW 데이터 데이터가 이동하는 위치-이 데이터는 기밀이므로 제거해야 함).
이것은 모두 정상적으로 작동하지만 내 질문은 WebKitFormBoundary 이후의 문자열이 무엇을 의미합니까? IE cwwJjby5xTdrlr48
하나의 요청을 다른 요청에서 식별하는 것은 임의의 문자열입니까? 아니면 다른 목적이 있습니까?
현재 모든 요청에서 cwwJjby5xTdrlr48을 재사용하고 있으며 제대로 작동하는 것 같지만 대신 내 자신의 문자열을 구성 해야하는지 물어볼 가치가 있다고 생각했습니다.
이것은 MIME 구조의 다른 부분 사이에 소위 "경계"를 정의하는 일반적인 방법입니다. 수신 측은 이것에 의해 다른 부분을 구분할 수 있습니다. 예를 들어 이메일 메시지와 같은 다른 것들에도 동일한 논리가 사용됩니다.
이 "무작위"문자열은 실제로 임의적이며 동일한 문자열을 사용하는 모든 경계 마커는 "그룹화"되어 동일한 수준에서 작동합니다. Mime 부품 구조는 계층 적 방식으로 쌓일 수 있습니다. 이러한 경우 서로 다른 임의의 문자열이 서로 다른 수준에서 사용되어 구별됩니다. 예를 들어 이메일을 새 이메일의 첨부 파일로 인용하는 방법입니다. 인용 된 전자 메일에 여러 MIME 부분이 포함 된 경우 해당 경계가 새 전자 메일의 경계와 달라야합니다. 그렇지 않으면 수준간에 혼란이 발생합니다.
실제로 중요한 것은 그 경계의 "무작위 부분"이 아닙니다. 전체 문자열이 일치합니다. 투명성을 위해 각 소프트웨어가 이러한 경계에 고유 한 접두사 문자열을 사용하는 것은 단순히 관례입니다. 그러나 일반적으로 유일한 요구 사항은 선택한 문자열이 포함 된 모든 데이터에서 고유해야한다는 것입니다. 정확히 동일한 문자열을 사용해야하는 해당 경계를 제외하고는 분명히 고유합니다.
'development' 카테고리의 다른 글
Jenkins 파이프 라인에서 실패한 단계에 대한 재시도 옵션을 구현하려면 어떻게해야합니까? (0) | 2021.01.08 |
---|---|
ClickOnce에 대한 대안은 무엇입니까? (0) | 2021.01.08 |
C #에 || = 또는 && = 연산자가없는 이유는 무엇입니까? (0) | 2021.01.08 |
C # 클래스 선언이 호출되기 전에 대괄호 안에있는 것은 무엇입니까? (0) | 2021.01.08 |
Python에서 yield 표현식의 결과는 무엇입니까? (0) | 2021.01.08 |