Web协议:HTTP协议

HTTP

HTTP(Hyper Text Transfer Protocol),超文本传输协议是一个简单的请求-响应协议,通常运行在TCP之上。它是用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器的传送协议。它工作在C/S架构上,浏览器(HTTP客户端)通过URL向Web服务器(HTTP服务端)发送请求,而服务端根据接收到的请求后,向客户端响应信息。

在这里插入图片描述

HTTPS

HTTPS (Hyper Text Transfer Protocol over SecureSocket Layer),超文本传输安全协议是以安全为目标的 HTTP 通道(即HTTP的安全版),在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS相当于HTTP 加入了SSL(Secure Sockets Layer 安全套接字协议),HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面 。

URL

HTTP使用URL来传输数据和建立连接。URL(uniform resource locator 统一资源定位符)是因特网的万维网服务程序上用于指定信息位置的表示方法。即任何网站、网页等在线资源的完整网址。

示例,简单介绍URL的组成:

https://blog.csdn.net/qq_56886142/category_11700124.html?spm=1001.2014.3001.5482&id=AQ_Teacher&pwd=123#blog
  • 协议:“https:”。"HTTPS"后面的“//”为分隔符。

  • 域名:“blog.csdn.net”。一个URL中,也可以使用IP地址作为域名使用。

  • 端口:域名后面的是端口,域名和端口之间使用“:”作为分隔符。一般使用默认端口,可省略。

  • 虚拟目录:从域名后的第一个“/”开始到最后一个“/”。虚拟目录也不是URL必须的部分。

  • 文件名:从域名后的最后一个“/”开始到“?”。如果没有“?”,则是从域名后的最后一个“/”开始到“#”是文件名部分;如果没有“?”和“#”,那么从域名后的最后一个“/”开始到结束都是文件名部分。文件名也不是URL必须的部分,一般使用默认文件名,可省略。

  • :从“#”开始到最后。锚也不是URL必须的部分。

  • 参数:从“?”开始到“#”,又称搜索部分、查询部分。参数可以允许有多个参数,参数与参数之间用“&”作为分隔符。

Request

Request(请求报文)是指客户端向服务器端发送的请求消息,它包含请求行、请求头和请求体三部分。

下面向Register.html发起请求,地址栏输入URL回车,如图:

在这里插入图片描述

点击注册,向Register发起请求并跳转到该页面,如图:

Register

请求行

请求行是展现当前的请求方式、访问地址、HTTP协议的版本的信息。

Register.html请求行:
在这里插入图片描述

Register请求行:
在这里插入图片描述

请求头

请求头是以具体的参数方式来详细说明本次的请求。

Register.html请求头:

在这里插入图片描述

Register请求头:

在这里插入图片描述

其中:

  • Accept:声明当前请求能够接受的MIME(Multipurpose Internet Mail Extensions(多用途互联网邮件扩展))文件类型
  • Host:服务器的主机地址
  • Referer:当前请求来源页面的地址
  • Content-Length:请求体内容的长度
  • Content-Type:请求体的内容类型,这一项的具体值是媒体类型中的某一种
  • User-Agent:浏览器名称

请求体

请求体是将一个页面表单中的组件值通过param1=value1&param2=value2的键值对形式编码成一个格式化串,它承载多个请求参数的数据。即POST请求方式下的请求参数。

Register.html的请求方式是GET,而GET方式是没有请求体的。

在这里插入图片描述

Register的请求方式是POST,请求体如下:

在这里插入图片描述

GET请求与POST请求

GET是从服务器上获取数据,POST是向服务器传送数据。

GET请求的请求参数附着在URL后面,浏览器地址栏能够看到,所以安全性低( GET请求的请求参数放在请求行中); 而且URL携带请求参数的容量有限,如果数据量大,那么超出容量的数据会丢失。

POST请求的请求参数放在请求体中,浏览器地址栏看不到,所以相对安全些;而且请求体发送数据的空间没有限制,可以发送各种不同类型的数据。

Response

Response(响应报文)一般情况是服务器接受并处理客户端发起的请求后返回的HTTP响应消息。它包含响应行、响应头和响应体三部分。

下面查看Register.html的响应,如图:

在这里插入图片描述

Register的响应:

在这里插入图片描述

响应行

响应行是展现HTTP协议版本、响应状态码和响应状态的说明文字的信息。

Register.html的响应行:

在这里插入图片描述

Register的响应行:

在这里插入图片描述

其中,响应状态码分为五种:

  • 1**:指示信息——请求已接收,继续处理
  • 2**:成功——请求已被成功接收理解
  • 3**:重定向——完成请求需要更进一步的操作
  • 4**:客户端错误——请求无法实现或请求语法错误
  • 5**:服务端错误——服务端不能实现合法的请求

响应头

响应头是对响应体的信息的说明。

Register.html的响应头:

在这里插入图片描述

Register的响应头:

在这里插入图片描述

响应体

响应体是服务器返回各种数据的主体。

Register.html的响应体:

在这里插入图片描述

Register的响应体:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_56886142/article/details/124666364