자바스크립트를 학습하다 만나게 된 encodeURI / decodeURI
함수를 살펴보다가 여기까지 이끌려오게 되었다...
HTTP에 대해서 어렴풋이 알고 있었지만 웹 개발을 하는 사람이라면 정확히 알아야 한다고 생각했기에 확실히 내 것으로 만들고자 이 글을 작성하게 되었다 😀
HTTP는 HyperText Transfer Protocol의 약자로 클라이언트와 서버 사이에 이루어지는 요청/응답 프로토콜이다. 여기서 프로토콜이란 컴퓨터 내부 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체계이다. 즉, HTTP는 웹에서 브라우저와 서버 간에 데이터를 주고 받기 위한 방식이다.
HTTP로 통신할 때 HTTP 메시지에 HTML, 텍스트, 이미지, 파일, JSON 등 모든 것을 전송한다. HTTP의 핵심이라고 할 수 있는 HTTP 메시지에 대해 조금 더 자세히 살펴보자
구조 | 의미 |
---|---|
start-line | 시작 라인 |
header | HTTP 헤더 |
CRLF | 공백 라인 |
message body | HTTP 메시지 바디 |
request-line = method SP request-target SP HTTP-version CRLF(엔터)
status-line = HTTP-version SP status-code SP reason-phrase CRLF
크롬의 개발자 도구에 있는 네트워크 탭에 접근하여 현재 페이지에서 발생하는 HTTP 헤더 정보를 확인할 수 있다.
값: 쌍
의 목록으로 구성된다이렇게 HTTP에 대해 알아보았다. 그렇다면 HTTP와 HTTPS의 차이점이 정확히 무엇인지 알아보자
HTTP 프로토콜의 문제점은 서버에서부터 브라우저로 전송되는 정보가 암호화되지 않는다는 것이다. 즉, 데이터가 쉽게 도난당할 수 있다는 것이다.
HTTPS 프로토콜은 SSL(보안 소켓 계층)을 사용함으로써 이 문제를 해결했다. SSL은 서버와 브라우저 사이에 안전하게 암호화된 연결을 만들 수 있게 도와주고, 서버 브라우저가 민감한 정보를 주고받을 때 이것이 도난당하는 것을 막아준다.
SSL 인증서는 사용자가 사이트에 제공하는 정보를 암호화하는데, 쉽게 말해서 데이터를 암호로 바꾼다. 이렇게 전송된 데이터는 중간에서 누가 훔쳐 낸다고 하더라도 데이터가 암호화되어있기 때문에 해독할 수 없다.