http protocol

http protocol (by hanlray(at)gmail.com)

base

以Request-Response方式工作,因此有两种messsage:request messsage和response message。每个message由三个部分组成:
  • 一个start line,描述message
  • headers,是一些attributes,必须以空行(CRLF)结束,即使没有headers和下面的body
  • body,负载的数据

request message和response message的差别仅在start line上:

request message
<method> <request-URL> <version>
response message
<version> <status> <reason-phase>

 

在request message的start line里,method字段告诉server应该执行的动作,request-URL则指明在哪个resource上执行该动作,主要的method有:

  • GET 从server端取回指定的resource,没有body
  • PUT 存储body里的数据到server端指定的resource
  • POST 发送body里的数据给server端指定的resource处理

     

GET method的request message是没有body的,如果需要发送数据可以选择把它们编码到URL里,不过对于比较敏感的数据不推荐这样做,因为许多server、proxy和user agent会把request-URI存在某个地方,这样这些数据就可能被暴露给第三方。

cookie

http协议是无状态的,因此server端是无法识别用户的(用IP address显然不是一个好办法),这样就无法实现用户特定的应用(如购物车等)。

当用户第一次访问一个使用cookie的站点,或者向该站点提交用户名/口令通过验证后,该站点为该用户产生一个唯一的ID(任意形式的字符串)来标识该用户并把该值作为http header set-cookie的值送回browser,支持cookie的browser发现是set-cookie的消息就把该站点的domain name和这个cookie值作为一项存入browser的cookie数据库中(可能是一个文件),自此以后向站点发送的http request的headers里都会包括cookie attribute,其值就是保存的cookie值,server端根据收到的这个cookie值就能识别用户,根据不同用户来作相应的响应了。

cookie是有生命期的,短的当退出浏览器就失效,长的则永不过期。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值