>  기사  >  백엔드 개발  >  프런트엔드와 백엔드를 분리할 때 도메인 간 문제를 어떻게 해결합니까?

프런트엔드와 백엔드를 분리할 때 도메인 간 문제를 어떻게 해결합니까?

WBOY
WBOY원래의
2016-09-23 03:30:081192검색

현재 블로그 작업을 할 때 프런트엔드와 백엔드 분리를 사용하고 프런트엔드와 백엔드 로직을 두 개의 별도 저장소에 배치하고 두 대의 서버에 배포하는 것을 고려하고 있습니다.

내 메인 도메인 이름은 godtail.cn입니다. (현재 ghost을 사용하여 새 블로그를 작성 중입니다...)

  • 프런트 엔드 도메인 이름: www.godtail.cn godtail.cn | m.godtail.cn

    백엔드 도메인 이름은
  • 입니다. api.godtail.cn

    그런데 통신을 해보니
  • 라는 메시지가 나오는 걸 발견했습니다. 뭐, 메인 도메인 이름이 같으면 도메인 간은 안 되는 줄 알았어요(같은 도메인 이름, 다른 포트도 도메인 간이겠죠).

현재 저는 이 문제를 해결하는 두 가지 방법을 알고 있습니다. 跨域

JSONP를 사용하세요. 솔직히 저는 JSONP를 사용하는 것을 별로 좋아하지 않습니다. 보안 문제가 발생하거나 효율성이 저하될 것 같습니다. (이 두 가지 사항은 단지 제 추측입니다.)
  1. 추측이유 :


    어떤 소스에서든 액세스할 수 있습니다. js 삽입이 있나요?
    • 백엔드와 프런트엔드 모두 처리를 위해 JSONP가 필요합니다. (작성하기 불편하며 모든 요청은 JSONP를 사용해야 합니다.)
    백엔드에 교차 도메인 헤더 추가
  2. 프런트 엔드 도메인 이름이 많으면 많은 도메인 이름을 추가하고 유지 관리해야 합니다. 다른 시스템에서 인터페이스를 요청해야 하는 경우 교차 도메인 헤더를 추가하시겠습니까? 다루기가 쉽지 않네요...
    더 나은 해결책을 갖고 있는 사람이 있나요?
================【9-22 17:25】======================

또한 크로스 도메인 헤더를 설정하면 내부 통화 전용 IP도 설정할 수 있습니다. 외부 호출이 필요한 경우에는 만족스럽지 않을 것입니다. 또한 이전 버전의 브라우저와 호환성 문제가 있는지 확실하지 않습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.