티스토리 뷰

JavaScript

HTTP와 HTTPS 의 차이

Hoon1994 2020. 10. 29. 20:13

 

✏️ 1.HTTP란 무엇일까?

 

페이지 URL을 보면, http, 혹은 https로 시작하는 것을 볼 수 있다. 무슨 차이가 있을까? 

프론트엔드 개발자라면 알아야 할 지식이라 생각이 돼서, 한번 알아보게 되었다!

 

HTTP가 어떤 용어인지부터 살펴보자면, HTTP는 하이퍼 텍스트 전송 프로토콜의(Hypertext Transfer Protocol)이다.

장황하다. 가슴에 비수가 날아와 꽂힌다.(죄송합니다)

 

Hypertext부터 어떤 뜻인지 알아보자. 

Hyper는 뛰어넘다, 초월하다 등의 뜻을 가지고 있다. text는 문서라는 뜻으로 생각할 수 있을 것 같다.

초월한, 뛰어넘는 문서? 유연하게 생각해보면 문서를 뛰어넘다. 다른 문서로 간다! 다른 문서로 순식간에 접근을 한다! 

라는 뜻으로 생각해볼 수 있지 않을까 생각했다.

 

그럼 Transfer는? 옮기다, 이전하다 등의 뜻으로 생각할 수 있다. 

그럼 Protocol은? 통신 규약을 뜻한다.

 

다 합쳐보면, 문서를 교환하기 위해서, 통신을 하기 위해서 만들어진 형식, 혹은 구조라고 생각하면 될 것 같다.

HTTP는 TCP/IP 기반으로 되어 있다고 한다.(나중에 더 알아봐야지) 

 

통신이라면, 무엇을 주고 받을까? HTTP 통신을 통해 클라이언트는 Request를, 서버는 Response를 통해 통신할 수 있다.

즉, 데이터를 주고 받을 수 있는 것이다.

 

HTTP 통신은 요청이 오면 그 요청에 따른 응답을 보내기만 할 뿐 데이터를 저장하지 않기 때문에 무상태성이라고도 표현을 많이 한다.

 

Request

클라이언트가 서버에게 요청을 보내는 것이 Request인데, 여러개의 Method를 가지고 있다. 

대표적으로 get, post, put, delete를 예로 들 수 있다. get으로 데이터를 조회 & 불러올 수 있고,

put으로 데이터를 수정할 수 있고, post로 데이터를 생성&추가 할 수 있다. delete를 통해 삭제 또한 가능하다! 

 

Header, Body 등으로 나뉘어져 있으며, Header에는 Method의 타입, Request URL, 상태 값, RequestID등의 정보가 포함되어 있고,

Body 같은 경우 요청을 하는 값을 채워서 보낼 수 있다. 물론 상황에 따라 빈 값을 보낼 수도 있다.

 

Response 

그렇다면 응답은 어떨까, 

응답은 StatusCode, 응답 Body(데이터)등을 내려줄 수 있다. 

 

 

 

✏️ 2. 그럼 HTTPS란 무엇일까?

 

Hyper Text Protocol Secure의 약자가 HTTPS다.

HTTP에서 S가 붙었는데, S가 Secure로, 즉 보안, 더 안전하다는 뜻이 추가됐다.

 

왜 보안이 추가됐을까? 

HTTP는 클라이언트와 서버간의 자원을 주고 받는 통신인데, 자원(데이터)를 누군가 가로채서 볼 수 있다면? 

큰일난다 그럼..큰일나 개인정보가 날아가고 있어

 

데이터를 지켜야 하기 때문에 Secure Socket, 암호화를 하는 것이다.

데이터를 암호화해서 통신하기 때문에 중간에 데이터를 가로채더라도 내용을 알아보기 어렵다. 

SSL(Secure Sockets Layer) 인증서를 통해 암호화하는 것..! 데이터를 안전하게 지키기위한 것이라 생각하면 된다.

 

 

 

✏️ 3. 결론 

 

HTTP와 HTTPS는 보안의 차이가 있고, HTTP는 암호화가 되어있지 않기 때문에 중간에 데이터를 해킹당할 수 있다.

그러므로 중요한 데이터를 서버에 전송할 경우에는 꼭 HTTPS를 사용하여 통신해야한다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함