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와 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!