超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的www文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。
技术架构:
HTTP是一个客户端和服务器端请求和应答的标准(TCP)。客户端是终端用户,服务器是网站。通过使用Web浏览器、网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认端口为80)的HTTP请求。称这个客户端就用户代理(user agent)。应答的服务器上存储着一些资源,比如HTML文件和图像。在用户代理和源服务器中间可能存在多个中间层,比如代理,网关,或者隧道。尽管TCP/IP协议是互联网最流行的应用,HTTP协议并没有规定必须使用它和基于它支持的层。事实上,HTTP可以在任何其他互联网协议上,或者在其他网络上实现。HTTP只假定(其下层协议提供)可靠的传输,任何能够提供这种保证的协议都可以被其使用。
通常,有HTTP客户端发起一个请求,建立一个到服务器指定的端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器向客户端发回一个状态行,比如“HTTP/1.1 200 OK”,和响应的消息,消息的消息体可能是请求的文件,错误消息,或者其它一些信息。HTTP使用TCP而不是UDP的原因在于打开一个网页必须传送很多数据,而TCP协议提供传输控制,按顺序组织数据,和错误纠正。
通过HTTP或者HTTPS协议请求的资源由统一资源标示符(Uniform Resource Identifiers)(或者,更准确一些,URLs)来标识。