深入理解计算机网络-HTTP铸剑

Http

DNS负责域名解析的,他提供域名到ip地址解析

uri 和url

uri是网络中用来标识一个资源的

url是网络中一个资源的路径

uri格式

HTTP协议

包含请求头和请求体

请求报文包含 请求方法, 协议版本,请求路径,首都字段,内容实体

响应报文包含 相应状态码,原因短语,协议版本,相应首部字段,响应内容实体

HTTP不是保存状态的协议

如果用户访问一个商城网站,每次访问不同的页面都需要登录就太费事了,http对待每次访问都是跟新的请求一样。不会记录之前访问过的内容,因此引入cookie

告知服务器意图的方法

GET 用来请求一个资源

POST 用来发送一个资源

PUT 传输文件给 服务器 要求服务器保存

delete 要求服务器删除指定路径的资源

head 和get 很相似,只是不会返回内容实体

option 用来访问请求URI的服务器支持的方法

connect 用来和服务器建立隧道

HTTP持久连接

由于 一次请求中可能请求很多资源,每次请求都要断开重连,因此http1.1后默认所有的连接都是持久连接,一次将所有的请求全部传输完在断开连接,不会传输一个图片就断开连接,在申请连接传输

管线化

不用等待响应在请求,而是一次发送好几个请求

cookie

因为http没办法保存客户端状态,所以引入cookie ,客服端在请求后,服务器端会为其生成一个cooike ,然后记住是谁请求的,然后把cookie发送给客户端,当下次客户端再来请求时,会在请求头首部字段增加cookie ,服务器端看到cookie就会知道是哪个客户端了

HTTP报文结构

压缩传送的内容编码

为了使传送的内容变小我们可以选择先进行压缩,然后再进行传送,等客户端接收到后在进行解压

发送多种数据的多部份对象集合

可能会有不同的资源,有的是文本有的是视频,有的是图片,有的是邮件,所以在http报文中使用这个多部分对象集合时需要在首部添加content-type

可以获取部分资源

在请求头上添加range

内容协商返回最合适的内容

客户端协商,根据客户端支持的语言类型,客户端进行生成对应的网页

服务器协商

根据请求报文中的内容作为参考,返回不同的资源

透明协商,双方同时进行内容协商

状态码

200ok 表示成功
204 nocontent 表示请求成功处理但是没有资源返回
206partialcontent 表示这个请求时请求部分资源,服务器成功执行
301 Moved Permanently 资源路径已经永久更新,重新访问新得路径
302 found 资源路径临时更新到新得路径 希望用户重新访问新得路径
303 see other 和302一样,只不过希望用户重新访问时用get方法
304notmodified 资源已经找到,但是不符合条件
307 Temporary Redirct 和302一样 禁止post 变成个get
401 Unauthorized 表示此请求需要先通过客户端认证
403 forbidden 表示不允许访问那个资源
404notfound 表示服务器没有这个资源
500 internalservererror 表示服务器本身有bug
503 service unavailable 表示服务器正在维护或者处理不过来请求了

HTTP报文首部字段

通用首部字段,请求首部字段 ,响应首部字段,实体首部字段

通用首部字段就是 请求报文和响应报文都有的

请求就是请求报文独有 的

实体首部字段就是用来描述请求体内容的

通用首部字段

请求首部字段

响应首部字段

HTTPs

http +ssl = https

加密处理防止被窃听

1 对通信的加密

通过和ssl 和tsl 的组合使用加密http通信的内容

2内容的加密

对http 报文里面的内容进行加密,但是内容有可能会被篡改

ssl可以提供一种称作证书的手段

ssl相互交换密钥的公开密钥加密技术

共享密钥技术 即 解密和加密用的是同一个密钥但是如何把密钥安全传送给对方是一件难事

ssl 采用公开密钥加密技术 ,即由一个第三方数字认证机构颁发的证书给服务器方,这个证书表名公开密钥是对应的服务器的公开密钥,然后服务器将这个公开密钥发给客户端,客户端可以根据这个公开密钥的认证证书,利用数字认证机构的公开密钥进行验证,如果验证成功,客户端则可以认为这个服务器是真实有效的,服务器的公开密钥是值得信赖的

然后客户端根据这个公开密钥对报文进行加密,然后服务器端接收到后根据私有密钥来解密

https采用混合加密的方式

即先采用公开密钥的方式建立连接, 然后在采用共享密钥的方式发送信息

https比http速度要慢

HTTP认证

核实客户端人身份, 可通过密码,动态令牌,数字证书,生物认证;,IC卡等

如果对方是假冒的用户,但是知道密码,计算机是无法判定对方不是本人的,所以要保存好密码

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值