>백엔드 개발 >PHP 튜토리얼 >HTTP 프로토콜 예제에 대한 자세한 설명

HTTP 프로토콜 예제에 대한 자세한 설명

小云云
小云云원래의
2018-03-12 15:25:002803검색

HTTP는 요청과 응답으로 구성된 애플리케이션 계층 프로토콜이며 표준 클라이언트 서비스 모델입니다. HTTP는 일반적으로 TCP 프로토콜을 통해 전달되며, 때로는 TLS 또는 SSL 프로토콜 계층을 통해 전달되기도 합니다. 이때 일반적으로 HTTPS라고 합니다. HTTP의 기본 포트 번호는 80이고 HTTPS의 포트 번호는 443입니다.


단점은 서버가 클라이언트에 적극적으로 푸시하지 않는다는 점입니다.

SPDY 프로토콜을 적용하려면 클라이언트 브라우저와 서버 모두의 지원이 필요합니다. 브라우저와 서버 간의 통신을 최적화하고, 스트림 멀티플렉싱을 지원하고, 요청 우선 순위를 지정하고, 요청을 적극적으로 시작하고, SSL 보안 전송 및 기타 고급 기능을 강제합니다

4.1.2 HTTP 프로토콜 작동 방식

웹 검색은 HTTP입니다. 주요 애플리케이션 프로토콜에서 HTTP 작업을 트랜잭션이라고 합니다.

1 클라이언트는 서버와 연결을 설정하고 하이퍼링크를 클릭하면 HTTP 프로토콜 작업이 시작됩니다.

2 연결이 설정된 후 클라이언트는 서버에 요청을 보냅니다.

3 서버는 요청을 받은 후 해당 응답 정보를 제공합니다

4 클라이언트는 서버가 반환한 정보를 받아 사용자의 디스플레이 화면에 표시한 후 서버와의 연결을 끊습니다

일부 주요 HTTP 프로토콜의 측면 개념

1 요청

HTTP 요청은 요청 헤더, 요청 헤더, 요청 본문의 세 부분으로 구성됩니다.

요청 라인: 메서드 요청-URL HTTP-Version CRLF

메서드: 요청 메서드( GET, POST, HEAD , Put, 삭제, 추적, 연결, 옵션)

요청 URL: 통합 리소스 로고

http 버전: 요청의 http 프로토콜 버전

CRLF: 입력 및 변경

2 응답

HTTP 응답도 세 부분으로 구성됩니다: 상태 줄, 메시지 헤더, 응답 본문

상태 줄: HTTP-버전 상태-코드 이유-구문 CRLF

HTTP 버전: 서버 HTTP 프로토콜 버전

상태 -코드: 서버에서 다시 보낸 응답 상태 코드

        이유 구문: 상태 코드에 대한 텍스트 설명

                                                  ' 's off ‐ off ‐ ‐‐Code: 다시 전송된 응답 상태 코드 서버에 의해 phr 이유 문구 : 상태 코드의 텍스트 설명

꺼짐 처리

2xx : 성공 - 요청이 성공적으로 수신, 이해 및 수락 된

3xx : 리디렉션 - 요청을 완료하려면 추가 작업을 수행해야 합니다. 4XX: 클라이언트 오류 - 요청에 구문 오류가 있거나 요청을 이행할 수 없습니다.

5XX: 서버 오류 - 서버가 합법적인 요청을 구현하지 못했습니다.

일반적인 상태 코드 및 상태 설명 200 OK: 클라이언트 요청 성공 400 bad Request: 클라이언트 요청 구문 오류가 있어 서버에서 이해할 수 없습니다.

401 Unauthorize: 요청이 승인되지 않았습니다. 이 상태 코드는 WWW 인증 헤더와 함께 사용해야 합니다. 403 금지됨: 서버가 요청을 받았지만 서비스 제공을 거부했습니다. 404 찾을 수 없음: 요청한 리소스가 존재하지 않습니다. 예를 들어 잘못된 URL이 입력되었습니다. 500 내부 서버 오류: 서버에서 예상치 못한 오류가 발생했습니다. 사용할 수 없음: 서버가 현재 클라이언트의 요청을 처리할 수 없으며 일정 시간이 지나면 정상으로 돌아올 수 있습니다.

3개 헤더


HTTP 메시지 헤더에는 일반 헤더, 요청 헤더, 응답 헤더, 엔터티 헤더가 포함됩니다.


1개가 있습니다. 모든 요청 및 응답 메시지에 사용되지만 전송되는 엔터티에는 사용되지 않고 전송 메시지에만 사용되는 일반 헤더의 몇 가지 헤더 필드(캐시 제어, 연결 제어)


2 요청 헤더를 사용하면 클라이언트가 전송할 수 있습니다. 서버에 대한 요청의 추가 정보 및 클라이언트 고유 정보(UA 헤더, 수락)


3 응답 헤더를 사용하면 서버는 상태 줄에 배치할 수 없는 추가 응답 정보뿐만 아니라 서버에 대한 정보와 요청 URL로 식별되는 리소스에 대한 다음 액세스를 위한 정보(위치)를 전달할 수 있습니다.

4 엔터티 헤더는 엔터티 텍스트가 있는지 여부와 같은 텍스트 및 요청으로 식별되는 리소스의 메타 정보를 정의합니다.

또는 게이트웨이 위치. En User Agent: UA, 콘텐츠에는 요청을 보내는 사용자 정보가 포함됩니다. 일반적으로 뷰어의 정보, 주로 브라우저의 이름 버전 및 사용된 운영 체제가 포함됩니다.

수락: 서버에 허용되는 파일 형식을 알려줍니다. 일반적으로 이 값은 브라우저마다 유사합니다.

쿠키: 두 가지 유형이 있습니다. 하나는 여러 값을 가질 수 있는 쿠키 헤더를 사용하여 클라이언트에서 서버로 전송되고, 다른 하나는 서버에서 브라우저로 전송되며, 헤더는 쿠키 설정이며, 하나의 값을 가집니다. 도메인, path

를 지정해야 합니다. 캐시 제어: 요청과 응답이 따르는 캐싱 메커니즘을 지정합니다. 요청 메시지 또는 응답 메시지에서 캐시 제어를 설정해도 다른 메시지의 캐시 처리 프로세스는 수정되지 않습니다. 캐시 지침에는 No Cache, No Store, Max Age, Max State, No Transform, Must Revalidate, Proxy Revalidate, Max Age

Referer: 헤드 도메인을 사용하면 클라이언트가 요청 URL의 소스 리소스 주소를 지정할 수 있습니다. 서버가 로그인 및 캐시 최적화를 위한 대체 링크 목록을 생성하도록 허용합니다. 참조자는 일반적으로 방문자 주소를 기록하기 위해 트래픽 통계 시스템에서 사용되는 매개변수입니다. 응답. 요청된 리소스 범위는 각 요청에 표시될 수 있습니다. 연결이 끊어졌다가 다시 연결되면 클라이언트는 중단점 재개를 구현하기 위해 전체 리소스를 다시 요청하는 대신 다운로드되지 않은 리소스 부분만 요청합니다. 이는 멀티스레딩을 사용하여 인터넷에서 바보 소녀의 리소스를 세그먼트로 읽고 최종적으로 이를 병합하는 Xunlei의 원리입니다. http1.1의 공식 사양에는 헤더 필드가 정의되어 있지 않습니다.

관련 추천:

php 헤더에 사용된 HTTP 프로토콜 사용법 요약


HTTP 프로토콜 심층 분석


HTTP 프로토콜 관련 소개 및 심층 이해


위 내용은 HTTP 프로토콜 예제에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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