케네스로그

[WEB] HTTP 본문

Dev/WEB

[WEB] HTTP

kenasdev 2023. 1. 3. 23:03
반응형

HTTP란?

(HyperText Transfer Protocol)

  • 클라이언트와 서버 간의 데이터를 주고 받기 위한 규칙(프로토콜)
  • 여기서 데이터는 텍스트, 이미지, 동영상 등 모든 종류를 말한다.
  • 서로 다른 시스템들 사이에서 통신을 주고받게 해주는 가장 기초적인 프로토콜.
  • 웹 서핑을 할 때 서버에서 자신의 브라우저로 데이터를 전송해 주는 용도로 가장 많이 사용된다. 인터넷 초기에 모든 웹 사이트에서 기본적으로 사용되었던 프로토콜이기도 하다.
  • 주로 TCP를 사용하고 80번 포트를 사용한다.

프로토콜(protocol)

컴퓨터 내부에서, 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체계이다.
다시 말해, 컴퓨터간 통신을 위한 규칙 이다.
한국인과 프랑스인은 서로 사용하는 언어가 달라 대화가 통하지 않지만,
서로 국제공용어인 "영어"를 쓰면 대화가 통하듯이 서로 다른 컴퓨터 기기가 통신하기 위해 정한 규칙이 바로 프로토콜이다.

프로토콜은 상호간의 접속이나 전달방식, 통신방식, 주고받을 자료의 형식, 오류 검출 방식, 코드 변환방식, 전송속도 등을 규정한다.

HTTP 프로토콜의 문제점

서버에서부터 브라우저로 전송되는 정보가 암호화되지 않는다.

이 말은 즉, 데이터가 쉽게 도난당할 수 있다는 것이다.

  • HTTP는 평문 통신이기 때문에 도청이 가능하다.
  • 통신 상대를 확인하지 않기 때문에 위장이 가능하다.

http를 사용한 request나 response는 통신상대를 확인하지 않습니다.

만약 http://www.naver.com라는 주소가 있다고 가정했을 때,
A,B,C라는 사람이 모두 해당 URL로 접속할 수 있는데 이 때 서버 입장에서는 클라이언트가 누군지 확인할 수 없다.
즉, 요청을 보낸 곳이 신뢰할 수 있는 클라이언트인지 서버인지 알 수 없다는 뜻이다.
이러한 단점을 보완하는 것이 SSL 증명서. 이 증명서는 암호화뿐만 아니라 상대를 확인하는 수단으로 증명서를 제공하고 있다.


  • 완전성을 증명할 수 없기 때문에 변조가 가능하다.

완전성이란 정보의 정확성을 말한다.
A라는 웹사이트에서 파일을 다운 받고 해당파일이 A 웹사이트 서버의 파일과 같은 파일인지 확신할 수 없다는 뜻이다.
통신 도중에 변조될 수 있고 통신 중간에 변조가 되었다고 해도 알 수 있는 방법이 없다고 한다.

반응형