《图解http》笔记
转自 http://www.jianshu.com/p/d1c25eaa249a
1.PNG
![1240 1][]
2.PNG
* IP协议
IP协议的作用是把各种数据包传送给接收方,其中IP地址和MAC地址用于确定接收方的位置。IP地址可以通过ARP协议(*Adress Resolution Protocol*) 反查出对应的MAC地址
![1240 2][]
3.PNG
* TCP协议
TCP协议能够将数据准确可靠地传输给接收方,(*三次握手*)。
![1240 3][]
4.PNG
* DNS服务
DNS服务位于应用层。它提供域名到IP地址之间的解析服务
域名易于人类理解,IP地址易于计算机理解
![1240 4][]
5.PNG
* ### 简单结构 ###
http协议用于客户端与服务端之间的通信,切为无状态协议。
通过URI(*Uniform Resource Identifier 统一资源标志符*)定位请求资源,url是URL的一个自己
http方法,常用 post,get
![1240 5][]
6.PNG
一个页面一般会存在很多资源请求,如图片,脚本等资源。每一个请求都进行打开关闭TCP连接操作,增加了通信的开销,页面的加载速度也会变慢。因此,http中又有了持久连接的机制。建立一次连接后可进行多次客户端与服务端之间的交互,直到其中一方明确表示需要断开连接。
![1240 6][]
7.PNG
![1240 7][]
8.PNG
在持久连接基础上可以实现管线化,可以同时发送多个请求。
![1240 8][]
9.PNG
http协议的无状态特性可以减少服务器的CPU以及内存资源的消耗,却也因此无法对用户进行认证。所以就有了Cookie来管理状态,将消耗分担到了每个客户端。
10.PNG
![1240 10][]
11.PNG
![1240 11][]
16.PNG
* 通用字段
1. Cache-Control:用于操作缓存的工作机制,如缓存时间,是否必须向服务器确认等
2. Connection:控制不再转发给代理的首部字段和持久连接,http1.1版本默认的连接都是持久连接
3. Date:表明创建Http报文的日期和时间
4. Transfer-Encoding:规定传输报文主体时采用的编码方式
* 请求首部
1. Accept:通知服务器客户端可以处理的媒体类型以及媒体类型的相对优先级,如 application/json,text/html,image/jpeg等。优先级使用*q=*来表示权重,最大值为1,默认权重为1.0
2. Accept-Language:通知服务器客户端可以处理的语言集以及相对优先级
3. Authorization:用于高速服务区客户端的认证信息。通常在接收到服务器返回的401状态码后,客户端将Authorization加入请求中
4. Host:http1.1规范中唯一一个必须包含在请求内的首部字段,可为空
5. User-Agent:创建请求的浏览器名称等信息
* 响应首部
1. Location:提供重定向的资源地址
2. Server:服务器上安装的http服务器应程序信息
* 为Cookie服务的首部字段
1. Set-Cookie:开始状态管理所使用的Cookie信息(*响应首部*),管理服务器端设置的cookie信息,如expires过期时间,domain所属域名和httponly等
2. Cookie:服务器端收到的Cookie信息(*请求首部*)
* ### 状态码 ###
状态码用于描述服务器端返回的请求结果状态,是正常,错误还是其他。
![1240 12][]
12.PNG
1. 200(*ok*):服务器正常处理了请求
2. 304(*Not Modified*):资源未发生变动,一般浏览器会使用已经缓存过的资源
3. 401(*UNauthorized*):第一次返回表示需要认证,第二次则是表示认证失败
4. 403(*Forbidden*):请求资源的访问被服务器拒绝
5. 404(*Not Found*):服务器上不存在请求的资源
6. 500(*Internal Server Error*):服务器内部错误
13.PNG
缓存代理:预先将服务器上的资源副本缓存在代理服务器上,当客户端对这些已经缓存过了的资源发出请求时,代理不会对服务器发出请求,而是直接返回缓存的资源
2. 网关:接收客户端发送过来的请求,并自行进行处理,利用网关可以将http请求转化为飞http请求,可以提高通信的安全性
![1240 14][]
14.PNG
3. 隧道:用于保持客户端与服务器端通信连接的应用程序,会使用SSL等加密手段进行通信,用于保证客户端与服务器之间通信的安全
![1240 15][]
15.PNG
* ### HTTPS ###
* HTTP的缺点
1. 通信使用明文,可能会被窃听
2. 不会验证通信方的身份,可能遭遇伪装
3. 无法证明报文的完整性,可能遭到篡改
用SSL将通信的报文主体内容进行加密,使用SSL建立http的安全通信线路,SSL处于http与TCP通信之间,这样的SSL与HTTP组合被称为HTTPS
![1240 16][]
17.PNG
使用第三方证书来验证通信双方身份
![1240 17][]
18.PNG
HTTPS由于存在SSL加密,必不可免的会使处理速度会变慢
* ## Web构建 ##
html,css和控制DOM来改变html元素的JavaScript
\-》html5 ,vuejs,angularjs等等
数据格式:xml,json
* ## Web安全 ##
* Web攻击技术
1. SQL注入
欺骗服务器执行恶意的SQL命令
2. XSS(*跨站脚本攻击*)
黑客在HTML页面内注入恶意脚本,当其他用户浏览该网页时,恶意脚本被执行
3. 会话劫持
4. CSRF(*跨站请求伪造*)
黑客在HTML页面内注入恶意脚本,当其他用户浏览该网页时,在不通知用户的情况下对其他站点发送请求
5. 点击劫持
用一个透明的域覆盖在网页某个位置上,当用户点击该位置时,触发脚本
6. DDoS(*分布式拒绝服务*)
作者:转交遇见陈绮贞
链接:http://www.jianshu.com/p/d1c25eaa249a
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
还没有评论,来说两句吧...