目录
[4、响应状态码(Status Codes):](#4、响应状态码(Status Codes):)
一、HTTP协议。
(1)基本概念。
- HTTP(HyperText Transfer Protocol,超文本传输协议)是一种用于分布式、协作式、超媒体信息系统的网络协议。
- 定义了客户端(如网页浏览器)与服务器(如网站服务器)之间请求 和响应的格式。HTTP 是互联网上应用最广泛的协议之一,主要用于传输网页内容。
(2)HTTP协议关键特点和组成部分。
1、请求------响应。
- HTTP 工作在客户端-服务器模型之上。客户端浏览器携带相关请求数据,发起请求。服务器对请求进行处理与数据进行解析,然后响应请求。
- 双方按照一定的格式去解析数据、响应数据。而这些格式都是在HTTP协议进行定制的。
- 案例。
- 当点击登录提交按钮。
- 通过浏览器的"开发者工具"查看网络中的请求和响应信息。
- 头部(Headers):HTTP 请求和响应都包含头部信息。这些头部信息提供了关于请求或响应的附加信息。例如:Content-Type:指定传输的数据类型。User-Agent:请求的用户代理信息。Accept:客户端能够处理的媒体类型。Set-Cookie:服务器向客户端设置Cookie。
- 请求标头:key---value存在的那些数据就是请求头。如果是post请求就会存在请求体。
- 响应标头:第一行展示了协议的版本。其中后面的"200"是响应的状态码。(200代表响应成功)而key---value存在的那些数据就是响应头。
- 响应体。
- 我们可以发现就如概念所说,它们的原始数据就是一些文本数据。
2、无状态协议。
- HTTP 本身是无状态的,这意味着服务器不会保存关于客户端请求的任何信息。
- 它对于事务的处理是没有记忆的!
- 每次请求------响应都是相互独立的,服务器不会记住之前的请求信息。HTTP协议是基于请求------响应模型。也就是一次请求对应一次响应。
3、常用方法。
- HTTP 定义了一系列的方法(也称为动词),用于指定对资源的操作类型。
- GET:请求指定的页面信息,并返回实体主体。(重要)
- POST:向指定资源提交数据进行处理请求。(例如提交表单或者上传文件)(重要)
<1>GET请求。
- 请求参数会在浏览器的地址栏中显示,所以不安全。
- 请求参数长度限制长度在1K之内。
- GET请求没有请求体,无法通过request.setCharacterEncoding()来设置参数的编码。
<2>POST请求。
请求参数不会显示浏览器的地址栏,相对安全。
请求参数长度没有限制。可以上传较大的资源文件。
- PUT:上传文件。
- DELETE:删除文件。
- HEAD:请求获取与GET请求相同的响应,但没有响应体。
- OPTIONS:用于描述目标资源的通信选项。
4、响应状态码(Status Codes):
- 服务器响应客户端请求时,会返回一个状态码,表示请求的结果。常见的状态码包括以下情况。
- 200。OK:请求成功。
- 301。Moved Permanently:永久重定向。
- 404。Not Found:请求的资源未找到。
- 500。Internal Server Error:服务器内部错误。
5、持久连接。
- HTTP/1.1 支持持久连接,允许多个请求和响应在同一个TCP连接上进行,减少了建立和关闭连接的开销。
6、管道。
- HTTP/1.1 还支持管道技术,允许客户端在等待服务器响应当前请求时,继续发送新的请求。
7、HTTP协议的安全性。
- HTTP协议是基于TCP进行通信的。
- 因为TCP是面向安全的协议 。在建立连接时需要"三次握手"(确认双方都有发送、接收数据的能力,然后再进行数据的传输,这样就不会出现丢失"数据包"的情况,更加安全)
- HTTP 本身不提供加密。但可以通过使用 HTTPS(HTTP Secure),即在HTTP上加上SSL/TLS协议来提供加密传输。
8、分块传输编码。
- 允许服务器在知道整个响应大小之前就开始发送响应。
9、内容编码。
- 如gzip,用于压缩传输的数据,减少传输时间。、
(3)基本小结。