http通信过程,主要分7个步骤:
1 建立TCP连接
http工作之前,浏览器先通过网络与Web服务器建立连接,通过TCP(有三次握手)完成。
2 Web浏览器向Web服务器发送请求命令
建立了TCP连接后,就向服务器发送请求命令。
3 Web浏览器发送请求头信息
再以头信息的形式向服务器发送些信息来描述浏览器自己,以及一空白行来通知服务器该头信息已结束。若是post请求,还会发送请求体。
4 Web服务器应答
第一部分是协议的版本号和应答状态码。
5 Web服务器发送应答头信息
服务器向客户端发送一些自己的数据以及被请求的文档,以空白行结束此信息。
6 Web服务器向浏览器发送数据
以Content-Type应答头信息所描述的格式发送请求的实际数据。
7 Web服务器关闭TCP连接
一般发送了数据之后就会关闭TCP连接,但如果有 Connection:keep-alive,就说明TCP要一直保持打开状态,于是,浏览器就可以继续通过相同的连接发送请求,保持连接节省了为每个请求建立新连接所需的事件,还节约了网络带宽。
get/post请求方法介绍:
1 get
是默认的http请求方法,提交的数据量小,提交的表单数据只经过了简单的编码,同时作为URL的一部分想Web服务器发送,存在较大的安全隐患。
2 post
是get的一个替代方法,提交大批量的数据。提交时是作为标准数据传送给Web服务器的,安全性高。
状态码:
1xx:指示信息,表示请求已经接收,继续处理。
2xx:成功,表示请求已经被成功接收、理解、接受。
3xx:重定向,要完成请求必须进行更进一步的操作。
4xx:客户端错误,请求有语法错误或请求无法实现。
5xx:服务器端错误,服务器未能实现合法的请求。
常见状态码:
200:客户端请求成功。
400:客户端请求有语法错误,不能被服务器所理解。
401:请求未经授权,这个状态码必须和WWW-Authenticate包头域一起使用。
403:服务器收到请求,但是拒绝提供服务。
404:请求资源不存在,如输入了错误的URL。
500:服务器发生不可预期的错误。
503:服务器当前不能处理客户端的请求,一段时间后可能恢复正常。
【抓包:将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。】
感谢这篇文章:https://www.cnblogs.com/yumo1627129/p/7941220.html
有不足之处欢迎指正,共同学习。
(⌒▽⌒)