>백엔드 개발 >PHP 튜토리얼 >소켓과 http의 차이점 요약

소켓과 http의 차이점 요약

伊谢尔伦
伊谢尔伦원래의
2017-05-23 10:38:127699검색

http 관련 소개

HTTP 프로토콜은 웹 네트워킹의 기초이자 일반적으로 사용되는 프로토콜 중 하나인 하이퍼텍스트 전송 프로토콜(Hypertext Transfer Protocol)입니다. 1. HTTP 프로토콜은 TCP 프로토콜을 기반으로 구축된 애플리케이션입니다.

HTTP 연결의 가장 주목할만한 특징은 클라이언트가 보낸 각 요청마다 서버가 응답을 다시 보내야 한다는 것입니다. 요청이 완료된 후 연결이 적극적으로 해제됩니다. 연결 설정부터 연결 종료까지의 과정을 "연결"이라고 합니다.

1) HTTP 1.0에서는 클라이언트의 각 요청에 대해 별도의 연결 설정이 필요합니다. 이 요청을 처리한 후 연결이 자동으로 해제됩니다.

2) HTTP 1.1에서는 하나의 연결에서 여러 요청을 처리할 수 있으며, 여러 요청이 중복될 수 있습니다. 다음 요청을 보내기 전에 하나의 요청이 끝날 때까지 기다릴 필요가 없습니다.

HTTP는 각 요청 후에 적극적으로 연결을 해제하므로 HTTP 연결은 "짧은 연결"이므로 ​​클라이언트 프로그램을 온라인 상태로 유지하려면 서버에 대한 연결 요청을 지속적으로 시작해야 합니다. 일반적인 관행은 데이터를 얻을 필요가 없으며 클라이언트가 정기적으로 서버에 "연결 유지" 요청을 계속 보내는 것입니다. 요청을 받은 후 서버는 클라이언트에 응답하여 데이터가 있음을 나타냅니다. 클라이언트 " 온라인". 서버가 오랫동안 클라이언트의 요청을 수신할 수 없으면 클라이언트는 "오프라인"으로 간주됩니다. 클라이언트가 오랫동안 서버의 응답을 수신할 수 없으면 네트워크 연결이 끊어진 것으로 간주됩니다.

TCP/IP와 UDP가 무엇인가요?

TCP/IP(전송 제어 프로토콜/인터넷 프로토콜)는 광역 네트워크(WAN)용으로 설계된 산업 표준 프로토콜 세트입니다.

UDP(User Data Protocol, User Datagram Protocol)는 TCP에 해당하는 프로토콜입니다. 이는 TCP/IP 프로토콜 제품군의 구성원입니다.

앞서 소켓과 그 기능이 무엇인지 소개했습니다. 소켓은 통신의 초석이자 TCP/IP 프로토콜을 지원하는 네트워크 통신의 기본 작동 단위입니다. 네트워크 통신 과정에서 엔드포인트(Endpoint)를 추상적으로 표현한 것으로, 연결에 사용되는 프로토콜, 로컬 호스트의 IP 주소, 로컬 프로세스의 프로토콜 포트, 호스트의 IP 주소 등 네트워크 통신에 필요한 5가지 정보를 담고 있다. 원격 호스트 및 원격 프로세스의 프로토콜. 애플리케이션 계층이 전송 계층을 통해 데이터를 통신할 때 TCP는 동시에 여러 애플리케이션 프로세스에 동시 서비스를 제공하는 문제에 직면하게 됩니다. 여러 TCP 연결 또는 여러 애플리케이션 프로세스가 동일한 TCP 프로토콜 포트를 통해 데이터를 전송해야 할 수도 있습니다. 다양한 애플리케이션 프로세스와 연결을 구별하기 위해 많은 컴퓨터 운영 체제는 애플리케이션이 TCP/IP 프로토콜과 상호 작용할 수 있도록 소켓(Socket) 인터페이스를 제공합니다. 애플리케이션 계층은 전송 계층과 함께 소켓 인터페이스를 사용하여 다양한 애플리케이션 프로세스 또는 네트워크 연결과의 통신을 구별하여 데이터 전송을 위한 동시 서비스를 구현할 수 있습니다. 아래 그림에서 Socket의 위치를 ​​확인할 수 있습니다.

소켓과 http의 차이점 요약


Http와 Socket의 주요 차이점

소켓은 서버와 클라이언트 간의 물리적 연결을 구현하고 데이터 전송을 수행합니다. 두 가지 주요 프로토콜이 있습니다: TCP/UDP. 소켓은 네트워크 프로토콜의 전송 계층에 있습니다.

TCP: 전송 제어 프로토콜(Transmission Control Protocol), 연결 지향 프로토콜로 안정적이고 신뢰할 수 있습니다. 클라이언트와 서버가 서로 데이터를 교환하려면 먼저 두 당사자 간에 TCP 연결이 설정되어야 데이터가 전송됩니다.

UDP: 브로드캐스트 데이터 전송 UDP는 애플리케이션에서 IP 계층으로 전달된 데이터그램만 전송하지만 목적지에 도달할 수 있다는 보장은 없습니다. UDP는 데이터그램을 전송하기 전에 클라이언트와 서버 사이에 연결을 설정할 필요가 없으며 시간 초과 재전송과 같은 메커니즘이 없기 때문에 전송 속도가 매우 빠릅니다.

장점:

1. 전송 데이터는 바이트 수준이고 전송 데이터를 사용자 정의할 수 있으며 데이터 볼륨이 작습니다. 대응 모바일 단말 개발, 저렴한 휴대폰 가격

2. 짧은 데이터 전송 시간, 고성능

3. C/S 간 실시간 정보 상호작용에 적합

4 . 예 암호화, 높은 데이터 보안

단점:

1. 전송된 데이터를 구문 분석하여 애플리케이션 수준 데이터로 변환해야 함

2 .개발자의 개발 수준에 대한 높은 요구사항

3. Http 프로토콜 전송에 비해 개발량이 증가합니다

Http 요청에는 주로 http 프로토콜, http 프로토콜 기반의 비누 프로토콜 및 일반 http 데이터 요청 방식에는 get, post, 웹 서비스 등이 있습니다

장점:

1. 애플리케이션 수준의 인터페이스 기반으로 사용이 용이합니다

2. 요구되는 개발 수준 높지 않음, 강력한 내결함성

단점:

1. 전송 속도가 느리고 데이터 패킷이 크다.

2. 실시간 상호작용이 구현되면 서버 성능에 큰 압박을 받게 됩니다

3. 데이터 전송 보안이 취약합니다

적용 시나리오 비교:

소켓 적용 시나리오: 온라인 게임, 은행 상호작용, 결제.

http 적용 가능한 시나리오: 회사 OA 서비스, 인터넷 서비스.

【관련 튜토리얼 추천】

1. "php.cn Dugu Jiujian (4) - PHP 비디오 튜토리얼 "

2. PHP 프로그래밍 입문부터 숙달까지 튜토리얼 세트

위 내용은 소켓과 http의 차이점 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.