문제

iPhone 애플리케이션에 연결된 웹 응용 프로그램을 설계하고 있습니다. 웹 서버에 대규모로 큰 URL을 보냅니다 (약 15000) I ~였다 거의 freespeech.net을 사용하지만 최대 2000 자의 URL 만 지원합니다. 정말 큰 URL을 지원할 웹 호스팅에 대해 아는 사람이 궁금하십니까? 고마워, 이삭

편집하다: 내 프로그램은 사파리에서 사진을 열어야합니다. 이 두 가지 방법을 수행 할 수 있습니다.

  • URL로 인코딩 된 Base64를 보내고 쿼리 매개 변수를 반영하십시오.
  • 먼저 응용 프로그램의 서버에 게시 한 다음 서버가 데이터베이스에 사진을 저장 한 후 고유 ID를 다시 전송합니다.이 데이터베이스에서 사진을 검색하고 삭제 한 Safari에서 열리는 URL에 추가됩니다. 데이터베이스에서.

알다시피, 나는 게으르고, 모바일 사파리가 URI의 최대 80,000자를 지원할 수 있다는 것을 알고 있으므로 이것이 괜찮은 방법이라고 생각합니다. 이것에 정말로 문제가 있다면 말 해주세요.

편집하다: 나는 적절한 포스트 방식으로 그것을하게되었다. 감사.

도움이 되었습니까?

해결책

15,000 문자 긴 URL을 보내면 모든 가능성이 있습니다.

Alt Text http://img16.imageshack.us/img16/3847/youredoingitwronga.jpg

대신 HTTP 게시물과 같은 것을 사용하십시오.

당신이 실행하는 제한 사항은 호스트와 관련된 문제가되지 않습니다. 웹 서버가 URL 길이에 대한 제한이 있다는 사실에 더 가깝습니다. 에 따르면 이 페이지, Apache는 약 4K 문자로 제한하며 IIS는 기본적으로 16K로 제한합니다.

다른 팁

질문에 직접 대답하지는 않지만 URL의 공식 최대 길이는 없지만 브라우저와 서버는 실제 제한이 있습니다. http://www.boutell.com/newfaq/misc/urllength.html 자세한 내용은. 요컨대, IE (적어도 일부 사용중인 버전)는 2,083 자 이상의 URL을 지원하지 않기 때문에 그 길이 이하로 유지하는 것이 현명 할 것입니다.

Safari에서 열면 서버에 참여할 필요가 없다면 data: 우리?

네트워크를 통해 긴 Uris를 보내는 것은 기본적으로 옳은 일이 아닙니다. 알다시피, 일부 웹 호스트는 긴 URI를 지원하지 않습니다. 일부 프록시 서버는 긴 URL에서 질식 할 수 있습니다. 즉, 해당 프록시 뒤에있는 사용자에게는 앱이 작동하지 않을 수 있습니다. 앱을 다른 브라우저로 포트 해야하는 경우 다른 브라우저에서는 URI를 오랫동안 지원하지 않을 수 있습니다.

서버까지 데이터를 가져와야하는 경우 게시물을 사용하십시오. 예, 여분의 왕복 여행이지만 훨씬 더 신뢰할 수 있습니다.

또한 GET 요청을 사용하여 서버에 데이터를 업로드하는 경우 모든 종류의에 취약합니다. 크로스 사이트 요청 위조 공격; 기본적으로 공격자는 사용자가 링크를 클릭하도록하여 단순히 계정에 염소를 업로드하도록 속일 수 있습니다 (아마도 숨겨져있을 것입니다. 작은 또는 다른 URL 단축 서비스 또는 클릭 중 URL을 자세히 보지 않을 때 웹 페이지의 링크로 포함).

실제로 서버에서 아무것도 변경하지 않는 쿼리 매개 변수를 넘어서 서버로 데이터를 전송하는 데 Get을 사용해서는 안됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top