网络协议--HTTP协议简介

HTTP的作用:

HTTP(Hyper Text Transfer Protocol) 超文本传输协议,是基于应用层(TCP/IP参考模型)的通信规范;是从Web服务器传输超文本到客户端的传输协议,无状态的传输协议;不仅能够保证正确、快速、高效的传输超文本文档,而且可以确定资源加载顺序等。

HTTP是不保存状态的协议:

不保存状态的含义就像是,你进入淘宝网站,登入后,每次切换一个页面(就是换一个商品的页面)就要重新登入一次。那就不要太麻烦。那么HTTP是如何解决这个问题的呢?(也不要吐槽HTTP设计的时候为什么没有想到这个,当初的信息量哪有现在这么多,而且HTTP能被许多人接受就是因为他的简单-快
HTTP1.1 就想到了这个问题,所以设计了Cookie。
当客户端向服务器请求资源的时候,服务器会在HTTP头中接入一个set-cookie项,用来保存这个客户端的身份:
在这里插入图片描述
当客户端再次访问服务器的时候就会在请求头中加入一个cookie项,内容就为刚刚服务器发送过来的内容。
在这里插入图片描述

HTTP的几种请求方法:

  1. GET
    用来请求访问已被URI识别的资源,指定的资源经服务器端解析后的响应内容。
    在这里插入图片描述

  2. POST
    用来传输实体主体,虽然POST和GET的功能很相似,但是一般不用GET。
    在这里插入图片描述

  3. PUT
    传输文件使用的,但是存在漏洞一般web服务器都关闭了这个功能,但是在有的使用REST可能会开放使用
    在这里插入图片描述

  4. HEAD
    获取报文头部
    在这里插入图片描述

  5. DELETE
    删除文件
    在这里插入图片描述

  6. OPTIONS
    用来查询 指定 URI资源 支持的方法
    在这里插入图片描述

  7. TRACW
    让web服务器将之前请求通信环,回给客户端的方法。会在请求头中加入Max-Forwards,每经过一个服务器端这个值就减一,但是到0的时候就会停止传输
    在这里插入图片描述
    在这里插入图片描述

  8. CONNECT

HTTP的管线化:

在最初的HTTP中,每一个资源都要 执行一个完整HTTP请求(包括客户端请求,服务器回应,客户端结束,服务器断开连接)
在这里插入图片描述
这样在之前的信息量小的时代可能还行,但是在现在这个大信息时代(每个网页动不动就几十上百张图片,那服务器还不得 累死)
在这里插入图片描述

为了解决上述问题,HTTP1.1和一部分1.0想出了持久链接,只要任何一端没有断开链接就保持TCP的状态。
在这里插入图片描述

持久链接,使得管线化发送成为可能,即客户端发出一个请求后,不用等待服务端回应即可发送下一个请求。
在这里插入图片描述

以上图片内容截取自《HTTP图解》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章