HTTP协议是超文本传输协议,主要用于从服务器端传输超文本到本地浏览器的传送协议。它由请求行,请求头,空行以及请求数据四部分构成
HTTP的请求报文分为四个部分分别是请求行、请求头和空行,请求数据。接下来将在文章中具体介绍这四部分,具有一定的参考价值,希望对大家有所帮助。
【推荐课程:HTTP课程】
HTTP简介
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网服务器传输超文本到本地浏览器的传送协议。
它是一个基于TCP/IP通信协议来传递数据
HTTP工作原理
(1)HTTP是无连接的:无连接指的是限制每次连接只处理一个请求。即服务器处理完用户的请求,并收到用户的应答后,即断开连接。这样可以节省传输了时间。
(2)HTTP是媒体独立的:说明只要客户端和服务器知道如何处理数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。
(3)HTTP是无状态:HTTP协议是无状态协议。无状态协议指的是对于事务处理没有记忆能力。如果后面的处理需要前面的信息,则必须要重传,这就导致了每次连接传送的数据量增大。但是也有一个好处就是在服务器不需要先前的信息时它的应答就比较快
HTTP组成
请求行:
请求行有三个部分组成分别是请求方法字段、URL字段和HTTP协议版本组成,它们用空格分隔。例如
GET /index.html HTTP/1.1
请求方法中共定义了8种方法分别是:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、TRACE,但是最常用的方法是GET方法和POST方法,因为当前大多数浏览器只支持GET和POST方法
请求头:
请求头是由关键字/值对组成,每行一对,关键字和值用英文冒号“:”分隔。请求头部通知服务器有关于客户端请求的信息。
典型的请求头有:
User-Agent:产生请求的浏览器类型
Accept:客户端可识别的内容类型列表
Host:请求的主机名,允许多个域名同处一个IP地址,即虚拟主机。
例:
Host: localhost
空行
最后一个请求头之后是一个空行,发送回车符和换行符,通知服务器以下不再有请求头
请求数据
请求数据不在GET方法中使用,而是在POST方法中使用。POST方法适用于需要客户填写表单的场合。
与请求数据相关的最常使用的请求头是Content-Type和Content-Length。
例:
Content-Type: application/json;charset=utf-8
总结:以上就是本篇文章的全部内容了,希望对大家学习http有所帮助
以上是HTTP协议详解的详细内容。更多信息请关注PHP中文网其他相关文章!