最后更新:2022-07-31 12:13:20 手机定位技术交流文章
HTTP(HyperText transport protocol)协议是客户端和服务器端进行交互遵循的通信协议 ,是一种能够获取如 HTML 这样的网络资源的 protocol(通讯协议)。它是网络数据交换的基础,这是一个客户端-服务器协议,也就是说,请求通常由浏览器等接收者发起。
HTTP在1990年代初被设计,这是一个可扩展的协议。它是应用层的协议,通过TCP,或由TLS加密的TCP连接发送,在理论上,任何可靠的传输协议都可以使用.由于其良好的可扩展性,时至今日,它不仅用于传输超文本文本文件,它也可以用于传输图像、视频或发送信息到服务器,例如HTML表格。HTTP也可以根据网页要求定制,只获取部分网页文档内容更新页.
请求声明: 请求头 请求行 请求体
请求头:Authorization Content-Type
请求行:请求方法url路径 http协议版本(http1).0,http1.1,http2)
请求体:获取在url地址栏中的请求体中没有载入参数(不安全)
请求机构中的后载参数
响应消息:响应头响应线响应体
响应头:内容类型(设置数据格式)
响应线:http1.1(http协议版本编号)200(响应协议状态代码)OK(状态代码描述)
响应体:{status:200,message:“更新成功”,data:[{name}]}
HTTP消息有两个类别:请求消息和响应消息 请求消息是客户端向服务器发送请求的信号,响应消息是服务器在处理后响应并向客户端发送的信号。
HTTP请求消息由四个部分组成,每个部分是
请求行、请求头、空行和请求体
空行也是其中一个组成部分,而函数是分离,这是至关重要的。
第一行为请求行,由 请求方法、URL和HTTP协议版本它由三个字段组成,由空格分隔,最后由一行末端的返回和替换分隔,表明下一个内容(开始下一个字段)不是请求的字段内容。GET /index.php HTTP/1.1GET是请求方法/index.php是URL,HTTP/1.1表示使用HTTP版本是1.1。
这一行比较好理解,只有请求方法的类型比较多,有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT,其中GET、POST最为常用,这里详细介绍下。
GET和 POST方法之间的区别?
GET:
1.通过获取运载的参数在url的地址栏中运载。
将传输的数据数量限制在1024字符的一半以下
POST:
(一)邮递所携带的参数在请求机构内,数据保密和安全
2.没有限制传输的数据大小,一般可以传输大量的数据
请求头里保存的是请求的属性, 冒号“:”(英文)分割的键值对;每组属性之间使用n分隔;遇到空行表示请求头部分结束。请求头部告知服务器所有有关于客户端请求的信息。
典型的请求头有:
用户代理:生成请求的用户代理信息(浏览器信息): Mozilla/5.(Macintosh;Intel Mac OS X)
10_12_3) AppleWebKit/537.36等;接受:客户端可识别内容类型列: text/html,application/xhtml+xml,application/xml;
接受语言: 客户端接受的自然语言 - zh-CN,zh;q=0.8, en;q=0.6, id;q=0.4;
Accept-Encoding:客户端可接受的编码压缩格式-gzip,deflate,sdch, br
主机:请求的主机名称,允许多个域名共享IP地址,即虚拟主机
connection:连接方式,有close和keep-alive两种。
告诉 WEB 服务器或代理服务器在完成对此请求的响应后切断连接
Keep-alive:通知Web服务器或代理服务器。 在完成响应此请求后保持连接,等待后续请求
cookie:存储在客户端扩展字段中并发送给同一个域名服务的末端是属于该域名的cookie-PSTM=1490844191;
BIDUPSID=2145FF54639208435F60E1E165379255;
用户将内容分开,表明请求头不再是请求头,直到下一行内容为止。
请求体包含的就是请求数据如上所述,在使用GET方法时,没有请求机构。
在客户端向服务器发送请求后,服务器接收并处理由客户端发送的请求,并通常返回HTTP响应消息,即响应消息。
HTTP响应还包括四个部分,分别:
状态行、响应头、空行和响应体
.形式上,除了状态行外,其他三个部分与请求声明相似。
HTTP-Version Status-Code Reason-Phrase CRLF
。其中,HTTP-Version代表服务器HTTP协议的版本; Status-Code代表服务器返回的响应状态代码; Reason-Phrase代表状态代码的文本描述。
状态代码由三个数字组成,第一个数字定义了响应类型,还有五个可能的值。
1xx: 指明资料 - 指明请求已收到并继续处理.
2xx: 成功 - 表示请求已成功收到、理解和接受。
3xx: Redirect – 为了完成请求,必须进行进一步操作。
4xx: 客户端错误 - 请求有语法错误或请求无法实现.
5xx:服务器终止错误-服务器未能实现合法请求。
各种类型的共同国家代码和国家描述的描述如下:
服务器通过对头部的响应来控制浏览器的行为,而不同头部的操作则不同
类似请求消息的请求头,响应头还由一对键值组成,每行一对,一个键和一个英文缩写: Separate的值。 响应头允许服务器传递无法放在状态行的额外信息,这主要是描述服务器的信息和请求URI的进一步信息。
典型的响应头有:
服务器:包含处理请求的原始服务器的软件信息;
日期:服务器日期;
Content-Type:返回的资源类型 (MIME);
连接:连接的方式;
关闭:连接已关闭;
keep-alive:连接已维持,等待此连接的后续请求;
缓存控制:缓存控制;
期满: 设置期满时间;
Set-Cookie:设置cookie信息。
作为内容分割的一部分,以下不再是响应标题的内容。
这是服务器返回浏览器的响应消息
本文由 在线网速测试 整理编辑,转载请注明出处。