HTTP

HTTP版本

  • HTTP/0.9
  • HTTP/1.0
  • HTTP/1.0+
  • HTTP/1.1
  • HTTP/NG(又名HTTP/2.0)

URI/URL/URN

URI表示资源标识符,它包括URL和URN。
URL通过资源的位置来标识资源。
URN通过资源的名字来标识资源,与资源所在位置无关。

URL语法(适用大多数协议)
<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>

path中的每一段都可以有一个params,params表示为名值对,用=分割。
query由?和多个名值对组成,名和值之间用=分割,名值对之间用&分割。
frag由浏览器处理。


另外URL有最大长度的限制。
URL的某些必须先进行编码,而且必须对参数和值分别编码,然后连接起来。
在Java中,可使用URLEncoder编码。
解码时,不需要分别解码,在Java中,可使用URLDecoder解码。


HTTP报文结构

  • 起始行
  • 首部字段,首都以一个空行结束
  • 主体
请求报文

<\method> <\request-URL> <\version>
<\headers>

<\entity-body>

响应报文

<\version> <\status> <\reason-phrase>
<\headers>

<\entity-body>

方法

  • GET
  • HEAD:返回的内容不包括实体部分
  • POST
  • PUT:向服务器写入文档。把实体的内容写入所请求的URL命名的文档
  • TRACE:服务器在实体部分携带它收到的请求报文,因为一些中间结点可能会修改请求报文。
  • OPTIONS:请求服务器告知其支持的各种功能
  • DELETE:请求服务器删除请求URL所指定的资源

响应码

  • 100-199 信息性状态码
  • 200-299 成功状态码
  • 300-399 重定向状态码
  • 400-499 客户端错误状态码
  • 500-599 服务器错误状态码

首部

首部格式为:名字:(可选的空格)值CRLF
每个首部可以分为多行,新行前至少有一个空格或制表符

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值