HTTP有关知识
Cookie
调用Cookie时,由于可校验Cookie的有效期,以及发送方的域,路径,协议等信息,所以正规发布的Cookie里面的内容不会因来自其他web站点和攻击者的攻击而泄露。
Set-Cookie --- 开始状态管理所使用的Cookie信息 --- 响应首部字段
Cookie --- 服务器所收到的Cookie信息 --- 请求首部字段
Set-Cookie: status=enable; expires=tue,20 Sep 2016 13:26:31 GMT; path=/; damain=.hackr.jp;
secure属性:用于限制web页面只在HTTPS安全链接时才可以发送Cookie;
Set-Cookie: name=value; secure
HttpOnly属性
扩展属性,利用javascript脚本无法获取Cookie,防止跨站脚本攻击(Cross-site scripting,XSS)对Cookie信息的窃取。
HTTP的不足:
①通信使用明文,不加密,内容有可能会被监听;
②不验证通信方身份,有可能遭到伪装;
③无法验证报文的完整性,所以有可能已遭篡改;
这些问题不仅在HTTP中出现,在其他未加密的协议中也会出现类似的问题。
SSL + HTTP = HTTPS(HTTP over SSL) SSL(secure socket layer,安全套接层)
HTTP协议的实现本身非常简单,无论谁发送过来的请求都会返回响应,因此不确认通信方,会存在以下隐患:
- 无法确定请求发送至目标的服务器是否按照真实意图返回响应的那台服务器,有可能是已伪装的服务器;
- 无法确定响应返回到的客户端是否按照真实意图接收响应的那个客户端,有可能是已伪装的客户端;
- 无法确定通信双方是否具备访问权限。因为某些web服务器上保存这重要的信息,只想发给特定用户通信的权限;
- 无法判定请求来自何方,出自谁手;
- 即使无意义的请求也会照单全收。无法阻止海量请求下的DoS攻击(Denial of Service,拒绝服务攻击);
- 无法查明对手的证书。
把添加了加密及认证机制的HTTP称为HTTPS HTTP+通信加密+证书+完整性保护。
HTTP+SSL/TSL 通常HTTP直接和TCP通信,当使用SSL时,变为先和SSL通信,再由SSL和TCP通信。
HTTP有关知识的更多相关文章
- 你必须知道的EF知识和经验
注意:以下内容如果没有特别申明,默认使用的EF6.0版本,code first模式. 推荐MiniProfiler插件 工欲善其事,必先利其器. 我们使用EF和在很大程度提高了开发速度,不过随之带来的 ...
- MySQL高级知识- MySQL的架构介绍
[TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...
- 学点HTTP知识
不学无术 又一次感觉到不学无术,被人一问Http知识尽然一点也没答上来,丢人丢到家了啊.平时也看许多的技术文章,为什么到了关键时刻就答不上来呢? 确实发现一个问题,光看是没有用的,需要实践.看别人说的 ...
- java中的字符串相关知识整理
字符串为什么这么重要 写了多年java的开发应该对String不陌生,但是我却越发觉得它陌生.每学一门编程语言就会与字符串这个关键词打不少交道.看来它真的很重要. 字符串就是一系列的字符组合的串,如果 ...
- [C#] C# 知识回顾 - 你真的懂异常(Exception)吗?
你真的懂异常(Exception)吗? 目录 异常介绍 异常的特点 怎样使用异常 处理异常的 try-catch-finally 捕获异常的 Catch 块 释放资源的 Finally 块 一.异常介 ...
- [C#] C# 知识回顾 - 学会处理异常
学会处理异常 你可以使用 try 块来对你觉得可能会出现异常的代码进行分区. 其中,与之关联的 catch 块可用于处理任何异常情况. 一个包含代码的 finally 块,无论 try 块中是否在运行 ...
- [C#] C# 知识回顾 - 学会使用异常
学会使用异常 在 C# 中,程序中在运行时出现的错误,会不断在程序中进行传播,这种机制称为“异常”. 异常通常由错误的代码引发,并由能够更正错误的代码进行 catch. 异常可由 .NET 的 CLR ...
- [C#] C# 知识回顾 - 异常介绍
异常介绍 我们平时在写程序时,无意中(或技术不够),而导致程序运行时出现意外(或异常),对于这个问题, C# 有专门的异常处理程序. 异常处理所涉及到的关键字有 try.catch 和 finally ...
- [.NET] C# 知识回顾 - Event 事件
C# 知识回顾 - Event 事件 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6060297.html 序 昨天,通过<C# 知识回顾 - ...
- [.NET] C# 知识回顾 - 事件入门
C# 知识回顾 - 事件入门 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6057301.html 序 之前通过<C# 知识回顾 - 委托 de ...
随机推荐
- linux note
用 &&组合两个命令,比如: cd dir && ls
- firemonkey打开子窗体
procedure TForm1.Button1Click(Sender: TObject);varChildForm: TForm2;beginChildForm := TForm2.Create( ...
- Xamarin生成的APK大小分析
原文:Xamarin生成的APK大小分析 刚接触Xamarin都会被Xamarin的售价吓一跳,另外就是它生成的APK大小,官方也有相关的说明,这里加上自己的理解同意讲解下: 以下是针对Android ...
- poj2140---herd sums
#include<stdio.h> #include<stdlib.h> int main() { ,i,j; scanf("%d",&n); ;i ...
- 深入理解java虚拟机---读后笔记(垃圾回收)
运行时数据区,主要包括方法区.虚拟机栈.本地方法栈.堆.程序计数器,该部分内存都是线程隔离的. 然后和其交互的有执行引擎.本地库接口,此部分线程之间是可以共享的. 1. 引用计数算法 给对象添加一个引 ...
- virsh VMI deploy data serial xml
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> <name> ...
- hdu3280Equal Sum Partitions (区间DP)
Problem Description An equal sum partition of a sequence of numbers is a grouping of the numbers (in ...
- android中退出当前应用程序的四种方法
android中退出当前应用程序的四种方法 [IT168 技术]Android程序有很多Activity,比如说主窗口A,调用了子窗口B,如果在B中直接finish(), 接下里显示的是A.在B中如何 ...
- CocoaPods 安装和使用
CocoaPods的安装 >1. 打开终端, 输入 gem sources -remove https://rubygems.org/ >2. 再输入 gem sources -a htt ...
- Excel Sheet Row Numbers
Given the sequence S1 = {a,b,c,d,…,x,y,z,aa,ab,ac…. } and given that this sequence corresponds (term ...