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 类型的格式是“大类型/小类型”,并与某一种文件的扩展名
相对应。