HTTP(Hyper Text Transfer Protocol)이란 서버/클라이언트 모델을 따라 데이터를 주고 받기위한 프로토콜이다. HTTP는 인터넷에서 하이퍼 텍스트를 교환하기 위한 통신 규약으로, 80번 포트를 사용하고있다. 따라서 HTTP서버가 80번 포트에서 요청을 기다리고있으며, 클라이언트는 80번 포트로 요청을 보내게 된다.
HTTP는 애플리케이션 레벨의 프로토콜 TCP/IP 위에서 작동한다. HTTP는 상태를 가지고 있지 않는 Stateless프로토콜이며 Method, Path, Version, Headers, Body등으로 구성된다.
HTTP는 암호화가 되지않은 평문 데이터를 전송하는 프로콜이기 떄문에, HTTP로 비밀번호나 주민등록번호 등을 주고 받으면 3자가 조회할수있다. 이러한 문제를 해결하기위해 HTTPS가 등장했다.
HTTPS(HyperText Transfer Protocol over Secure Socket Layer)는 HTTP에 데이터 암호화가 추가된 프로토콜이다. 443번 포트를 사용하며, 네트워크 상에서 중간에 제 3자가 정보를 볼수없도록 암호화한다.
HTTPS는 대칭키 암호화 방식과 비대칭키 암호화 방싱을 모두사용하고있다.
암호화를 공개키로 하느냐 개인키로 하느냐에 따라 얻는 효과가 다른데, 공개키와 개인키로 암호화하면 다른 효과를 얻을수있다.
TCP/IP?
TCP/IP(Transmission Control Protocol/Internet Protocol)는 데이터가 의도된 목적지에 닿을 수 있도록 보장해주는 통신규약이다. 인터넷으로 디바이스르 연결하는 네트워크 프로토콜의 집합이며 개별적인 네트워크 프로토콜로 사용될수 있다. TCP/IP는 인터넷 기본 통신언어이다. 기본적으로 TCP/IP를 사용하면 한 컴퓨터가 데이터 패킷을 컴파일하고 올바른 위치로 전송하여 인터넷을 통해 다른 컴퓨터와 통신할수있다.
TCP(Transmission Control Protocol)
최상위 계층인 TCP는 많은 양의 데이터를 가져와서 패킷으로 컴파일 한다음 동료 TCP계층에서 수신하도록 전송하여 패킷을 유용한 정보 / 데이터로 바꾸는 역할을 한다. TCP는 전달받은 패킷을 재조립하고, 패킷에 손상이 있거나 손실된 패킷이 있다면 재전송을 요청하는 패킷을 전송하여 재전송을 받는다. *패킷 : 데이터를 일정한 크키로 자른 단위로 인터넷에서 정보를 전달하는 단위
OSI(Open Systems Interconnection)7 Layer?
ISO(국제표준기구)에서 만든 네트워크를 7계층으로 만든 모델이고, 프로토콜(통신규약)을 통하여 계층의 존재하는 네트워크 통신을 한다.
TCP/IP가 많이 사용되면서 흔히 사용되던 OSI 7계층을 더욱 추상화 한 TCP/IP 4계층이 등장했다.
출처:https://mangkyu.tistory.com/98
출처:https://coding-factory.tistory.com/613
출처:https://needjarvis.tistory.com/158