Http协议


什么是 HTTP 协议        HTTP 超文本传输协议 (HTTP-Hypertext transfer protocol),是一个属于应用层的面向对象 的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它是一种详细规定了浏览器和万维网 服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。                 超文本要解决的通信要求是:在一台计算机上获取并显示存放在多台计算机里的 文本、数据、图片和其他类型的文件;它包含两大部分:超文本转移协议和超文本标记 语言(HTML)。HTTP、HTML 以及浏览器的诞生给互联网的普及带来了飞跃。       HTTP 的主要特点             1.支持客户端/服务器模式。 2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用 的有 GET、POST、HEAD 等。 3.灵活:HTTP 允许传输任意类型的数据对象。 4.无连接:无连接的含义是连接双方在完成交互后不维持连接状态,当客户端发送 新的请求后则开启新的连接。 5.无状态:HTTP 协议是无状态协议。   HTTP 协议的会话方式       客户机       建立连接   发送请求    回应响应信息       关闭连接      服务器                 浏览器与 WEB 服务器的连接过程是短暂的,每次连接只处理一个请求和响应。 对每一个页面的访问,浏览器与 WEB 服务器都要建立一次单独的连接。      浏览器到 WEB 服务器之间的所有通讯都是完全独立分开的请求和响应对。   HTTP1.0 和 HTTP1.1 的区别       在 HTTP1.0 版本中,浏览器请求一个带有图片的网页,会由于下载图片而与服务器之 间开启一个新的连接;但在 HTTP1.1 版本中,允许浏览器在拿到当前请求对应的全部资 源后再断开连接,提高了效率。      HTTP 请求       客户端连上服务器后,向服务器发出获取某个 Web 资源的消息,称之为客户端 向服务器发送了一个 HTTP 请求。一个完整的 HTTP 请求包括如下内容:           ①请求行           ②若干消息头(请求头)          ③实体内容(请求体) 有可能没有       请求方式      ①HTTP 中定义了 7 种请求方式:POST、GET、HEAD、OPTIONS、DELETE、TRACE、 PUT。其中最常用的是 GET 和 POST      ②GET 请求 请求消息头:          请求消息头  简称请求头    用来向服务器报告浏览器的一些基本信息 请求体:            get没有请求体           post请求    以请求体发送    没有大小限制 HTTP 响应           所谓响应其实就是服务器对请求处理的结果,或者如果浏览器请求的直接就是一 个静态资源的话,响应的就是这个资源本身。 HTTP 响应的组成         ①响应状态行:包括协议版本、响应状态码、响应状态信息         ②响应消息头:响应头         ③ 实体内容:响应体  响应状态码:        响应状态码以 2 开头的通常表示成功。        响应状态码以 3 开头的通常表示转移。        响应状态码以4开头的通常表示无法访问,其中包括找不到资源或没有权限等。         响应状态码以 5 开头的通常表示服务器端程序运行出错。 响应体:          服务器给出响应结果的主体   通常在界面显示          http内容类型:当前响应体的数据类型                   在浏览器和服务器之间传输的数据类型并非都是文本类型,还包 括图片、视频、音频等多媒体类型。这些多媒体类型是使用 MIME 类型定义的。           MIME 的英文全称是"Multipurpose Internet Mail Extensions" 多功能 Internet 邮 件扩充服务。MIME 类型的格式是“大类型/小类型”,并与某一种文件的扩展名 相对应。