방명록
- 안드로이드 Retrofit2 통신 시 HTTPS가 아닌 HTTP로 설정하기2023년 10월 19일 10시 22분 53초에 업로드 된 글입니다.작성자: Moonsu99

안드로이드에서 Retrofit2으로 서버와 통신할 때 요구되는 방식은 HTTPS다.
프로토콜은 HTTP와 HTTPS가 존재하는데 두 프로토콜의 차이점은 보안성과 데이터 무결성의 차이에 있다.
HTTP HTTPS 보안 제공 X 제공 O 암호화 평문전송 SSL/TLS 사용 포트 80 443 요약하자면, HTTP는 보안 기능이 없고 데이터를 암호화하지 않지만, HTTPS는 데이터 보안과 무결성을 제공하므로 민감한 정보를 안전하게 전송하는 데 사용된다. 웹에서는 HTTPS를 사용하는 것이 권장되며, 많은 웹사이트가 HTTPS를 통해 데이터 보안을 강화하고 있다.
하지만, 불가피하게 HTTP로 통신해야 할때는
xml - network_security_config.xml 파일을 생성하여 HTTP 연결 권한을 허용한다.
network_security_config.xml
<?xml version="1.0" encoding="utf-8"?> <network-security-config> <base-config cleartextTrafficPermitted="true"> <trust-anchors> <certificates src="system" /> </trust-anchors> </base-config> </network-security-config>해당 파일을 추가한 후 실행하면 HTTP에 대한 권한도 허용될 수 있다. 그러나 앱 출시 이전 도메인을 HTTPS로 변경요청을 서버 관리자 측에 요청해야 한다.
해당 내용은 Google Play Console의 내부 테스트를 돌려보고 난 후, 세부정보에서 보안 및 신뢰에 이슈가 발생하는 것을 확인할 수 있다.

결론 : 되도록 HTTPS를 사용하자.
'Android [ Java, Kotlin ]' 카테고리의 다른 글
Android DataStore로 토큰 처리하기 [Kotlin] (1) 2023.11.14 Appium을 이용해 안드로이드 테스트 자동화 환경 구축하기 (0) 2023.10.20 안드로이드 프로그래밍 - 커스텀 프로그래스바(Progressbar) (0) 2023.10.16 안드로이드 프로그래밍 - 인텐트(Intent)와 Finish (0) 2023.10.15 안드로이드 프로그래밍 - 타이틀바(Action bar) 제거 방안 (1) 2023.10.15 다음글이 없습니다.이전글이 없습니다.댓글