目结构:
contents structure [-]
什么是HTTP协议
Http协议的进化历史
Http的报文结构
- 客户端请求
- 服务端响应消息
伸手方法来那些
状态码有那些
Http和Https的比较
1.什么是Http协议
HTTP协议(HyperText Transfer
Protocol,超文本传输协议)是因特网上动最常见的一模一样栽网络传输协议,所有的WWW文件都须信守这标准。HTTP是一个因TCP/IP通信协议来传递数据(HTML
文件, 图片文件, 查询结果等)。
2.Http商量的前行历史
http协议及目前为止,已经经历过了http0.9、http1.0、http1.1与http2。
http
0.9深受1991年宣布,该版本非常简单,只有Get请求,而且服务器只能回到html格式的字符串,其它格式的无克分析。
http
1.0受1996年5月揭晓,该版相较让0.9多了众多职能,首先服务器可以回来外格式的多寡,然后除了Get方法,还长了Post方法和Head方法。
http
1.1让1997年1月披露,在传统的1.0版本被生出一个瑕疵,就是每个TCP连接只能发送一个求。发送数据完毕,连接就倒闭,如果还要请其他资源,就不能不重新新建一个老是,随着网页资源加载越来越多,这个题材就是显示更突出了。而http
1.1虽缓解了此问题,它引入了持久化连接,及于一个TCP连接着,可以发送多独请求。而且客户端和服务端发现对方一段时间没有挪动就是会见积极关闭连接。1.1任然是眼前用最多之本。
htttp 2于2015年宣布,HTTP/1.1
版的头信息只能是文本(ASCII编码),数据体可以是文件,也足以是二进制。HTTP/2
则是一个根本底二进制协议,头信息和数据体都是二进制,并且统称为”帧”(frame):头信息帧和数据帧。使用二进制的利是好定义额外的轴,为未来的高等应用打下基础。如果应用文本实现这种力量,解析数据以见面变换得够呛累,二进制解析则有利于得多。
3.Http之报文结构
http的报文结构是由状态行、头部、空行、主体整合。
3.1客户端请求
一旦是客户端请求的言语,那么即便是伸手行、请求头部、空行、请求主体。
每当这个图中,可以看要求行的布局是:请求方法 URL 协议版本
例如:
GET /hello.txt HTTP/1.1
假定是GET请求的讲话,是尚未要数据的。请求数据只有POST才生。
3.2服务端响应消息
若是服务端响应的话,那么即便是响应行、响应头部、空行、响应中心。
响应行的布局是:版本 状态码 状态码描述
比如地方的:
HTTP/1.1 200 OK
4.求方法都出那些
据悉HTTP标准,HTTP请求可以动用多种请方法。
HTTP1.0概念了三种要方法: GET, POST 和 HEAD方法。
HTTP1.1猛增了五栽要方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。
1 | GET | 请求指定的页面信息,并返回实体主体。 |
2 | HEAD | 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头 |
3 | POST | 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 |
4 | PUT | 从客户端向服务器传送的数据取代指定的文档的内容。 |
5 | DELETE | 请求服务器删除指定的页面。 |
6 | CONNECT | HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。 |
7 | OPTIONS | 允许客户端查看服务器的性能。 |
8 | TRACE | 回显服务器收到的请求,主要用于测试或诊断。 |
5.状态码都发出那些
状态码共有五种档次:
1** | 信息,服务器收到请求,需要请求者继续执行操作 |
2** | 成功,操作被成功接收并处理 |
3** | 重定向,需要进一步的操作以完成请求 |
4** | 客户端错误,请求包含语法错误或无法完成请求 |
5** |
服务器错误,服务器在处理请求的过程中发生了错误 |
脚是大面积的HTTP状态码:
- 200 – 请求成功
- 301 – 资源(网页等)被永远转移到任何URL
- 404 – 请求的资源(网页等)不存
- 500 – 内部服务器错误
6.Http和Https的比较
1、https协议需交ca申请证书,一般免费证书较少,因而要肯定花费。
2、http是超文本传输协议,信息是公开传输,https则是拥有安全性的ssl加密传输协议。
3、http和https使用的凡全然两样之连接方式,用底端口也未一致,前者是80,后者是443。
4、http的接连老简单,是无状态的;HTTPS协议是出于SSL+HTTP协议构建的可进展加密传输、身份认证的网络协议,比http协议安全。