2018.9.13学习日记(《图解Http》摘抄)

今天网购的《图解http》送到了,所以今天主要看这本书。
(其实因为看了一些网上面试经验,对自己的项目经历(与应聘岗位没多大关系)耿耿于怀,导致一整个白天毫无干劲)

请求报文是由 请求方法,请求URI(。),协议版本,可选的请求首部字段 和 内容实体 构成的。如:

·方法+URI+协议版本
POST /form/entry HTTP/1.1  
·请求首部字段
Host: hackr.jp
Connection:keep-alive
Content-Type:application/x-www-form-urlencoded
Content-Length:16
·内容实体
name=ueno&age=37

响应报文基本上由 协议版本、状态码、原因短语、可选的响应首部字段 和 实体主体 构成。如:

·协议版本+状态码+状态码的原因短语
HTTP/1.1 200 OK
·响应首部字段
Date: Tue, 10 Jul 2012 06:50:15 GMT
Content-Length:362
Content-Type:text/html
·空一行
·主体
<html>
...

HTTP是以一种不保存状态的协议。Cookie技术提供保持状态。

HTTP/1.1中可以使用的方法:
GET(获取资源)、POST(传输实体的主体)、PUT(传输文件,不常用)、HEAD(获取报文首部)、DELETE(删除文件,不常用)、OPTIONS(询问支持的方法)、TRACE(追踪路径,不常用)、CONNECT(要求用隧道协议连接代理)

HTTP/1.1实现默认持久连接:在任意一端没有提出断开连接情况下,保持TCP连接状态(早期HTTP协议每进行一次HTTP请求就会断开一次TCP连接,开销很大)
管线化:实现并行发送请求,无需等待响应

Cookie技术:在请求和响应报文中写入Cookie信息来控制客户端状态。
客户端发送请求-->服务器生成Set-Cookie字段并在响应请求中添加然后返回响应请求-->客户端保存Cookie,在下一次发送请求中会加入Cookie表明“身份”
(相当于办会员卡、办身份证的样子www)

报文首部字段一般分为:通用首部,请求首部,响应首部,实体首部

状态码类别:
1XX            信息性状态码            接受的请求正在处理
2XX            成功状态码            请求正常处理完毕
3XX            重定向状态码            需要进行附加操作以完成请求
4XX            客户端错误状态码        服务器无法处理请求
5XX            服务器错误状态码        服务器处理请求出错

常见状态码:

200 OK 表明客户端发来的请求在服务器端被正常处理了
204 No Content 表明服务器接收的请求已成功处理,但不返回实体的主体(页面不发生更新)
206 Partical Content 表明客户端进行范围请求且服务器成功执行了这部分GET请求

301 Moved Permanently 永久性重定向,表明请求的资源已被分配了新的URI(原先URI过期了)
302 Found 临时性重定向
303 See Other 与302类似,但返回明确要求客户端用GET获取资源
(当301、302、303响应状态码返回时,几乎所有的浏览器都会把POST改成GET,并删除请求报文内的主体,之后请求会自动再次发送)
304 Not Modified 表示客户端发送附带条件的请求时,服务器允许其请求访问资源,但未满足条件,直接返回304,并不包含任何响应的主体部分(客户端可以使用缓存)
307 Temporary Redirect 临时重定向 跟302几乎相同,不过浏览器不会把POST改为GET

400 Bad Request 请求报文中存在语法错误 
401 Unauthorized 第一次弹出认证窗口,第二次表示认证失败
403 Forbidden 请求资源的访问被服务器拒绝了
404 Not Found 表明服务器上无法找到请求的资源,也可以在服务器拒绝请求且不想说明原因时使用(= =|||真是任性)

500 Internal Server Error 服务器端在执行请求时发生错误,可能存在bug
503 Service Unavailable 服务器处于超负载或者停机维护中,无法处理请求
(状态码和状态不一致的情况是存在的,比如web应用程序内部发生错误,状态码可能依然返回200 OK)

通信数据转发程序:代理、网关、隧道

使用代理服务器:利用缓存技术减少网络带宽的流量;组织内部针对特定网站的访问控制…………方法主要分为两类:是否使用缓存、是否会修改报文
缓存代理:代理转发响应时,会预先将资源的副本(缓存)保存在代理服务器上。下一次收到对相同资源的请求时,可以将之前缓存的资源作为相应返回。
透明代理:转发请求或响应时,不对报文做任何加工

网关:工作机制与代理类似,网关能使通信线路上的服务器提供非HTTP协议服务,网关还能提高通信的安全性

隧道:不会去解析HTTP请求;目的是确保客户端与服务器的安全通行

缓存:指代理服务器或客户端本地磁盘内保存的资源副本。利用缓存可减少对源服务器的访问,节省了通信流量和通信时间。
代理服务器会向源服务期确认资源的有效性。
IE将客户端缓存称为 临时网络文件
 

(maye今天知道舰b上线PS4平台做成3D海战了,而且还是地雷社做的……)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值