2017년 2월 7일 화요일

[오류일지] 엣지, HTTP403: FORBIDDEN - 서버에서 요청을 이해했지만 수행을 거부하고 있습니다.

[일시]
2017.02.02 톰캣 서버로 프로젝트 데이터 전송 중 발생





[원인 탐색]

MSDN 에서 HTTP 오류 코드를 조회해보니 다음과 같은 정보가 나옴     
HTTP403
FORBIDDEN
서버에서 요청을 이해했지만 수행을 거부하고 있습니다.
서버 권한 관련된 문제라 판단됨. ------> java 서블릿 프로젝트의 web.xml 에 필터 내용 추가함 ------> 여전히 동작 안함 (실패)

xhr 통신을 위해 만들어준 함수가 예전 버전인 것을 확인  ----> 최신 버전으로 업데이트 ----> 동작함



[현상]
엣지 환경에서 Ajax 통신 시 아래 오류 메세지가 출력되면서 데이터 전송이 안됨.
데스크탑 엣지에서만 안됨, 크롬/IE/파이어폭스는 정상동작함.
       
 HTTP403: FORBIDDEN - 서버에서 요청을 이해했지만 수행을 거부하고 있습니다.
 (XHR)POST - http://(요청URL)

(영문버전) 
HTTP403: FORBIDDEN - The server understood the request, but is refusing to fulfill it.





[해결]
ajax 통신 시 XMLHttpRequest 객체의 헤더에 Content-type 을 설정하지 않으면 위와 같은 현상이 발견되는 것을 확인.
Content-type 헤더를 붙여서 전송한 후 정상적으로 동작함.

if (type){
        xhr.setRequestHeader("Content-type", type);
}


          

댓글 없음:

댓글 쓰기