RPG처럼 웹 개발하기

HTTP / HTTPS 를 쉽게 알아보기로 했다. 본문

웹 개발

HTTP / HTTPS 를 쉽게 알아보기로 했다.

RPG 마니아 2022. 6. 28. 18:29

HTTP ?

텍스트 기반의 통신 규약으로 인터넷에서 데이터를 주고 받을 수 있는 프로토콜 입니다.

클라이언트가 요청(request)을 보내면 서버가 요청사항에 맞는 응답(response)을 보내는 형태로 작동합니다.

 

(요청) 진구 : 도라에몽! 어디로든 문 내놔!

(응답) 도라에몽 : 으..응..!

 

특징

  1. TCP / IP 를 이용하는 응용 프로토콜 입니다. (인터넷을 통해 데이터를 주고받는 기능을 이용하는 응용 프로토콜)
  2. 연결상태를 유지하지 않는 비연결성 프로토콜 입니다. (요청과 응답형태로 작동)
  3. 무상태성(stateless) 프로토콜 입니다. (서버가 두 요청간에 어떠한 데이터도 유지하지 않음)

TCP : 두개의 호스트를 연결하고 데이터를 교환하게 해주는 프로토콜입니다.

IP : 인터넷에 연결되어 있는 장치들은 각각의 장치를 식별할 수 있는 주소를 가지고 있는데 이를 IP 라고 합니다.

HTTP 요청 메서드

  1. GET: 특정 데이터를 받기 위한 요청입니다.
  2. POST: 데이터를 생성하거나 컨트롤러를 실행할때 사용합니다.
  3. PUT: 변경 가능한 데이터를 변경할때 사용합니다.
  4. DELETE: 특정 데이터를 삭제할때 사용합니다.

더 많은 메서드들이 존재하지만 주로 사용하는 메서드는 위의 4가지를 주로 사용합니다.


HTTPS ?

HTTPS는 보안 소켓 계층(SSL)을 사용하여

브라우저와 서버 사이에 전송된 데이터를 암호화 하여 인터넷 연결을 보안을 유지하는 표준 기술을 사용한

보안이 강화된 HTTP 프로토콜 이라고 생각하시면 편할것 같습니다.

 

일반적인 HTTP 통신은 통신간에 해커가 해당 요청을 중간에 훔쳐보면 모든 정보가 그대로 드러나게 됩니다.

password: 게임 + 웹 개발

위처럼 해커는 사용자의 아이디와 비밀번호를 훔쳐보고 사용자의 정보를 가져갈수 있습니다.

 

http 통신중 훔쳐보는 해커

 

하지만 HTTPS는

password: eRa12Xye

 

위처럼 해커가 사용자의 요청을 훔쳐보더라도 암호화된 상태의 정보를 보게 되어

사용자의 정보를 보호할 수 있습니다.

 

https 통신중 보호되는 정보

 

SEO 또한 높은 점수를 주며 PWA 또한 HTTPS 에서만 사용할 수 있기 때문에

최근의 대부분의 웹 페이지는 HTTPS를 사용하는걸 지향하고 있습니다.

 

SEO : 검색엔진 최적화입니다. 검색 사이트에서 검색시에 상위 노출이 되기 위해서 작업합니다.

PWA : 프로그래시브 웹앱이라는 뜻이며, 웹과 앱의 기능 모두 이점을 가져가는 웹/앱 사이트 입니다.


제가 검색했던 HTTP 관련 에러 ( CORS )

HTTP 관련해서 주로 검색했던 에러는 CORS 에러였던것 같습니다.

 

HTTP 통신을 할때 해당 서버가 허용한 프로토콜, 도메인, 포트와 다를 경우 CORS 에러를 나타냅니다.

 

https://www.omg.com:8000/user

https://www.aomg.com:8000/user

 

위 예시는 도메인이 다르기 때문에 CORS 에러가 나타납니다.

CORS는 서버쪽 코드에서 문제를 해결해주어야 합니다.

 

저는 Node 의 cors 라는 모듈을 사용했었습니다.

 

https://www.npmjs.com/package/cors

Comments