了解HTTP基本知识板块

一、HTTP 协议概述

HTTP协议采用了请求/响座模型。 客户端向服务器发送—个请求,请求头包含请求的方法、URT.、协议版本、以以 及包含请求修饰符。客户信息和内容的类似于MIME的消息结构。 服务器以一个状态行作为响应,响应的内容包括消息协议的版本, 成功或者错误编码加上服务器信息、实体元信息以及可能的实体内容。

HTTP 已经演化出 了很多版本,它们中的大部分都是向下兼容的。

(1) HTTP/0.9;已讨过时。只接受 GET —种请求方法,没有在通讯中指定版本号,且不支持请求头。 由干该版本不支持 POsT方法,所以客户端无法向服务器传递太多信息。

(2)HTTP/1.0∶ 这是第一个在通讯中指定版本号的 HTTP 协议版本,至今仍被广泛采用, 特别是在代理服务器中。

(3)HTTP/1.1∶ 当前版本。持久连接被默认采用, 并能很好地配合代理服务器工作。还支持以管道方式同时发送多个请求,以便降低线路负载,提高传输速度。

二、HTTP请求流程

用户在浏览器输入URL访问时,发起HTTP请求报文,请求中包括请求行、请求头、请求体,服务器收到请求后返回响应报文,包括状态行、响应头、响应体。

 

三、TCP建立连接的过程

 

 

三次握手讲解∶

1.客户端发送位码为syn= 1,随机产生seqnumber=1234567的数据包到服务器,服务器由 SYN=1知道客户端要求建立联机(客户端∶ 我要连接你)

2.服务器收到请求后要确认联机信息,向A发送ack number=(客户端的seq+1),syn=1,ack=1,随机产生 seq=7654321的包(服务器∶好的,你来连吧)

3.客户端收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码ack是否为1,若正确,客户端会再发送ack number=(服务器的 seq+1).ack=1,服务器收到后确认seq值与ack=1则连接建立成功。(客户端∶ 好的,我来了)

四、TCP断开连接的过程

TCP关闭连接过程∶

1.Client向Server发送FIN包,表示Client主动要关闭连接,然后进入FIN WAIT 1状态,等待Server返回ACK包。此后Client不能再向Server发送数据,但能读取数据。

2.Server收到FIN包后向Client发送ACK包,然后进入CLOSE WAIT状态,此后 Server不能再读取数据,但可以继续向 Client发送数据。

3.Client收到Server返回的ACK包后进入 FIN WAIT 2状态,等待Server发送FIN包。

4.Server完成数据的发送后,将FIN包发送给Client,然后进入LAST ACK状态,等待Client返回ACK包,此后Server既不能读取数据,也不能发送数据。

5.Client收到FIN包后向Server发送ACK包,然后进入TIME WAIT状态,接着等待足够长的时间(2MSL)以确保Server接收到ACK包,最后回到CLOSED状态,释放网络资源。

6.Server收到Client返回的ACK包后便回到CLOSED状态,释放网络资源

五、HTTP方法

HTTP 支持几种不同的请求命令,这些命令被称为 HTTP 方法 (HTTP method)。每条 HTTP 请求报文都包含一个方法,

告诉服务器要执行什么动作, 包括∶ 获取一个页面,运行一个网关程序,删除一个文件等。最常用的获取资源的方法是 GET、POST。

HTTP          方法                        描述

GET                                请求获取 Request-URI 所标识的资源

PUT                                请求服务器存储一个资源,并用 Request-URI 作为其标识

DELETE                         请求服务器删除 Request-URI 所标识的资源

POST                              在 Request-URI 所标识的 资源后附加新的数据

HEAD                             请求获取由 Request-URI 所标识的资源的响应消息报头

六、HTTP 状态码

HTTP 状态码(HTTP Status Code)是用以表示网页服务器 HTTP 响应状态的 3 位数字代码,当浏览器请求某一 URL时,服务器根据处理情况返回相应的处理状态。

状态码首位 已定义范围 分类
1xx 100-101 信息提示
2xx 200-206 成功
3xx 300-305 重定向
4xx 400-415 客户端错误
5xx 500-505 服务器错误

 

 

 

 

 

 

 

HTTP 常见状态码状态码

状态码 功能描述
200 一切正常
301 永久重定向
302 临时重定向
401 用户名或密码错误
403 禁止访问(客户端IP地址被拒绝)
404 文件不存在
414 请求URI头部过长
500 服务器内部错误
502 无效网关
503 当前服务不可用
504 网关请求超时

 

posted @ 2021-08-05 11:20  咖啡coffee  阅读(71)  评论(0编辑  收藏  举报