1.HTTP协议初始版本中,每进行一次HTTP通信就要断开一次TCP连接。后来为了解决此问题,提出了持久连接(也称HTTP keep-alive或HTTP connection reuse)。持久化连接的特点:只要任意一端没有明确提出断开连接,则保持TCP连接状态。
2.HTTP报文:用于HTTP协议交互的信息。请求端(客户端)的HTTP报文叫请求报文,响应端(服务器端)的叫做响应报文。
注:报文首部:服务器端或客户端需处理的请求或响应的内容及属性;CR+LF:CR(Carriage Return, 回车符:16进行0x0d)和LF(Line Feed,换行符:16进制0x0a);报文主体:应被发送的数据。
3.报文是HTTP通信中的基本单位,由8位组字节流组成,通过HTTP通信传输。
4.实体作为请求或响应的有效载荷数据(补充项)被传输,其内容由实体首部和实体主体组成。
5.HTTP状态码的类别
类别 | 原因短语 | |
---|---|---|
1XX | Informational(信息性状态码) | 接收的请求正在处理 |
2XX | Success(成功状态码) | 请求正常处理完毕 |
3XX | Redirection(重定向状态码) | 需要进行附加操作以完成请求 |
4XX | Client Error(客户端错误状态码) | 服务器无法处理请求 |
5XX | Server Error(服务器错误状态码) | 服务器处理请求错误 |
6.常用状态码解释
-
2XX
200 OK 成功
204 No Content 该状态码代表服务器接收的请求已经成功处理,但在返回的响应报文中不含实体的主体部分。另外,也不允许返回任何实体的内容。
206 Partial Content 该状态码表示客户端进行了范围请求,而服务器成功执行了这部分的GET请求。
-
3XX
301 Moved Permanently 永久重定向。该状态码表示请求的资源已经被分配了新的URI,以后应该使用资源现在所指的URI。
302 Found 临时性重定向。该状态码表示请求的资源已经分配了新的URI,希望用户(本次)能使用新的URI访问。
304 Not Modified 该状态码表示客户端发送附带条件的请求时,服务器允许请求访问资源,但因为请求未满足条件的情况后,直接返回304(服务器端资源未改变,可直接使用客户端未过期的缓存)。
-
4XX
400 Bad Request 该状态码表示请求报文中存在语法错误。当错误发生时,需修改请求的内容后再发送请求。
401 Unauthorized 未授权,表示发送的请求需要通过认证。
403 Forbidden 该状态码表明对请求资源的访问被服务器拒绝了。
404 Not Found 服务器没有请求的资源。
-
5XX
500 Internal Server Error 服务器在执行请求时发生了错误。
503 Service Unavailable 表明服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。
7.代理:一种有转发功能的应用程序,扮演客户端发送的请求并转发给服务器,同时也接收服务器返回的响应并转发给客户端的角色。
8.网关:转发其他服务器通信数据的服务器,接收从客户端发送来的请求,它就像自己拥有资源的服务器一样对请求进行处理。
9.隧道:在相隔很远的服务器和客户端两者之间进行中转,并保持双方通信连接的应用程序。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。