http协议(一):http协议基础知识

1、协议类型

  1. HTTP  超文本传输协议 通过浏览器和服务器进行数据交互,进行超文本(文本、图片、视频等)传输的规定
  2. HTTPS 安全超文本传输协议
  3. FTP 文本传输协议
  4. TCP  网络控制协议
  5. IP  互联网协议
  6. UDP 用户数据协议

2、什么是http协议

总结来说:http协议即在浏览器和服务器通信之间的一个规则,即协议;它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。

 HTTP是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。在Internet上的Web服务器上存放的都是超文本信息,客户机需要通过HTTP协议传输所要访问的超文本信息

HTTP包含命令和传输信息,不仅可用于Web访问,也可以用于其他因特网/内联网应用系统之间的通信,从而实现各类应用资源超媒体访问的集成。

我们在浏览器的地址栏里输入的网站地址叫做URL (Uniform Resource Locator,统一资源定位符)。就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet地址。

当你在浏览器的地址框中输入一个URL或是单击一个超级链接时,URL就确定了要浏览的地址。浏览器通过超文本传输协议(HTTP),将Web服务器上站点的网页代码提取出来,并翻译成漂亮的网页。

3、http协议与接口的关系

通俗的来讲接口就相当于一件工具,当你要用它的时候通过http协议中的请求和响应去申请和获取;

协议方式多种,可以通过不同的协议获取相应的对象;

4、http协议版本

(1)http协议1.0与1.1

  1. http1.0每次请求都要建立新的TCP连接,连接不能复用;
  2. http1.1连接可以复用;
  3. http1.1在request消息头增加host,http1.0没有这个域
  4. http1.1增加了对put、delete、connet等request方法的支持;

(2)http1.1与http2

  1. http2采用二进制格式而不是文本格式;
  2. http2完全的多路复用;
  3. http2可以让服务器主动把响应推送到客户端缓存中;

5、http协议与HTTPS协议

  1. https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
  2. http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
  3. http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
  4. http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

6、http协议的特点

  1. 简单快速:客户端向服务器发送请求时,只需传送请求方法和路径;
  2. 灵活:HTTP允许传输任意类型的数据对象,正在传输的类型由content-type加以标记;
  3. 无连接:限制每次只处理一个请求,处理完后即断开连接;http协议每次响应完成后,会断开与客户端的连接;
  4. 无状态:http是无状态协议,无状态是指协议对于事务处理没有记忆能力;由于服务器断开了连接,就无法知晓连接间的关系。

7、http协议的生命周期

(1)客户端发起请求到API层

(2)API接收到客户端发起的用户请求;(API对业务逻辑进行验证)

(3)API将用户输入的数据发送给数据库;

(4)数据库将查询数据库的条目返回给API

(5)API将返回成功或失败的状态码发给客户端;

(6)客户端将返回信息提示给用户;

http协议(一):http协议基础知识

8、辅助知识点

  1. tcp/ip三次握手

例:客户端向服务端发起沟通

       服务端先确认哪个客户端,将客户端的信息发回客户端

       客户端收到服务端信息,确认无误后再发给服务端

       沟通建立

http协议(一):http协议基础知识

    2、OSI七层模型

OSI定义了网络互连的七层框架

http协议(一):http协议基础知识

    3、URL与URI

URL:(Uniform/Universal Resource Locator 的缩写,统一资源定位符)。

URI:(Uniform Resource Identifier 的缩写,统一资源标识符)(代表一种标准)。

关系:

URI 属于 URL 更高层次的抽象,一种字符串文本标准。

就是说,URI 属于父类,而 URL 属于 URI 的子类。URL 是 URI 的一个子集。

二者的区别在于,URI 表示请求服务器的路径,定义这么一个资源。而 URL 同时说明要如何访问这个资源(http://)。 大家把浏览器地址栏里访问网站的地址认为是URL就好了,也就是以HTTP/HTTPS开头的URI子集。