【ピット】前後端分離開発におけるドメイン間問題およびフロントにクッキーを持たない問題


文書ディレクトリ

  • 前言
  • ドメイン間問題
  • cookie問題
  • ブロッキングによるドメイン間問題
  • 後記
  • 前言

  • シーン1:フロントがページをクリックして、リクエストを送信しますが、バックグラウンドサーバはいつも応答していません.バックグラウンドインタフェースはブレークポイントを打っていますが、ブレークポイントには入りません.フロントエンド:私は要求して送りました.データフォーマットも正しいです.あなたのインタフェースのドキュメントはそう書いています.私はインタフェースのドキュメントの要求に従って書いています.あなたのサーバーはどうしましたか.あなたのインタフェースの書いたのは正しいですか.バラバラ...バックグラウンド:私のインタフェースのドキュメントはとても正しいですね.私のほうはpostmanテストができます.私はテストに合格してから書いたドキュメントです.あなたのほうはどうですか.あなたが送った要求は正しいですか.バラバラ.の
  • シーン2:フロントにログインするとき、検証コードはずっと検証されていません.前端:私が入力した検証コードは、画像の中の検証コードです.どうしてあなたのバックグラウンドはずっと検証に合格しないのですか.どうして肥えていますか.あなたのバックグラウンドインタフェースは正しいですか.論理的に判断していますか.バラバラ...バックグラウンド:間違いないですね.私はpostmanで自分でテストに合格しました.あなたのところはどうしたんですか.私のバックグラウンドにはあなたのsessionがありません.バラバラ.の

  • その日は私の実习生活の28日目で、初めて前后の分离开発に接触して、私は感じて、ゆっくりと前后の分离开発の真の意味を悟ったようです:たぶん前后の分离开発かもしれません;

    ドメイン間問題


    シーン1は、典型的なドメイン間問題であり、前後端で分離開発する際、フロントバックグラウンドコードが1台のサーバにないため、フロントエンドページサーバがバックグラウンドインタフェースにアクセスしたい場合、ブラウザの により、これらのアクセスを拒否し、バックグラウンドがこれらの要求を受け取ることができない.
    バックグラウンドの構成が必要です.
    ブロガーはSSMフレームワークを使用しているので、springMvc.xmlで構成されています.
      
        <mvc:cors>
            <mvc:mapping path="/**"/>
        mvc:cors>
    
    

    最も簡単で乱暴で、いかなるソースからのリクエストも受信します.

    クッキー問題


    ドメイン間アクセスの場合、ブラウザのデフォルトはcookieを持って行かないので、バックグラウンドのたびに要求に応じて新しいsessionが生成され、検証コード値はそれぞれのセッションに保存され、もちろん永遠の検証は通過しません.
    フロントはAjaxの要求を送信する時、ブラウザにドメイン間帯域cookieを許可することを教えて、以下のように書きます.
    xhrFields:{withCredentials: true}
    

    ブロッキングによるドメイン間問題


    上記の問題はすべて解決した後、最後にシステムにブロックを追加します.ドメイン間問題がまた来た.
    ブラウザから送信されたプローブ方法で、ターゲットホストがドメインを超えて許可されているかどうかをプローブする必要があります.その結果、プローブ時にブロックされ、送信された偵察兵の音信が全くなく、ブラウザはターゲットホストに要求を送信せず、optionsのドメイン間エラーを発行します.
     //   options  
            if ("OPTIONS".toLowerCase().equals(httpServletRequest.getMethod().toLowerCase())){
                System.out.println(httpServletRequest.getMethod().toLowerCase());
                return true ;
            }
    

    後記


    数年後、私が一番多く言ったのは:
  • こちらでは
  • が使えます
  • 私には使いやすい
  • postmanテストは
  • に合格できます.
  • キャッシュしてないでしょ