1. HTTP 프로토콜 소개
HTTP(Hypertext Transfer) 프로토콜은 주로 웹 서비스에 사용되며 컴퓨터를 통해 텍스트 정보를 처리합니다. HTML(하이퍼텍스트 마크업 언어).
2. Http 프로토콜 버전:
현재 인터넷에서 가장 일반적으로 사용되는 버전은 HTTP2.0 버전입니다. .0.9 버전: html 페이지만 지원(제거됨)
1.0 버전:
(1) MIME(다용도 인터넷 메일 확장) 메커니즘 도입, 이후 메커니즘, 멀티미디어 정보 전송 가능
(2) 지속 링크 기능을 지원하는 연결 유지 메커니즘을 도입합니다(그러나 이 연결 유지 원칙은 헤더에 특정 필드를 추가하여 구성되며 이 기능을 지원하지 않습니다).
(3) 캐시된 페이지 지원 기능 소개
버전 1.1: 더 많은 요청 연결 방법을 지원하고 영구 링크를 최적화하며 페이지 캐싱을 최적화하는 버전 1.0: HTTP 의미 최적화 전송을 제공합니다. , spdy 기술을 추가합니다. Spdy 기술: http 데이터 상호 작용, 특히 SSL 가속 메커니즘의 사용을 가속화할 수 있는 Google에서 도입한 기술입니다. 이는 일반적으로 https 프로토콜로 알려져 있습니다.
3. 일반적인 웹 페이지 유형:
정적 페이지:
일반적인 접미사:이미지 : gif, jpg, png;
비디오: mp4, flv;
요청 프로세스(그림 참조):
① 웹 클라이언트는 커널에 소켓을 등록합니다.
② 클라이언트는 브라우저를 통해 웹 서버에 데이터 요청을 보냅니다.
③ 웹 서버는 클라이언트의 요청 정보를 받습니다.
④ 클라이언트가 요청한 리소스가 로컬인 경우
⑤커널은 로컬 디스크의 데이터를 호출하고 서버에 데이터를 보냅니다.
⑥http는 응답 메시지를 통해 사용자가 요청한 리소스를 보냅니다.
특징: 개발자가 미리 작성하여 현재 파일 시스템에 저장, 응답 속도가 빠르고, 페이지 유지 관리가 번거롭고, 데이터 상호 작용이 좋지 않으며, 검색에 포함되기 쉽습니다.
동적 페이지:
일반적인 접미사: php, jsp, asp , net...요청 프로세스:특징: 웹 서버 자체는 동적 페이지 처리를 지원하지 않으며 이를 완료하려면 특수 해석기가 필요합니다. 페이지 데이터는 변경 가능하고 페이지 유지 관리는 비교적 간단하며 응답 속도는 느리고 데이터는 대화형입니다. , 페이지 액세스에 특수 기호가 포함되어 있습니까? , %, &(특수 기호)는 검색 엔진에 포함될 수 없습니다.
: 동적 페이지를 정적 페이지로 위장하고 검색 엔진에 포함되어 하드웨어 리소스를 소비합니다. 프로토콜 텍스트:
요청 메시지: 클라이언트 → 서버
클라이언트가 서버에 요청을 보냅니다. 다양한 웹사이트를 사용하여 다양한 리소스(html 문서)를 요청합니다. 요청 메시지 형식:
요청 라인 :
클라이언트가 요청한 리소스를 식별하는 데 사용됩니다. 요청 방법, 요청한 리소스 및 요청된 프로토콜은 무엇입니까? "공백"으로 직접 구분됩니다.요청 헤더: 기능은 클라이언트가 요청한 관련 콘텐츠(헤더가 두 개 이상 있을 수 있음)
빈 줄: 요청 헤더 뒤에 빈 줄이 있습니다. 이는 캐리지 리턴 문자와 문자를 보내 서버에 다음 콘텐츠를 알리는 데 사용됩니다. 줄 바꿈 문자 요청 헤더 정보가 더 이상 표시되지 않습니다.
요청한 페이지의 구체적인 내용은 무엇입니까?응답 메시지: 서버 → 클라이언트
서버가 클라이언트의 요청에 응답합니다. 메시지 형식:시작 라인: 응답에 사용된 http 프로토콜 버전, 응답의 상태 코드 및 상태 코드의 간략한 정보
응답 헤더: 요청 메시지와 유사합니다. 일반적으로 출발선 헤더 필드 뒤에 여러 개가 있습니다. 각 헤더 필드에는 콜론으로 구분된 이름과 값이 포함되어 있으며 하나 이상을 포함할 수 있습니다.
빈 줄: 마지막 응답 헤더 정보 뒤에 빈 줄이 있습니다. 캐리지 리턴 및 줄 바꿈 문자를 보내면 빈 줄 아래에 헤더 정보가 없음을 클라이언트에 알립니다.
; 페이지에 포함된 콘텐츠에 실제로 액세스합니다.
5. HTTP 요청 방법
HTTP 통신 프로세스 중에 각 HTTP 요청 메시지에는 클라이언트에게 서버를 요청하도록 알리는 데 사용되는 HTTP 요청 방법이 포함됩니다. 특정 특정 작업을 수행합니다. 공통 HTTP 요청 메소드: GET, POST, HEAD6, HTTP 상태 코드
상태 코드 개요: 만약 그렇다면 위 상태 코드에는 해당 정보가 없습니다.
의 자세한 소개를 참조하세요. HTTP 사물 에는 HTTP 요청이 포함되며 해당 요청에 대한 응답을 an이라고 합니다. http 트랜잭션 또한 http 트랜잭션은 HTTP 요청과 HTTP 응답의 완전한 프로세스로 이해될 수 있습니다.
HTTP 프로토콜은 기본적으로 새 연결을 열고 닫으므로 시간이 많이 걸리고 대역폭을 많이 사용합니다. TCP의 느린 시작 기능으로 인해 각각의 새 연결 자체의 성능이 저하되므로 열 수 있습니다. 병렬 연결 수의 상한은 제한되어 있습니다. 따라서 기본적으로 영구 연결을 사용하지 않는 것보다 영구 연결 모드를 사용하는 것이 좋습니다. 요청 및 TCP 연결 끊김 과정에서 소요되는 시간이 줄어듭니다.
8. HTTP 리소스 리소스는 HTML 문서, 사진 등과 같이 HTTP 프로토콜을 통해 브라우저 또는 사용자 에이전트를 통해 서버에 요청하고 얻을 수 있는 콘텐츠입니다.
리소스 유형: MIME을 통해 표시됩니다.
일반적인 MIME 유형:
URL, 전체 이름은 유니폼 리소스입니다. 위치, 중국어 번역은 웹 페이지 주소(웹 주소)라고도 알려진 URL(Uniform Resource Locator)입니다. 집 번호와 마찬가지로 이는 인터넷 리소스의 표준 고유 주소입니다. 일반인의 관점에서 URL은 인터넷 상의 정보 자원을 설명하는 데 사용되는 문자열로 주로 다양한 www 클라이언트 및 서버 프로그램에서 사용됩니다. URL은 통일된 형식을 사용하여 파일, 서버 주소 및 디렉터리 등을 포함한 다양한 정보 리소스를 설명할 수 있습니다. 엄밀히 말하면 각 URL은 인터넷 리소스를 식별하고 해당 리소스에 대해 작업하거나 리소스를 얻는 방법을 지정하는 URI입니다.
URL 형식은 다음 세 부분으로 구성됩니다. 첫 번째 부분은 프로토콜입니다(예: http). 두 번째 부분은 호스트 리소스 서버 IP 주소 또는 도메인 이름(포트 번호)입니다. 예: www.kgc.cn
세 번째 부분은 디렉터리 및 파일 이름과 같은 호스트 리소스의 특정 주소입니다. 예: Teacher/index.html
첫 번째와 두 번째 부분은 "://" 기호로 구분되고, 두 번째와 세 번째 부분은 "/" 기호로 구분됩니다. 첫 번째와 두 번째 부분은 필수이며, 세 번째 부분은 생략 가능
10. URI 소개
URI(Uniform Resource Identifier)는 중국어로 동일한 리소스 식별자라고 하며, 이를 식별하는 데 사용됩니다. 특정 인터넷 리소스의 이름 사용자가 특정 프로토콜을 통해 리소스와 상호 작용할 수 있도록 하는 문자열입니다. HTML 문서, 이미지, 비디오 클립, 프로그램 등을 포함하여 웹에서 사용할 수 있는 모든 리소스는 범용 리소스 식별자로 위치합니다. 따라서 URI를 사용하여 각 리소스의 이름을 식별할 수 있습니다.
11. http는 어떻게 여러 요청을 동시에 연결합니까?
http는 기본적으로 차단 모델에서 작동하고 기본적으로 한 번에 하나의 요청만 수신하기 때문입니다. . 요청 후 다음 요청을 받기 때문에 한 명씩만 오실 수 있습니다.
그래서 우리는 사용자 요청에 동시에 응답하고 다중 프로세스 모델이 필요합니다. 웹 서버 자체는 사용자 요청에 응답하기 위해 여러 하위 프로세스를 생성합니다. 즉, 사용자 요청이 웹 서버로 전송되면 기본 웹 프로세스는 사용자 요청에 직접 응답하지 않고 하위 프로세스를 생성합니다. 이 방법으로 하위 프로세스가 이 사용자와 연결을 설정하면 사용자 요청에 응답합니다. 웹의 기본 프로세스는 다른 사용자의 요청을 기다립니다. 두 번째 사용자 요청이 오면 두 번째 사용자 요청에 응답하기 위해 하위 프로세스가 생성됩니다. 등. 따라서 모든 사용자 요청은 하위 프로세스에 의해 처리됩니다.
CDN 컴퓨터실: CDN 컴퓨터실은 정적 리소스를 저장하는 데 사용됩니다.
사용자가 데이터를 요청하면 웹 서버에 요청을 보낸 다음 클라이언트에 응답하고, 그러면 수억 개의 데이터가 전 세계 사람들이 백엔드 서버를 요청하면 백엔드 서버가 이를 처리할 수 없고 액세스 속도도 매우 느려지게 됩니다. 이것이 CDN과 같은 것의 탄생입니다. 클라이언트가 페이지를 방문하면 먼저 CDN 컴퓨터실을 방문하게 되며, CDN 컴퓨터실에 캐시가 없으면 원본으로 다시 캐시됩니다. 다음에 방문할 때 원본으로 돌아갈 필요가 없으므로 CDN에 직접 액세스할 수 있으므로 백엔드 서버에 대한 부담이 줄어듭니다.
관련 기사 튜토리얼: 웹 보안 튜토리얼
위 내용은 HTTP 프로토콜에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!