출처 :
1) https://joshua1988.github.io/web-development/web-protocols/
2) https://victorydntmd.tistory.com/285
웹에서 쓰이는 통신규약으로 , 통신규약이란 통신을 할때 "내가 이렇게 할게 너는 이렇게 해줘" 라고 약속하는 것입니다.
아래 예시를 보자.
각각 단위의 역할을 알아보자.
예제는 다음과 같다.
HTTP는 브라우저가 웹 서버와 통신하기 위해 사용하는 주요 프로토콜이다.
즉 , 인터넷에서 데이터를 주고 받을 수 있는 통신규약 정도로 생각하면 된다.
HTTP의 4가지 요청 형식
- GET : 문서를 요청 . 서버가 클라이언트에 상태 정보와 복제된 문서를 보냄으로 응답을 함.(조회)
- HEAD : 상태 정보를 요청 . GET 과 동일한 형태로 응답 , 문서 복제는 하지 않음!
- POST : 데이터를 서버로 송신 . 서버는 해당 데이터를 특정 아이템에 덧붙인다. (생성)
- PUT : 데이터를 서버로 송신. 서버가 특정 아이템을 완전히 대체한다. (수정)
HTTP 통신 방식
요청과 응답으로 이루어져 있어 어떤 데이터를 '요청'하면 요청받은 데이터를 받아 '응답'한다.
HTTP 1.1 과 2.0의 차이
처리방식
- HTTP 1은 요청을 받아야만 다음 요청이 처리 될수 있다 . (1요청당 1리소스)
- HTTP 2 는 여러리소스를 한번에 받아올 수 있다.
데이터
- HTTP1은 문자열로 전송.
- HTTP2 는 바이너리(이진법)로 인코딩하여 '압축'해서 전송한다.
(헤더 또한 압축 가능)
그외 웹과 관련된 프로토콜을 좀더 알아보자.
우리가 많이 알고있는 IP (Internet Protocol)는 각각의 패킷을 IP주소와 MAC 주소를 통해 상대방에게 전달하는 역할을 합니다.
(Transmission Control Protocol) 전송 제어 프로토콜입니다. (전달)
(User Datagram Protocol)은 TCP와 대조되는 전송 프로토콜로 , 데이터 전달에 대한 안정성을 보장하진 않지만 , 속도는 TCP에 비해 빠릅니다.
예 ) 유튜브 (스트리밍) 서비스
스트리밍 같은 경우 바로바로 화면에 나타내 줘야하기 때문에 데이터의 안정성 보다는 '속도'가 더 중요.
즉 , 서비스에 따라 사용하는 프로토콜이 다릅니다.
숫자로 되어있는 IP주소를 우리가 기억하기 쉽게 '문자'로 매핑해주는 시스템을 말합니다.
DNS는 도메인 주소를 IP 주소로 변환해주는 역할을 하기 때문에 , 유저들은 naver.com / google.com 과 같이 입력만해도 해당 사이트에 접근할 수 있게 됩니다.
병훈님 정리 잘하셨네요 잘보고 갑니당 ㅎㅎ