Http:
不安全。可以很容易被拦截,或者其他的嗅探工具发现。怎么样做到安全?起码一下两点:
1、浏览器和we服务器之间的内容应该只有浏览器和web服务器能看到通信内容。
2、Http请求和Http的请求响应内容不会被第三方篡改
我们肯定会想到加密算法,对称和非对称加密,DES,RSA等。Page16。对称加密是密钥同时扮演加密和解密的角色,只要不公开密钥,并且密钥安全就可以保证安全。非对称加密,不同客户端和服务器间使用不同对称加密算法,通过协商解决。
Https:
就是加密后的http,浏览器客户端和web服务器传输的数据是加密的,只有浏览器和服务端知道内容。HTTPS=HTTP+TLS或者SSL,采用HTTPS的网站需要去数字证书认证机构申请证书CA机构。通过这个证书,浏览器在请求数据前与web服务器有几次握手验证,以证明相互的身份,然后将HTTP请求加密响应。
抓包的时候切记去申请证书,移动端和电脑上。
Tunnel to请求:
这是握手验证请求。对于日常抓包可能没太大用途,可以将它隐藏。
证书:
DO_NOT_TRUST_FiddlerRoot,这是fiddler作者开的小玩笑,看了书才知道,一直不知道为啥是证书还不要相信,哈哈哈!
URL中的锚点:
锚点是一种超链接,是页面内部的超链接:http://xxxxxx.com/xx/sss.html#orgin,#号右边就是锚点。
常见的请求方法(我不熟悉的):
HEAD和PUT。HEAD:类似于get,返回的响应中没有具体内容,用于获取报文头。PUT:从客户端想服务器传送的数据取代指定文档的内容。
PUT和PATCH方法:都是局部更新。区别:PUT是接受整个完整对象去更新某个局部的内容。PATCH的话是只接受指定更新局部去更新对应局部的内容。PUT是幂等性,PATCH不是幂等性。POST不是幂等,GET是幂等的,DELETE是幂等性。多次请求结果都是一样的,具体的可能暂时还不能表达很清楚,我看了一篇博客很好,我贴个连接:https://www.jianshu.com/p/9d46a730284e
状态码:
状态码5大类,1xx(信息提示,标识请求已被成功接受,继续处理),2xx(成功),3xx(重定向,要想完成请求,必须有更进一步的处理),4xx(客户端错误),5xx(服务器错误)
常见不熟悉的:301(永久性重定向),401(禁止访问,未授权错误)。301和302的区别,301:某个网站永久更换了域名,访问老域名连接时候,返回location,拿到新的地址直接访问新的地址。302(做临时重定向):例如:404抛错页面重定向到某个其他分流页面。
204:咩有内容,返回的http请求中只有header和一个状态行,没有实体内容,没有响应body。
206:部分内容,例如:流媒体技术,在线视频可以边下载边看,就会返回206,range中会返回字节数据长度范围。
403:web客户端请求被web服务器拒绝了,在body中可以查看错误原因。
503:服务器暂时不可用,标识服务器过载或者维护,临时的状况,一会儿会恢复。