当前位置: 首页 > Web前端 > HTML5

Web开发中,HTTP的概念详解!

时间:2023-04-05 00:31:22 HTML5

什么是HTTP?HTTP(超文本传输??协议)是用于在Web上传输文件的基础协议,通常在浏览器和服务器之间传输,以便冲浪者可以查看它们。作为URI的一部分,“http://”被称为模式,通常在地址的开头,如“https://developer.mozilla.org”,指示浏览器使用HTTP协议请求文档.此示例中的https指的是HTTP协议的安全版本,称为SSL或TLS。HTTP是基于文本的(所有通信都是纯文本)并且是无状态的(当前通信不会发现先前通信的状态)。此功能非常适合访问www上的网页的人。而且HTTP还可以使网站更加灵活多变,利用AJAX等。1、基于HTTP的组件系统在浏览器和处理请求的服务器之间,由于Web的分层设计,隐藏了网络层和传输层的细节。HTTP处于顶层应用层。虽然底层对于分析网络问题很重要,但是大部分与HTTP的描述无关。用户代理:它是任何可以为用户发起操作的工具。Web服务器:Web服务器服务于并提供客户端请求的文档。代理服务器(Proxies):在浏览器和服务器之间,许多计算机和其他设备转发HTTP消息。由于Web堆栈的层次结构,它们大多出现在对HTTP应用层透明的传输层、网络层和物理层,尽管它们可能对应用层的性能产生重要影响。另一部分表示在应用层,称为代理1、缓存(可以是公共的也可以是私有的,比如浏览器缓存)2、过滤(比如杀毒扫描、家长控制……)3、负载均衡(允许多台服务器同时访问)服务于不同的请求)4.认证(针对不同资源的权限管理)5.日志记录(允许存储历史信息)2.HTTP的基本性质HTTP是无状态的,cookie可以用来创建有状态的会话。在header中添加Cookies,创建session,让每个请求共享相同的上下文信息,实现相同的状态,将两个请求关联起来,比如将两个商品加入购物车!HTTP和连接最常用的两种传输层协议:TCP可靠,而UDP不可靠。因此,HTTP依赖于面向连接的TCP进行消息传递,但不需要连接。设计更好的传输协议以更好地适应HTTP的过程正在进行中。Google开发了一种基于UDP的传输协议,可以提供更可靠和高效的传输。3.HTTP可以控制什么以下是HTTP可以控制的常见特性:缓存:可以通过HTTP控制如何缓存文档。开放同源限制:为了防止网络窥探和其他隐私泄露,浏览器对网站实施分段限制。只有来自同一来源的网页才能获得该网站的全部信息。这种限制有时会成为一种负担。HTTP可以通过修改header来打开这样的限制,这样Web文档就可以从不同域的信息中拼接出来(在某些情况下,这样做是有安全考虑的)authentication:可以保护一些页面,只允许特定的用户访问他们。可以直接通过HTTP提供基本身份验证功能,使用类似于Authenticate的标头,或使用HTTPCookies设置特定会话。ProxyandTunnel:通常,服务器和/或客户端在内网,真实的IP地址对外网是隐藏的。因此,HTTP请求必须通过代理才能跨越这个网络障碍。但并非所有代理都是HTTP代理。例如,SOCKS协议的代理在较低级别运行,一些协议如FTP也可以由它们处理。会话:使用HTTPCookie允许您使用服务器端状态发出请求,这会创建一个会话。4.HTTP流程当客户端要与服务器(服务器是指最终服务器,或中间代理)交换信息时,流程如下:打开一个TCP连接,发送一条HTTP消息,读取service通过服务器返回的消息信息读取服务器返回的消息信息。5.HTTP报文HTTP报文有两种类型,请求和响应,每一种都有其特定的格式。1.Request一个请求由以下几个元素组成:一个HTTP方法,通常是GET、POST这样的动词或者OPTIONS、HEAD这样的名词来定义客户端的动作行为。通常客户端的操作是获取资源(GET方法)或者发送HTML表单表单值(POST方法),虽然在某些情况下也会有其他操作。要获取的资源的路径,通常是从上下文中显而易见的元素资源的URL,没有协议(http://)、域(developer.mozilla.org)或TCP端口(HTTP通常在端口上80)。HTTP协议版本号。用于表达服务器其他信息的可选标头。对于一些像POST这样的方法,消息体中包含发送的资源,类似于响应消息体。2.Response响应消息包含以下元素:HTTP协议版本号。一个状态码(statuscode)来告知相应请求的成功或失败以及失败的原因。状态消息,是对状态码的非权威性描述,可以由服务器自己设置。HTTP标头,类似于请求标头。可选地,与请求消息相比,获得的资源主体更常见地包含在响应消息中。