http协议浅析

来源:互联网 发布:淘宝街拍用什么相机 编辑:程序博客网 时间:2024/06/05 20:59

HTTP协议:

http协议是一种基于C/S模式的无状态协议,其既可以使用非持久连接,也可以使用持久连接,默认方式下HTTP使用持久连接。

  • 无状态指的是HTTP服务器并不保存关于客户机的任何信息。
  • 非持久连接指的是每个请求/响应对是经一个单独的TCP连接发送的,而持久连接指的是所有连接以及响应经由相同的TCP连接发送。

HTTP报文格式

这里写图片描述

  1. 请求行有三个字段,方法字段,URL字段和HTTP版本字段。方法字段有GET,POST,HEAD,PUT和DELETE.

    • GET: 请求获取URL所标识的资源
    • POST:在请求的URL所标识的资源后附加新的数据
    • HEAD: 请求获取URL表示的资源的响应消息报头
    • PUT:用户用来将对象上传到指定服务器指定的URL
    • DELETE:删除服务器上的对象。
  2. 首部行由key/value对组成,每对一行,关键字和值用“:”分隔。如:

Host: www.someschool.eduConnection:close.....//

HTTP响应报文

这里写图片描述

//响应报文实例HTTP/1.1 200 OKConnection:closeDate:Tue,09 AUg 2011 15:44:04 GMTServer:Apache/2.2.3Last-Modifier: Tue,09 Aug 2011 15:11:03 GMTContent-Length:6821Content-Type:text/htmldata.....
  1. 状态行有三个字段:协议版本,状态码和相应状态信息。
  2. 状态码由三个数字组成,第一位数字表示响应的类型,常用状态码由如下5类:

    • 1xx:表示服务器已经接受了客户端请求,客户端可继续发送请求
    • 2xx:表示服务器已经成功接受到请求并处理
    • 3xx:表示服务器要求客户端重定向
    • 4xx:表示客户端请求有非法内容
    • 5xx:表示服务器未能正常处理客户端的请求而出现意外错误
  3. 常见状态码:

    • 200 OK:请求成功,信息包含在返回的响应报文。
    • 301 Moved Permanently:请求的对象已经被永久转移了,新的URL定义在响应报文的Location。
    • 400 Bad Request:一个通用差错代码,指示该请求不能被服务器理解
    • 404 Not Found:被请求的资源不存在
    • 500 Internal Server Error:表示服务器发生了不可预期的错误,导致无法完成客户端的请求
    • 503 Service Unavailable:表示服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常
    • 505 HTTP Version Not Supported:服务器不支持请求报文使用的HTTP协议版本。
  4. 首部行关键字如下:

    • Location:用于重定向接受者到一个新的位置
    • Server:包含了服务器用来处理请求的软件信息和版本
    • Connection:指示连接方式。(close表示连接已关闭,keeplive表示连接保持着,在等待本次连接的后续请求)
    • Keep-Alive:如果浏览器请求保持连接,则该头部表示希望web服务器保持连接多长时间。

原创粉丝点击