HTTP是应用层的协议,整个请求流程如下:

1.客户端与服务端建立底层的TCP链接

2.底层链接建立好后,客户端开始向服务端发送请求(包括请求地址、请求头、请求方法)

2.服务端响应回复给客户端(包括响应头、协议状态码),HTTP1.0.9版本:一个完整的HTTP请求完成,如果再没有请求,TCP链接断开

比如客户端访问淘宝首页,淘宝首页有一万张图片:每请求一张完成后,TCP链接断开,请求下一张图片时,需要重新建立TCP链接,这样对服务器造成了很大压力

HTTP1.0版本以后,增加了持久链接,通过请求头中的connection:keep_alive来标识,任意一端没有明显断开链接(对于客户端来说比如关闭淘宝页面,对服务端来说只要服务没有瘫痪,就没有断开连接),TCP链接就永远保持链接

比如客户端向淘宝首页发送请求:建立TCP链接之后,客户端发送请求给服务端,服务端把1万张图片全部给客户端后,再关闭TCP链接,这样只需要建立一次TCP链接

 

 

 

 

HTTP请求类型:

  get:获取资源

  post:客户端提交数据到服务端,服务端保证数据被完整保存,并且服务端不允许出现重复数据

  put:客户端的数据发送到服务端

  delete:从服务端删除数据

  post用得最多,put、delete用得少,删除数据也常用post