> 웹 프론트엔드 > HTML 튜토리얼 > HTTP 프로토콜이란 무엇입니까?

HTTP 프로토콜이란 무엇입니까?

一个新手
풀어 주다: 2017-09-19 10:06:09
원래의
4195명이 탐색했습니다.

HTTP 프로토콜에 대한 간략한 소개

HTTP 프로토콜은 데이터 전송을 위한 TCP/IP 통신 프로토콜을 기반으로 하는 하이퍼텍스트 전송 프로토콜입니다.

특징:
1 클라이언트가 서버에 요청을 시작할 때 간단하고 빠릅니다. , 단지 전송 요청 방법 및 경로입니다. 일반적으로 사용되는 요청 방법에는 POST, GET 등이 있습니다. 각 방법은 클라이언트와 서버 간의 다양한 연결 유형을 지정합니다. HTTP 프로토콜은 단순하기 때문에 통신 속도가 빠릅니다.
2. 유연성: 모든 유형의 데이터 개체를 전송할 수 있습니다. 전송 유형은 Content-Type
3으로 표시됩니다. 연결 없음: 각 연결을 하나의 요청만 처리하도록 제한합니다. 서버는 클라이언트의 요청을 처리한 후 클라이언트의 응답을 받은 후 연결을 끊습니다.
4 상태 비저장: HTTP는 상태 비저장 프로토콜입니다. Stateless는 프로토콜에 트랜잭션 처리를 위한 메모리 용량이 없음을 의미합니다. 상태가 없다는 것은 후속 처리를 위해 이전 정보가 필요하다는 것을 의미하며, 이로 인해 연결당 전송되는 데이터의 양이 증가할 수 있습니다. 반면, 서버가 다른 정보가 필요하지 않으면 서버의 응답은 다음과 같습니다. 매우 빠릅니다
5. B/S 및 C/S 모드 지원

URL

URL은 HTTP에서 데이터를 전송하고 연결을 설정하는 데 사용되는 통합 리소스 식별자입니다. URL은 특수한 유형의 URI이며 전체 이름은 균일리소스로케이터(UniformResourceLocator)이고 중국어 이름은 유니폼 리소스 로케이터(Uniform Resource Locator)입니다. URL에는 다음 부분이 포함됩니다.
예: https://baike.baidu.com:8080/item/url/ 110640?fr =aladdin
1. 프로토콜/모드 부분: 열릴 파일을 처리하는 방법을 브라우저에 알려줍니다. 가장 일반적으로 사용되는 모드는 인터넷에 액세스하는 데 사용되는 HTTP(Hypertext Transfer Protocol)입니다. 기타 계약은 다음과 같습니다.
http——Hypertext Transfer Protocol 리소스
https - SSL(Secure Sockets Layer)을 사용하여 전달되는 하이퍼텍스트 전송 프로토콜
ftp - 파일 전송 프로토콜
mailto——이메일 주소
ldap - 경량 디렉터리 액세스 프로토콜 검색
파일 - 로컬 컴퓨터나 온라인에서 공유되는 파일
뉴스——유즈넷 뉴스 그룹
고퍼——고퍼 프로토콜
telnet - Telnet 프로토콜
위 예에서 프로토콜 부분은 https입니다.
2. 도메인 이름 부분: 위의 도메인 이름은 baike.baidu.com
3. 포트 부분: 도메인 이름 뒤에 오는 것은 포트 번호입니다. 포트는 도메인 이름 간 분할을 따릅니다. 포트는 URL의 필수 부분이 아닙니다. 포트 번호가 생략되면 기본 포트가 사용됩니다.
4. 파일 이름 부분: /item/url/110640
5. 매개변수 부분: fr=aladdin, 즉 물음표 다음

Request


HTTP 요청 메시지 요청은 주로 다음 부분으로 구성됩니다.
* 요청 라인: 요청 방법 URL | 프로토콜 버전
* 요청 헤더: 요청 헤더에는 많은 관련 클라이언트 환경과 요청이 포함되어 있습니다. 본문에 유용한 정보가 있습니다.
* 요청 본문: 요청 헤더와 요청 본문 사이에 빈 줄이 있습니다. 이 줄은 요청 헤더가 끝났음을 나타내며, 무엇을 의미하는지 알려줍니다. 다음은 요청 본문입니다. 요청 본문에는 고객이 제출한 쿼리 문자열 정보가 포함될 수 있습니다.

HTTP 응답 메시지 응답은 다음 부분으로 구성됩니다.

* 상태 줄: 프로토콜 버전 | 상태 메시지

* 응답 헤더: 날짜, 콘텐츠- 유형
* 응답 텍스트: 서버측 반환 데이터

