HTTP详解( HTTP1.0和1.1 POST和GET区别)

超文本传输协议(HTTP)是一种应用协议用 于分布式,协作,超媒体信息系统。HTTP是交换或转让的超文本的协议。
HTTP函数作为请求-响应于协议的客户端-服务器计算模式。
HTTP是一个应用层协议的框架内,设计的因特网协议套件。它的定义假定底层和可靠的传输层的协议,传输控制协议(TCP)是常用的。然而HTTP可以适于使用不可靠的协议,如用户数据 ??报协议(UDP),例如在HTTPU和简单服务发现协议(SSDP)。

HTTP的资源被确定和位于网络由统一资源定位符(URL) ,用统一资源标识符(URI)方案的http和HTTPS。URI和超链接在超文本标记语言(HTML)文档,形成相互关联的超文本文档。

HTTP / 1.1是原来的HTTP(HTTP / 1.0)的修订。在HTTP / 1.0的单独连接到同一台服务器为每个资源的要求而作出。HTTP / 1.1可以重复使用的连接多次下载图像,脚本,样式表,等等页面已交付之后。因此,HTTP / 1.1的通信的延迟少为建立TCP连接的呈现相当大的开销。

HTTP会话
HTTP会话是网络请求-响应事务的序列。HTTP客户端通过建立一个发起请求的传输控制协议(TCP)连接到特定端口的服务器上(通常是80端口,偶尔端口8080;见TCP和UDP端口号的列表)。一个HTTP服务器侦听端口上等待客户端的请求消息。在接收到请求时,服务器发回一个状态线,诸如“HTTP / 1.1 200 OK”,以及它自己的消息。此消息的主体通常是所请求的资源,但也可返回一个错误消息或其它信息。


HTTP认证
HTTP提供多种认证计划,如基本访问身份验证和HTTP摘要认证它通过挑战-响应机制运作,从而提供所请求的内容之前,服务器识别和问题的挑战。

HTTP提供用于访问控制和认证的总体框架,通过一组可扩展的挑战-响应认证方案,其可以通过一个服务器可以用于挑战一个客户机请求和由客户端提供认证信息。


验证范围
HTTP验证规范还提供了进一步的划分公共资源给定根URI任意,实施具体的构造。领域值的字符串,如果存在的话,是与规范根URI形成挑战的保护空间部分相结合。这实际上使得服务器定义独立的身份验证范围下一个根URI


请求方法
HTTP定义的方法来指示要在所识别的资源上执行所需的操作。这是什么资源表示,无论是动态生成的预先存在的数据,取决于服务器的实现。通常情况下,该资源对应于一个文件或驻留在服务器上的可执行的输出。在HTTP / 1.0规范定义的GET,POST和HEAD方法和HTTP / 1.1规范增加5个新的方法:OPTIONS,PUT,DELETE,TRACE和CONNECT。


HEAD

HEAD方法要求等同于一个GET请求的响应,但是没有响应体。这是用于检索写入响应头的元信息,而无需在整个内容传送是有用的。


POST
该POST方法请求服务器接受被附在请求作为一个新的下属实体网络资源由URI标识。发布数据可能是,例如,对现有资源的注释; 对于一个公告板,新闻组,邮件列表,或评论跟帖的消息; 一个数据块是提交的结果的Web表单到一个数据处理过程; 或一个项目添加到数据库中。


PUT

PUT方法要求将封闭的实体所提供的存储下的URI。如果URI是指已经存在的资源,它被修改; 如果URI不指向一个现有的资源,那么服务器可以创建与URI资源。


Delete

Delete方法删除指定的资源。跟踪TRACE方法相呼应接收到的请求,使客户端可以看到(如果有的话)修改或补充已经由中间服务器进行。


OPTIONS
选项方法返回该服务器支持对指定的HTTP方法URL。这可以用于通过请求而不是特定资源'*'来检查Web服务器的功能。

CONNECT
 CONNECT方法转换请求连接到一个透明的TCP / IP隧道,通常以方便SSL -encrypted通信(HTTPS)通过未加密的HTTP代理。


持久连接
在HTTP / 0.9和1.0,在连接单个请求/响应对后关闭。在HTTP /导入1.1保活机制,其中,一个连接可以用于一个以上的请求被重用。这样的持久连接减少请求延迟事倍功半,因为客户端并不需要重新协商TCP 3路握手连接的第一个请求已发送之后。另一个正面的副作用是,在普通的连接与由于TCP的时间变快慢启动 -mechanism。

该协议的1.1版也做了带宽优化改进HTTP / 1.0。例如,HTTP / 1.1引进了块传输编码,允许在持久连接的内容进行流而不是缓冲。HTTP管线进一步减少延迟时间,让客户等待每个响应之前发送多个请求。另外除了协议是字节服务,其中服务器传送由客户明确要求资源的那部分。



HTTP会话状态
HTTP是一个无状态的协议。无状态协议不需要HTTP服务器保留关于每个用户的多个请求的持续时间信息或状态。然而,一些Web应用程序实现的状态或服务器端会话例如使用的HTTP cookies或隐变量中Web表单。


加密连接
建立一个加密的HTTP连接的最常用的方法是HTTP安全。其他两种方法建立一个加密的HTTP连接也存在:安全超文本传输协议,并使用HTTP / 1.1升级头指定升级到TLS。对于这两个浏览器的支持,然而,几乎不存在。


请求消息
请求消息由以下部分组成:
请求行(比如GET /images/logo.png HTTP / 1.1,它要求一个称为资源/images/logo.png从服务器)。
请求头字段。
一个空行。
可选的消息体。

请求行等标题字段必须每一端<CR> <LF>(即一个回车符后跟一个换行符字符)。空行只能由<CR> <LF>,并没有其他的空格。在HTTP / 1.1协议,但所有头字段主机是可选的。

仅包含路径名的请求线被服务器接受的HTTP / 1.0规范之前,以保持与HTTP客户端兼容RFC 1945。


响应消息
该响应消息包括以下的:
状态行其中包括状态代码和原因的信息(例如,HTTP / 1.1 200 OK,这表明客户端的请求成功)。
响应报头字段(例如,内容类型:text / html的)。
一个空行。
可选的消息体。


状态行等标题字段都必须与结束<CR> <LF>。空行只能由<CR> <LF>并没有其他的空格。[27]对于这种严格要求<CR> <LF>在邮件正文中有所放宽统一使用其他系统的换行符,如<CR>或<LF>独自一人。


POST和GET的区别

POST是某一张请求方法由支持HTTP通过所使用的协议万维网。通过设计,POST请求方法请求一个Web服务器接受并存储括在所述请求消息的主体中的数据。上传文件或提交完成时它通常用于网络表单。

与此相反,在HTTP 的GET请求方法被设计成从服务器检索信息。作为GET请求的一部分,一些数据可以在网址内通过查询串,指定例如搜索术语,日期范围,或其他信息,它定义该查询。作为POST请求的一部分,任何类型的数据的任意数量可以在请求消息的主体中发送到服务器。一个报头字段中的POST请求通常表明邮件正文的互联网媒体类型。


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值