HTTP简介

一、HTTP简介。

    HTTP的发展是万维网协会(World Wide Web Consortium)和Internet工作小组(Internet Engineering Task Force)合作的结果,他们最终发布了一系列的RFC,其中最著名的就是RFC 2616。RFC 2616定義了HTTP協議中一個現今被廣泛使用的版本——HTTP 1.1。

    HTTP是一个客户端和服务器端请求和应答的标准(TCP)。客户端是终端用户,服务器端是网站。通过使用Web浏览器、网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认端口为80)的HTTP请求。我们称这个客户端为用户代理(user agent)。应答的服务器上存储着一些资源,比如HTML文件和图像。我们称这个应答服务器为源服务器(origin server)。在用户代理和源服务器中间可能存在多个中间层,比如代理,网关,或者隧道(tunnel)。尽管TCP/IP协议是互联网上最流行的应用,HTTP协议并没有规定必须使用它和基于它支持的层。事实上,HTTP可以在任何其他互联网协议上,或者在其他网络上实现。HTTP只假定其下层协议提供可靠的传输,任何能够提供这种保证的协议都可以被其使用。

    通常,由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器向客户端发回一个状态行,比如"HTTP/1.1 200 OK",和响应的消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。HTTP使用TCP而不是UDP的原因在于打开一个网页必须传送很多数据,而TCP协议提供传输控制,按顺序组织数据,和错误纠正。
   
二、HTTP请求过程。

 (1) 客户机与服务器建立连接
与服务器建立连接,就是与SOCKET 建立连接,因此要指定机器名称、资源名
称和端口号,可以通过URL 来提供这些信息。URL 的格式为:
HTTP://<IP 地址>/[端口号]/[路径][?<查询信息>] ,例如:
[url]http://www.vfast.com/index.php?op=ShowProductDetail&product_id=1[/url]
资源的缺省值是INDEX 或DEFAULT,端口号缺省为80。

 (2) 客户向服务器提出请求
请求信息包括希望返回的文件名和客户机信息。客户机信息以请求头发送给服
务器,请求头包括HTTP 方法和头字段。
HTTP 方法常用的有GET、HEAD、POST,而PUT、DELETE、LINK、UNLINK
方法许多HTTP 服务器都不使用。
头字段(通常叫做HTTP 头)包括:
DATE:请求发送的日期和时间
PARGMA:用于向服务器传输与实现无关的信息。这个字段还用于告诉代理
    服务器,要从实际服务器而不是从高速缓存取资源
FORWARDED:可以用来追踪机器之间,而不是客户机和服务器的消息。这
    个字段可以用来追踪在代理服务器之间的传递路由。
MESSAGE_ID:用于唯一地标识消息
ACCEPT: 通知服务器客户所能接受的数据类型和尺寸。(*/*表示可以接受
    所有类型的数据。
AOTHORIZATION:向服务器提供旁路安全保护和加密机制,若服务器
    不需要这个字段,则不提供这个字段
FROM:当客户应用程序希望想服务器提供有关其电子邮件地址时使用
IF-MODEFIED-SINCE 用于提供条件GET。如果所请求的文档自从所指定的
    日期以来没有发生变化,则服务器应不发送该对象。如果所发送的日期格式不合法,
    或晚于服务器的日期,服务器会忽略该字段。
BEFERRER:向服务器进行资源请求用到的对象
MIME-VERTION:用于处理不同类型文件的MIME 协议版本号
USER-AGENT:有关发出请求的客户信息

 (3) 服务器对请求作出应答
服务器收到一个请求,就会立刻解释请求中所用到的方法,并开始处理应答。
服务器的应答消息也包含头字段形式的报文信息。
报文第一行是状态行,格式为:
<HTTP 版本号><状态代码><解释短语>
状态码是个三位数字码,分为四类:
以2 开头,表示请求被成功处理
以3 开头,表示请求被重定向
以4 开头,表示客户的请求有错
以5 开头,表示服务器不能满足请求
例如,访问一个不存在的网页或目录时返回的响应,注意
浏览器的标题栏中的代码404就是返回的状态码:
 解释短语是对状态码的解释。例如 Not Found 是对404 的解释。
响应报文除了返回状态行,还向客户返回几个头字段,如:
DATE:服务器的时间
LAST-MODIFIED:网页最后被修改的时间
SERVER:服务器信息
CONTENT _TYPE:数据类型
RETRY_AFTER:服务器太忙时返回这个字段
WWW_AUTHENTICATE:当服务器的安全机制要求客户发送某中授权信息时
使用该字段
报文最后是实体信息,即客户请求得到的HTTP 服务器上的资源内容。
(4) 关闭客户与服务器之间的连接

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值