2010-04-20 2 views
1

나는 이것이 길다는 것을 알고 있지만, 나는 어쨌든 질문을 할 것이라고 생각했다.HTTPS 페이지에서 HTTP 페이지로 데이터를 POST하는 방법

나는 HTTPS 페이지가 있으며 동적으로 양식을 만듭니다. HTTP 페이지로 양식을 POST하고 싶습니다. 브라우저가 경고를 표시하지 않고 이것이 가능합니까? IE8에서 이렇게하면 다음과 같은 메시지가 나타납니다.

Do you want to view only the webpage content that was delivered securely?

기본적으로, 나는 슬프게도, 나는 https에서 http로 게시 할 때 경고를 얻을하지 전혀 방법을 알고 질문 1554237.

+1

제목은 질문과 모순된다. HTTPS에서 HTTP 또는 HTTPS로 게시 하시겠습니까? 오류 메시지는 적어도 후자와 모순됩니다. – BalusC

+0

귀하의 질문에, 나는 틀렸다고 생각합니다. 당신이 "HTTP"페이지를 의미한다고 가정합니다 .... – jvenema

+0

왜 이렇게하고 싶지는 모르겠지만 무엇을하려고합니까? 그것은 다른 도메인인가, 강제 SSL입니까? –

답변

1

의 반대에 대해 부탁 해요. 양식을 안전하게 제공하는 경우 브라우저는 안전하게 데이터를 제출할 것으로 예상합니다. 다른 것이 가능하다면 사용자를 놀라게 할 것입니다.

1

아니요, 수행 할 수 없습니다. 우리의 좋은 친구 IE는 항상 그 경고를 나타냅니다.

+0

ajax를 사용하려고하면 어떻게됩니까? – zaf

+0

Ajax가 작동하지 않습니다 (페이지 하단에 경고가 표시됨). 그러나 제안한 것처럼 주변을 둘러 볼 수 있습니다. –

+1

왜 아래로 투표합니까? 사실,이 작업을 수행 할 수 없습니다. @ sblom의 게시물을 참조하십시오. – Nate

0

양식 대상의 프록시 역할을 직접 수행 할 수 있습니다 (예 : 양식을 서버로 제출하여 차례대로 일반 HTTP 요청을 실행하고 응답을 반환하도록 함). HTTP로만 작성하십시오.

0

실제로 보안되지 않은 페이지로 리디렉션 할 필요가없는 경우 사용자 요청을 실행하고 데이터를 반환하는 웹 서비스 (인증 된)를 제공 할 수 있습니다.

예 : 인증 된 페이지에서 https를 통해 웹 서비스로 생성하는 doInsecure.action을 호출합니다. doInsecure.action 그러면 비보안 페이지에 대한 수동 POST 요청이 만들어지고 응답 데이터가 출력됩니다.

0

opensource 프로젝트 Forge에서이 작업을 수행 할 수 있어야하지만 과도한 작업이 될 수 있습니다. Forge 프로젝트는 도메인 간 요청을 수행 할 수있는 JavaScript 인터페이스 (및 XmlHttpRequest 래퍼)를 제공합니다. 기본 구현은 Flash를 사용하여 도메인 간 (http < => https 포함) 통신을 가능하게합니다.

http://github.com/digitalbazaar/forge/blob/master/README

그래서 당신은 HTTPS를 통해 서버에서 포지 자바 스크립트와 SWF를로드 할 다음 POST를 수행하는 HTTP를 통한 포지 기반 XMLHttpRequest의 않습니다. 이렇게하면 서버에서 프록시 작업을 수행 할 필요가 없지만 https를 통한 POST를 지원하는 것보다 더 많은 작업이 수행 될 수 있습니다. 또한 여기에 가정한다는 것은 게시되는 양식에 기밀 정보가 없다는 것입니다.

1

사용자가 직접 백엔드 서비스를 작성하는 경우이를 수행하는 방법이 있습니다. 따라서 프런트 엔드 서비스 fs1을 사용하여 s1에 HTTP 요청을 게시하려고한다고 가정 해 보겠습니다.

스프링을 사용하는 경우 fs1에서 ajax 호출을 사용하여 스프링 백엔드에서 인식되는 'uri'(예 : bs1)를 사용할 수 있습니다. 이제 서비스 bs1이 s1에 전화를 걸 수 있습니다. 여기

화보 표현 : http://i.stack.imgur.com/2lTxL.png

코드 :

$.ajax 
({ 
type: "POST", 
uri:/json/<methodName> 
data: $('#Form').serialize(), 
success: function(response) 
{ 
    //handle success here 
}, 
error: function (errorResponse) 
{ 
    //handle failure here 
} 
}) 
관련 문제