http协议浅析

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.edu
Connection:close
.....//

HTTP响应报文

这里写图片描述

//响应报文实例
HTTP/1.1 200 OK
Connection:close
Date:Tue,09 AUg 2011 15:44:04 GMT
Server:Apache/2.2.3
Last-Modifier: Tue,09 Aug 2011 15:11:03 GMT
Content-Length:6821
Content-Type:text/html

data.....
  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服务器保持连接多长时间。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值