你需要知道的关于HTTP的一切
HTTP(超文本传输协议)提供网络浏览器和服务器用于通信的网络协议标准。 访问网站时很容易识别,因为它是正确写入URL (例如http:// www。 )。
该协议与其他FTP类似,因为客户端程序使用该协议从远程服务器请求文件。 在HTTP的情况下,它通常是一个Web浏览器,它从Web服务器请求HTML文件,然后在浏览器中显示文本,图像,超链接等。
HTTP就是所谓的“无状态系统”。 这意味着与其他文件传输协议(如FTP)不同 ,一旦请求完成,HTTP连接就会被丢弃。 因此,一旦您的Web浏览器发送请求并且服务器响应该页面,连接就会关闭。
由于大多数Web浏览器默认为HTTP,因此您只能输入域名并让浏览器自动填充“http://”部分。
HTTP的历史
作为定义原始万维网的工作的一部分,Tim Berners-Lee在20世纪90年代早期创建了最初的HTTP。 在20世纪90年代广泛部署了三个主要版本:
- HTTP 0.9(用于支持基本的超文本文件)
- HTTP 1.0(支持丰富网站和可扩展性的扩展)
- HTTP 1.1(开发用于解决HTTP 1.0的性能限制,在Internet RFC 2068中指定)
最新版本HTTP 2.0在2015年成为核准标准。它保持与HTTP 1.1的向后兼容性,但提供了额外的性能增强。
虽然标准HTTP不会对通过网络发送的流量进行加密,但HTTPS标准的开发旨在通过使用(最初) 安全套接字层(SSL)或(以后)传输层安全性(TLS)向HTTP添加加密。
HTTP如何工作
HTTP是建立在使用客户端 - 服务器通信模型的TCP之上的应用层协议。 HTTP客户端和服务器通过HTTP请求和响应消息进行通信。 三种主要的HTTP消息类型是GET,POST和HEAD。
- 发送到服务器的HTTP GET消息只包含一个URL 。 可以将零个或多个可选数据参数附加到URL的末尾。 服务器处理URL的可选数据部分(如果存在),并将结果(网页或网页元素)返回给浏览器。
- HTTP POST消息将任何可选的数据参数放在请求消息的主体中,而不是将它们添加到URL的末尾。
- HTTP HEAD请求与GET请求的作用相同。 服务器不是回复URL的全部内容,而是仅返回头部信息(包含在HTML部分中)。
浏览器通过启动与服务器的TCP连接来启动与HTTP服务器的通信。 Web浏览会话默认使用服务器端口80,但有时也会使用其他端口(如8080)。
一旦会话建立,用户就可以通过访问网页来触发HTTP消息的发送和接收。
HTTP的问题
由于以下几个原因,通过HTTP传输的消息可能无法成功传送:
- 用户错误
- Web浏览器或Web服务器的故障
- 在创建网页时出现错误
- 暂时的网络故障
发生这些故障时,协议捕获故障原因(如果可能)并将错误代码报告给浏览器,称为HTTP状态行/代码 。 错误以特定数字开始,以指示它是哪种错误。
例如,4xx错误指示无法正确完成对页面的请求,或者请求包含不正确的语法 。 例如, 404错误意味着无法找到该页面; 一些网站甚至有一些有趣的自定义404错误页面 。