상태 코드

상태 코드는 세 자리 숫자로 구성되며 첫 번째 숫자는 응답 범주를 정의합니다.

* 1xx: 요청이 수신되었음을 나타내는 표시 메시지 , 계속 처리

* 2xx: 성공, 요청이 성공적으로 수신되었음을 나타냅니다.
* 3xx: 리디렉션, 밤에 요청을 추가로 처리해야 함을 나타냅니다.
* 4xx: 클라이언트 오류, 요청에 구문 오류가 있거나 처리할 수 없음을 나타냅니다.
* 5xx: 서버 오류, 서버가 합법적인 요청을 구현하지 못했음을 나타냅니다.

일반적인 상태 코드:

200 - ok - 请求成功400 - Bad Request - 客户端请求有语法错误,不能被服务器理解401 - Unauthorized - 请求未经授权403 - Forbidden - 服务器收到请求,但是拒绝提供服务404 - Not Found - 请求资源不存在500 - Internal Server Error - 内部服务器错误503 - Server Unavaliable - 服务器不可用
로그인 후 복사

요청 방법

HTTP 1.0 定义了三种请求方法 :GET、POST、HEAD
HTTP 1.1 新增了五种请求方法 :OPTIONS、PUT、DELETE、TRACE、CONNECT
로그인 후 복사
GET - 请求指定的页面信息,并返回实体主体
HEAD - 类似于GET请求,但是返回的只有报头
POST - 向指定的资源提交数据进行处理请求
PUT - 从客户端向服务器传送的数据取代指定文件的内容DELETE - 请求服务器删除指定的页面
CONNECT - HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。OPTIONS - 允许客户端查看服务器性能
TRACE - 回显服务器收到的请求,主要用于测试或诊断。
로그인 후 복사

GET과 POST의 차이점

    데이터 제출: GET 요청 데이터는 & 서명 연결을 사용하여 URL 뒤에 배치되지만 POST 요청 데이터는 HTTP 패키지에 배치됩니다
  1. 전송 데이터 크기: 일반 브라우저에는 URL 길이에 제한이 있으므로 GET을 사용하여 데이터를 요청하면 크기 제한을 받지만 POST는 데이터를 패키지에 넣습니다. 즉, 크기 제한이 없습니다
  2. 보안: GET은 URL에 데이터를 제출하고 캐시하여 데이터를 반환할 수 있습니다
  3. 참고:
1. HTTP 프로토콜은 전송되는 데이터의 크기를 제한하지 않으며, HTTP 프로토콜 사양은 URL 길이에 제한을 두지 않습니다.

2. HTTP의 GET, POST 및 SOAP 프로토콜은 모두 http

에서 실행됩니다. (1) GET: 요청 매개변수는 일련의 키/값 쌍(쿼리 문자열)으로 URL에 추가됩니다.

쿼리 문자열 길이는 다음으로 제한됩니다. 웹 브라우저 및 웹 서버(예: IE는 최대 2048자를 지원함)는 대용량 데이터 세트를 전송하는 데 적합하지 않습니다.

(2) POST: 요청 매개변수는 http 헤더(엔터티 본문이라는 이름)의 다른 부분에서 전송됩니다. 이 부분은 양식 정보를 전송하는 데 사용되므로 Content-type을 application/x-www-form으로 설정해야 합니다. - Urlencoded. Post는 웹 양식의 사용자 필드를 지원하도록 설계되었으며 해당 매개변수도 키/값 쌍으로 전송됩니다.
그러나 포스트는 데이터 구조 전송을 위한 의미와 규칙을 정의하지 않기 때문에 복잡한 데이터 유형을 지원하지 않습니다.

(3) SOAP: 특수한 xml 메시지 형식을 따르는 http post 전용 버전입니다.
Content-type은 text/xml로 설정됩니다. 모든 데이터를 xml화할 수 있습니다.

HTTP 프로토콜은 서버와 상호 작용하는 다양한 방법을 정의하며, 그 중 가장 기본적인 방법은 GET, POST, PUT 및 DELETE입니다. URL 주소는 네트워크의 리소스를 설명하는 데 사용되며 GET, POST, PUT 및 DELETE는 이에 해당합니다. 이 리소스를 확인, 수정, 추가, 삭제하는 네 가지 작업을 수행합니다. 가장 일반적인 것은 GET과 POST입니다. GET은 일반적으로 리소스 정보를 얻거나 쿼리하는 데 사용되는 반면 POST는 일반적으로 리소스 정보를 업데이트하는 데 사용됩니다.

위 내용은 HTTP 프로토콜이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