소켓 :
포트 :
차이점 :
소켓은 IP 주소와 포트 번호의 조합인 반면, 포트는 단순히 장치의 특정 통신 끝점을 식별하는 번호
소켓은 네트워크를 통해 두 응용 프로그램간의 연결을 설정하고 관리하는 데 사용되고, 포트는 장치에서 실행 중인 서로 다른 서비스 또는 프로세스를 식별하는 데 사용
정리 :
소켓은 통신 끝점을 고유하게 식별하는 IP주소와 포트번호의 조합, OSI 7계층중 전송 계층에서 두끝점간의 연결을 설정하는 데 사용되며, 끝점간 데이터를 교환할 수 있게 방법을 제공함
포트는 끝점에서 실행되는 특정 서비스 또는 응용 프로그램을 식별하기 위해 전송 계층에서 사용하는 번호, 통일한 장치에서 실행되는 서로 다른 서비스 또는 프로그램을 구별하는 데 사용되는 논리적 구조.
결국 전송계층에서 세션계층으로 넘어갈때, IP주소 + 포트번호를 한것이 소켓이라고 생각하면되고, 아이피 주소에 포트넘버를 추가하는 이유는 하나의 IP에서 여러개의 포트로 각각의 다른 서비스를 실행하고 있을 수 있기 때문이다.
HTTP/0.9 - 첫번째 HTTP 버전
일반 텍스트 파일의 전송만 허용
HTTP/1.0 - 헤더 도입
헤더에 대한 지원을 도입하여, 복잡한 요청 및 응답을 허용하고 서버가 요청 결과에 대한 정보를 제공할 수 있도록 상태 코드에 대한 지원을 추가
HTTP/1.1 - 지속적인 연결 지원
지속적인 연결을 지원하고, 청크 분할 인코딩 지원을 도입하여, 대용량 파일을 보다 효율적으로 전송할 수 있습니다.
* 청크 분할 인코딩 : 데이터 전송과정에 데이터를 조각(청크) 단위로 나누어 전송하고, 청크 헤더를 통해 청크를 재조립 할수 있습니다. 청크 분할의 장점으로는 전체 데이터가 전송될 때가지 기다릴 필요가없어 수신자에게 스트리밍 할수 있다는 데에 있습니다.
HTTP/2 - 멀티플렉싱과 서버 푸시 도입
단일 연결을 통해, 여러 요청을 보내고 받을 수 있는 멀티플렉싱과 요청을 받기 전 서버가 추가 리소스를 클라이언트에게 보내는 서버 푸시를 도입
*멀티플렉싱 : HTTP/1.x에서는 요청~응답 주기에 별도의 TCP 연결이 필요하여, 대기 시간이 늘어나고 성능이 저하될 수 있었으나, HTTP/2에서는 단일 연결을 통해 여러개의 요청 및 응답을 보내고 받을 수 있으므로 여러 연결을 만들고 유지하는 것과 관련된 오버헤드가 줄어듭니다.(오버헤드란, 헤더 혹은 기타 메타데이터를 의미함)
이미지 출처 : https://coolicehost.com/http2-protocol.html
HTTP/3 - QUIC프로토콜 기반
암호화된 헤더에 대한 지원을 도입하여 보안 및 개인 정보 강화
*QUIC프로토콜( 주요기능중 1개 : TCP가 아닌 UDP를 통해 작동하여 대기시간과 패킷 손실을 줄여 성능을 향상시킴)
HTTP/2와 HTTP/3의 차이점
출처 : https://aws.amazon.com/ko/blogs/korea/new-http-3-support-for-amazon-cloudfront/
k8s의 배포전략 및 서비스의 목적,동작 (0) | 2023.05.18 |
---|---|
주제 20, 21 ) 아키텍처를 구성하는 요소들 (0) | 2023.04.07 |
[주제 16,17] 데이터베이스 기초 (0) | 2023.03.29 |
[주제 15]다음 기능에 대한 REST API 모범 사례를 연구해서 제출하세요 (0) | 2023.03.23 |
[주제 14] 스크린샷을 보고, HTTP의 구조, 요청과 응답, 헤더 등 유추할 수 있는 내용을 모두 작성하세요. (0) | 2023.03.22 |