POST HTTP 요청을 통해 큰 파일을 업로드한다고 가정 해 보겠습니다.HTTP POST 명령/REST url
파일을 업데이트하는 리소스의 이름을 지정하는 다른 매개 변수 (파일 제외)가 있다고 가정 해 보겠습니다.
리소스는 REST로 할 수있는 방법 (예 : foo.com/bar/123)과 같이 URL의 일부가 될 수 없습니다. 이것이 기술적 및 정치적 이유의 결합 때문이라고 가정 해 봅시다.
리소스 이름이 유효하지 않거나 IP 주소 및/또는 로그인 한 사용자가 리소스를 업데이트 할 권한이없는 경우 서버에서 파일을 무시해야합니다. 이것은 POST 요청에서 자원 매개 변수가 처음 나온 경우 쉽게 수행 할 수 있습니다.
이 POST가 대부분의 (모든?) 브라우저에 대해 리소스 이름과 파일 필드가 포함 된 HTML 양식에서 나온 경우이 요청은 POST 요청에 보존됩니다. 그러나 완전히 그것에 의지하는 것이 순진 할 것입니다, 그렇지 않습니까?
즉 HTTP 매개 변수의 순서는 중요하지 않으며 클라이언트는 임의의 순서로 POST를 자유롭게 작성할 수 있습니다. 그게 사실이 아닌가?
적어도 이론적으로 서버가 요청을 거부하기 전에 큰 파일 전체를 저장하게 될 수 있음을 의미합니다.
요청에 대한 특정 권한 부여/오류 검사를 수행하기 위해 POST 내용을 볼 필요가 없으므로 RESTful URL에 이점이있는 경우가 분명합니다.
동의합니까? 당신의 생각과 경험은 무엇입니까?
기타 의견주세요! 내 생각에, 대용량 파일 업로드 (또는 그 문제에 대한 파일 업로드)를 수행하는 모든 사람이 이에 대해 생각해 봤어야합니다.
클라이언트 측 유효성 검사? 어서. 그것은 신뢰할 수 없습니다. 요점은 이것이 REST로만 효율적으로 해결할 수 있다는 결론을 내 렸습니다. 동의하니? –
클라이언트 쪽 유효성 검사가 아니라 양식을 사용하여 html 페이지에 들어가기 전에 사용자의 유효성을 검사합니다. 예를 들어 권한 부여 데이터로 먼저 한 요청을 수행하고이를 쿠키에 저장 한 다음 실제 콘텐츠로 다른 요청을하십시오. 아래의 접근 방식도 좋습니다. – Timo
알겠습니다. 두 가지 요청을 제안합니다. 하나는 자원에 대한 쿠키를 가져오고 다른 하나는 자원에 POST합니다. 예,이 방법이 효과가 있지만 인공 솔루션은 무엇입니까? REST의 우아함과 비교해보십시오. –