2020-09-25

一. 简介

HTTP(Hypertext Transfer Protocol)即超⽂本传输协议,其位于应用层,基于TCP/IP协议来完成数据的传输,规定了客户端与服务端的通信格式。

基于“请求-响应”模式

客户端发起请求,服务器收到请求后,服务器才会响应。

无连接

每次连接只处理一个请求。处理完请求后,不是立即断开连接,会有一个等待时间。

无状态保存

不保存请求和响应之间的通信状态。

二. 请求处理流程


用户通过浏览器输入网址(如:http://www.muzi.cn),发起请求(1到2之间隐藏了:通过DNS将域名解析为IP地址);

浏览器发起TCP连接请求,通过IP地址找到对应的web服务器;

服务器接受请求后,通过TCP三次握手建立连接;

浏览器将请求数据打包成HTTP格式的数据包;

浏览器发送请求数据包;

服务器解析HTTP格式的数据包;

执行相应的请求;

将响应结果(可能是图片或者HTML等)打包成HTTP格式的数据包;

将数据包通过网络发送给浏览器;

浏览器解析HTTP格式的数据包(假设数据是HTML);

浏览器呈现HTML响应给用户。

三. HTTP请求方法

八种方法

GET、POST、 HEAD、TRACE、OPTIONS、CONNECT、DELETE、PUT

GET和POST

「功能介绍」

(1)GET主要功能:

从服务器中获取用户所需资源,并将其作为响应返回给客户端。

️是获取资源,故不能修改资源。

️虽然GET也可以上传资源到服务器,但一般不建议。

(2)POST主要功能:

既能够从服务器获取资源,也可以向服务器上传资源。

「上传资源对比」

(1)采用GET方法向服务器上传资源时,一般将数据添加到URL的后面,并使用“?”连接,各个变量之间用“&”连接,由于URL长度存在限制,故采用此方法上传的数据很小,通常是1024Byte左右;

而POST方法传递数据是通过HTTP请求的附件进行的,传送数据量更大,一般不受限。

(2)由于GET方法上传数据时是添加在URL中,故数据被“暴露”,存在安全隐患;故POST安全性更好。

四. HTTP状态码

1. 大类别




2. 细分



502 Bad Gateway:作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。

504 Gateway Time-out:作为网关或者代理工作的服务器尝试执行请求时,未能及时从上游服务器(URI标识出的服务器,例如HTTP、FTP、LDAP)或者辅助服务器(例如DNS)收到响应。

你可能感兴趣的:(2020-09-25)