wordpress 电影下载站,google play服务,海城网站建设,没有版权的图片网站HTTP协议用于在Internet上发送和接收消息。HTTP协议是一种请求-应答式的协议 ——客户端发送一个请求#xff0c;服务器返回该请求的应答#xff0c;所有的请求与应答都是HTTP包。HTTP协议使用可靠的TCP连接#xff0c;默认端口是80。HTTP的第一 个版本是HTTP/0.9#xff0… HTTP协议用于在Internet上发送和接收消息。HTTP协议是一种请求-应答式的协议 ——客户端发送一个请求服务器返回该请求的应答所有的请求与应答都是HTTP包。HTTP协议使用可靠的TCP连接默认端口是80。HTTP的第一 个版本是HTTP/0.9后来发展到了HTTP/1.0现在最新的版本是HTTP/1.1。HTTP/1.1由RFC 2616 定义。 在HTTP 中Client/Server之间的会话总是由客户端通过建立连接和发送HTTP请求包初始化服务器不会主动联系客户端或要求与客户端建立连接。浏览 器和服务器都可以随时中断连接例如在浏览网页时你可以随时点击停止按钮中断当前的文件下载过程关闭与Web服务器的HTTP连接。 1 HTTP请求包 HTTP请求包(GET、POST等请求方法)由三个部分构成分别是方法-URI-协议/版本请求头请求正文。下面是一个HTTP请求包(GET)的例子 GET /index.jsp HTTP/1.1 Accept-Language: zh-cn Connection: Keep-Alive Host: 192.168.0.106 Content-Length: 37 userNamenew_andypasswordnew_andy 请求包的第一行是方法-URI-协议/版本 GET就是请求方法根据HTTP标准HTTP请求可以使用多种请求方法。HTTP 1.1支持七种请求方法GET、POST、HEAD、OPTIONS、PUT、delete和TRACE等常用的为请求方法是GET和POST。 /index.jsp 表示URI。URI指定了要访问的网络资源。 HTTP/1.1是协议和协议的版本。 最 后一行userNamenew_andypasswordnew_andy为正文正文与HTTP头部有一个空行(\r\n)分隔。这里需 要说明的一点其中Content-Length说明正文的长度有的正文长度没有在头部说明只是标明Transfer-Encoding: chunked。关于chunked类型的长度计算方法见RFC 1626。 请求包的头部还会包含许多有关客户端环境和请求正文的有用信息这里不再描述。 2 HTTP应答包 和HTTP请求包相似由三个部分构成分别是协议-状态代码-描述应答头应答正文。下面是一个HTTP应答的例子 HTTP/1.1 200 OK Server: Microsoft-IIS/4.0 Date: Mon, 3 Jan 2005 13:13:33 GMT Content-Type: text/html Last-Modified: Mon, 11 Jan 2004 13:23:42 GMT Content-Length: 90 html head title 解读HTTP包示例/title/headbody Hello WORLD! /body /html HTTP应答包的第一行类似于HTTP请求的第一行表示所用的协议是HTTP 1.1服务器处理请求的状态码200。 应答头也和请求头一样包含许多有用的信息例如服务器类型、日期时间、内容类型和长度等。应答的正文就是服务器返回的HTML页面。应答头和正文之间也用 CRLF分隔。 wiki中的解释 超文本传输协议(HTTPHyperText Transfer Protocol)是互联网上应用最为广泛的一种网络传输协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。 概述 HTTP的发展是万维网协会和Internet工作小组合作的结果在一系列的RFC发布中确定了最终版本其中最著名的是RFC 2616。在RFC 2616中定义了HTTP/1.1这个今天普遍使用的版本。 HTTP是一个用于在客户端和服务器间请求和应答的协议。一个HTTP的客户端诸如一个web浏览器通过建立一个到远程主机特殊端口默认端口为80的连接初始化一个请求。一个HTTP服务器通过监听特殊端口等待客户端发送一个请求序列 就像“GET / HTTP/1.1”用来请求网页服务器的默认页面有选择的接收像email一样的MIME消 息此消息中包含了大量用来描述请求各个方面的信息头序列响应一个选择的保留数据主体。接收到一个请求序列后如果要的话还有消息服务器会发回一 个应答消息诸如“200 OK”同时发回一个它自己的消息此消息的主体可能是被请求的文件、错误消息或者其他的一些信息。 HTTP不同于其他基于TCP的协议诸如FTP。 在HTTP中一旦一个特殊的请求或者请求的相关序列完成连接通常被中断。这个设计使得对于当前页面有规则连接到另一台服务器页面的万维网来说 HTTP是完美的。当持久连接的缺乏成为保持用户状态的必需选择的方法时对网页设计者来说会偶然产生一些问题。而大部分这些方法包括了对“cookies”的使用。 这里有一个HTTP的安全版本称为HTTPSHTTPS支持任何的加密算法只要此加密算法能被页面双方所理解。 HTTP和HTTPS由唯一资源定位器或者简称URLs定位。创造这种地址定位的语法为了HTML的链接。 例子 下面是一个HTTP客户端与服务器之间会话的例子运行于www.google.com端口80 客户端请求 GET / HTTP/1.1
Hostwww.google.com紧跟着一个换行通过敲入回车实现 服务器应答 HTTP/1.1 200 OK
Content-Length: 3059
Server: GWS/2.0
Date: Sat, 11 Jan 2003 02:44:04 GMT
Content-Type: text/html
Cache-control: private
Set-Cookie: PREFID73d4aef52e57bae9:TM1042253044:LM1042253044:SSMCc_HRPCQiqy
X9j; expiresSun, 17-Jan-2038 19:14:07 GMT; path/; domain.google.com
Connection: keep-alive紧跟着一个空行并且由HTML格式的文本组成了Google的主页 在HTTP1.0中客户端发送一个请求至服务器服务器发送一个应答至客户端。之后连接将被释放。另一方面HTTP1.1支持持久连接。这使 得客户端可以发送请求并且接收应答然后迅速的发送另一个请求和接收另一个应答。因为多个额外的请求TCP连接并没有被释放而每个请求中关于TCP的 负载相对较少。同时在得到上一个请求的应答之前发送多个请求通常是两个也成为可能。这个技术被称为“流水线”。