我正在创建一个Web应用程序,允许用户提交各种内容的URL链接。很标准。然后该站点跟随URL并下载其内容。我很快意识到这是一个潜在的安全问题。用户可以轻松地将我链接到巨大的图像甚至只是垃圾数据。显然我不想占用我所有的带宽下载。所以我有一般的练习网络编程问题。
我可以信任他们发送给我的HTTP标头多少钱?据推测,整个事情可能都是谎言。我可以依赖内容长度属性,还是可以轻松制作? MIME类型怎么样?
记住问题1,这是否意味着最好将所有内容视为流,以块的形式下载,然后在超出特定数据限制后中止流程?如果是这样,如果我下载单个图像和普通HTML页面,那么适当的限制是什么?
有点偏离主题,但是什么HTTP状态代码通常被认为是好的(基本上,如果我看到这些代码,我会给我的应用程序继续以块的形式获取网站的主体)?除了200以外还有什么?
任何人都可以推荐一本体面的书(最好是在线),涵盖这种类型的信息,最好是用Python或只是语言不可知。
谢谢!
答案 0 :(得分:2)
是的,整个回复可能都是谎言。 HTTP服务器应该遵守协议,但您永远不能确定恶意服务器不会向您发送损坏的数据。
是的,您应该在实际内容长于内容长度中声明的内容或超过某个阈值后中止。对于极限值,您需要进行试验。 Here对此进行了一些研究。也许每个网页5MB将是一个良好的开端。
您可能会遵循重定向(301),但除此之外只有200个。