안녕하세요 오늘은 Android에서 자주 사용하는 Retrofit등의 라이브러리의 기초인 HTTP와 HTTPS에 대해 포스팅 해보겠습니다.
HTTP(HyperText Transfer Protocol)는 웹 서버와 클라이언트 사이에 정보를 전송하는 방법을 정의하는 프로토콜입니다.
클라이언트가 서버에 요청을 보내면 서버는 해당 요청에 대한 응답을 보냅니다. 이 프로토콜은 웹의 기초를 이루며, 웹 페이지를 요청하고 불러오는 등의 작업에 사용됩니다.

HTTP는 요청/응답 모델을 따릅니다. 클라이언트가 요청을 보내면, 서버는 요청에 대한 응답을 보냅니다.
HTTP는 상태 없는 프로토콜입니다. 이 말은 각 요청이 독립적이며 서로 관련이 없다는 것을 의미합니다. 서버는 클라이언트에 대한 이전 요청을 기억하지 않으므로, 각 요청은 모든 필요한 정보를 포함해야 합니다. 이를 해결하기 위한 방법으로 쿠키, 세션 등이 사용됩니다.
HTTP요청은 특ㅎ히 특정 메소드를 사용합니다. 대표적인 HTTP 메소드에는 GET,POST,PUT,DELETE 등이 있습니다.
HTTP 응답에는 상태 코드가 포함되어 있ㅅ브니다. 이 코드는 요청이 어떻게 처리되었는지 클라이언트에게 알려줍니다.
대표적인 상태 코드로는
'200' -> 성공
'404' -> 페이지 없음
등이 있습니다.
HTTP 요청과 응답 모두 헤더를 포함할 수 있습니다.
헤더는 메타데이터를 전달하는데 사용되며, 콘텐츠 유형, 인증 정보, 캐싱 규칙 등 다양한 정보를 포함할 수 있습니다.
이러한 특성을 가지고 있는 HTTP는 보안에 취약하단 단점이 있습니다. HTTP를 사용하여 전송되는 모든 정보는 평문으로 전송되므로 해킹에 위험에 노출될 수 있습ㄴ다.
이를 해결하기 위한 것이 HTTPS 프로토콜입니다.
HTTPS(Hyper Text Transfer Protocol Secure)란 간단하게 말하자면 HTTP + secure 입니다.
데이터 암호화가 추가된 HTTP 프로토콜 이라고 생각하시면 쉽게 이해할 수 있습니다.
HTTPS는 SSL 또느느 TLS 프로토콜을 사용하여 데이터를 암호화 합니다. 이 암호화 과정에서, 웹 서버와 웹 브라우저 사이에서 주고 받는 모든 데이터는 중간에서 가로더라도 읽을 수 없는 형태로 변환됩니다.
HTTPS는 웹 서버의 인증서를 사용하여 웹 사이트의 신원을 검증합니다.
HTTPS는 데이터의 무결성을 보장합니다. 즉, 데이터가 웹 서버에서 웹 브라우저로 전송되는 동안 변경, 손상, 손실 등이 일어나지 않음을 보장합니다.
HTTP : 단순 정보 조회
HTTPS : 개인정보 등 민감한 데이터
저도 개발자인데 같이 교류 많이 해봐요 ㅎㅎ! 서로 화이팅합시다!