http는 주로 브라우저와 서버 간에 데이터를 전송하는 데 사용되는 프로토콜입니다. HTTP 프로토콜은 인터넷에서 가장 널리 사용되는 네트워크 전송 프로토콜로, 모든 WWW 파일은 이 표준을 준수하여 데이터(HTML 파일, 이미지 파일, 쿼리 결과 등)를 전송합니다. .
http(HyperText Transfer Protocol, Hypertext Transfer Protocol)는 일반적으로 TCP 위에서 실행되는 간단한 요청-응답 프로토콜입니다. 클라이언트가 서버에 보낼 수 있는 메시지 종류와 서버가 받는 응답 종류를 지정합니다. 요청 및 응답 메시지의 헤더는 ASCII 코드로 제공됩니다. 메시지 내용은 MIME 형식입니다. 이 간단한 모델은 개발과 배포를 매우 간단하게 만들어 주었기 때문에 웹의 초기 성공에 중요한 역할을 했습니다.
탄생 초기에 HTTP는 주로 WEB 측의 콘텐츠 획득에 사용되었습니다. 당시에는 콘텐츠가 지금만큼 풍부하지 않았고 레이아웃도 정교하지 않았으며 사용자 상호작용이 거의 없었습니다. 시나리오. 웹 콘텐츠를 얻는 이 간단한 시나리오의 경우 HTTP는 합리적으로 잘 수행됩니다. 그러나 인터넷의 발전과 WEB2.0의 탄생으로 인해 더 많은 콘텐츠가 표시되기 시작했고(더 많은 이미지 파일), 레이아웃이 더 정교해졌고(더 많은 CSS), 더 복잡한 상호 작용이 도입되었습니다(더 많은 jS). 사용자가 웹 사이트 홈페이지를 열 때 로드되는 데이터의 총량과 요청 횟수도 증가하고 있습니다.
현재 대부분의 포털 홈페이지는 크기가 2M를 초과하며 요청 수도 최대 100개에 이릅니다. 또 다른 널리 사용되는 애플리케이션은 모바일 인터넷 클라이언트 앱입니다. 다양한 성격의 앱은 매우 다른 방식으로 HTTP를 사용합니다. 전자상거래 앱의 경우 홈 페이지 로드 요청이 10회 이상 있을 수 있습니다. WeChat과 같은 IM의 경우 HTTP 요청은 음성 및 사진 파일 다운로드로 제한될 수 있으며 요청 빈도도 높지 않습니다.
작동 방식
HTTP는 클라이언트/서버 모델을 기반으로 하며 연결 지향적입니다. 일반적인 HTTP 트랜잭션 처리 과정은 다음과 같습니다.
(1) 클라이언트가 서버와 연결을 설정합니다.
(2) 클라이언트가 서버에 요청합니다.
(3) 서버가 요청을 수락하고 반환합니다. 요청에 따라 해당 파일을 응답으로 받습니다. ;
(4) 클라이언트와 서버는 연결을 종료합니다.
클라이언트와 서버 간의 HTTP 연결은 일회성 연결이므로 각 연결이 하나의 요청만 처리하도록 제한됩니다. 서버가 이 요청에 대한 응답을 반환하면 즉시 연결을 닫고 연결을 다시 설정합니다. 다음 요청. 이 일회성 연결은 주로 WWW 서버가 인터넷의 수만 명의 사용자를 대상으로 하며 제한된 수의 연결만 제공할 수 있다는 점을 고려합니다. 따라서 서버는 적시에 연결을 해제하지 않습니다. 연결을 통해 서버의 실행 효율성을 크게 향상시킬 수 있습니다.
HTTP는 상태 비저장 프로토콜입니다. 즉, 서버는 클라이언트와 거래할 때 어떤 상태도 유지하지 않습니다. 이를 통해 서버의 메모리 부하를 대폭 줄여 보다 빠른 응답 속도를 유지합니다. HTTP는 객체 지향 프로토콜입니다. 모든 유형의 데이터 객체 전송을 허용합니다. 데이터 유형과 길이를 통해 전송되는 데이터의 내용과 크기를 식별하고 데이터의 압축 전송을 허용합니다. 사용자가 HTML 문서에 하이퍼텍스트 링크를 정의하면 브라우저는 TCP/IP 프로토콜을 통해 지정된 서버와 연결을 설정합니다.
기술적으로 클라이언트는 특정 TCP 포트(포트 번호는 일반적으로 80)에서 소켓을 엽니다. 서버가 이 잘 알려진 포트에서 연결을 수신하고 있으면 연결이 설정됩니다. 그런 다음 클라이언트는 연결을 통해 요청 메서드가 포함된 요청 블록을 보냅니다.
HTTP 사양은 9가지 요청 방법을 정의합니다. 각 요청 방법은 클라이언트와 서버 간의 서로 다른 정보 교환 방법을 지정합니다. 일반적으로 사용되는 요청 방법은 GET 및 POST입니다. 서버는 클라이언트의 요청에 따라 해당 작업을 완료하고 이를 응답 블록 형태로 클라이언트에 반환한 후 마지막으로 연결을 닫습니다.
위 내용은 http는 주로 어떤 용도로 사용되는 프로토콜인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!