童话说说技术创业美文职业
投稿投诉
职业母婴
职场个人
历史治疗
笔记技能
美文纠纷
幽默家庭
范文作文
乐趣解密
创业案例
社会工作
新闻家居
心理安全
技术八卦
仲裁思考
生活时事
运势奇闻
说说企业
魅力社交
安好健康
传统笑话
童话初中
男女饮食
周易阅读
爱好两性

程序员别唬我系列之:HTTPHeader

1月25日 听雨眠投稿
  HTTP里头到底都是些什么?
  有朋友在后台留言,询问如何区分用户是在普通浏览器还是在微信里面打开自家网站的,我是建议他看下UA的故事这篇历史文章,然后留下这段微信的UA:Mozilla5。0(LAndroid6。0。1;SMG9006VBuildMMB29U;wv)AppleWebKit537。36(KHTML,likeGecko)Version4。0Chrome48。0。2564。106MobileSafari537。36MicroMessenger6。3。15。49r8aff805。760NetTypeWIFILanguagezhCN
  通过UA,服务器可以知道用户在什么浏览器上浏览网页,如果还想知道一些其它信息,应该从哪来查到呢?答案就是HTTP协议的Header。HTTP协议的Header是一块数据区域,分为两种类型,客户端向服务区发送请求时带的是请求头,而服务器响应客户端数据时,带的是响应头。请求头里面主要是一些客户端的基础信息(UA就是其中的一部分),而响应头里面是响应数据的一些信息,以及服务器要求客户端如何处理这些响应数据的指令。
  我们来看栗子,这是打开豆瓣主页的一个请求头,里面的关键信息有:
  accept,表示当前浏览器可以接受哪些文件类型,注意哦这里有imagewebp,表示我的浏览器可以支持webp格式的图片,那么如果服务器给我下饭webp的图片,可以更省流量
  acceptencoding,表示当前浏览器可以接受的数据编码,如果服务器吐出的数据不是浏览器可接受的编码,那么乱码导致的悲剧告白还会重演
  acceptlanguage,表示当前使用的浏览语言,我的电脑当然是中文啦,当然一些英文也能接受:)
  cookie,了解一些cookie知识的同学都知道,很多和用户相关的信息都存在cookie里,用户在向服务器发送请求数据时会带上。比如一个网站你登录了一次之后,就不用再登录了,就是因为你的登录成功的token放在cookie中了,而且每次请求都发送给服务器,服务器就知道你是一个已登录用户
  useragent,就是上面提到的UA,表示的是浏览器的版本信息
  当服务器收到我的这个请求后,会经过一系列处理,返回我一个数据包,而响应头里面,就会描述这个数据包的基本信息,里面的关键信息有:
  contentencoding,表示这次回包是以gzip格式压缩编码的,这种压缩格式可以减少流量的消耗
  contentlength,表示这次回包的数据大小,如果数据大小不匹配,要当作异常处理
  contenttype,表示数据的格式,它是一个html页面,同时页面的编码格式是utf8,按照这些信息,可以正常的简析出内容。contenttype为不同的值时,浏览器会做不同的操作,如果contenttype是applicationoctetstream,表示数据是一个二进制流,此时浏览器会走下载文件的逻辑,而不是打开一个页面
  setcookie,图中没有,但是大家经常遇到,就是服务器通知浏览器写入一个cookie
  location,这个图中也没有,也是经常遇到的,那就是重定向,比如你请求的是www。douban。com,检测到你用的是手机浏览器,就把你的请求重定向到m。douban。com
  通过HTTP的Header,可以识别出用户的一些详细信息,方便做更为定制化的需求,如果你想探索一下自己发出的请求中头里面有些什么,你可以这样做:打开Chrome浏览器并按下F12,唤起Chrome开发者工具,选择network这个tab,你发出的每个请求的详情都会在这里显示了。
  尽情的玩耍吧~
投诉 评论 转载

产品跨职业技能学习:渠道商务都在做什么?产品经理除了了解自身业务外,有必要对互联网公司的各个岗位都所有认知,这样才好方便沟通,迅速理解业务需求,因此这篇文章就想和大家聊聊渠道BD这个岗位。渠道BD,是我在网易新……产品经理如何用DISC沟通,赢得程序员的“好人缘”?应对不同的程序员,你应该懂得对症下药,才能实现有效沟通。贯穿产品经理职业生涯的一项重要技能,就是“沟通”。在产品遍地开花、趋于相似的时代里,产品经理的软技能显得尤为重要,……TOB入门与不同需求文档的应用场景今天给大家带来的是几种产品需求写作方法,以及它们的优缺点。一、流程的划分随着C端产品的不断完善和市场扩充,让传统行业看到了互联网他们的魅力所在,由此如今的TOB行业……小明与老王的日常:学会做这4件事,让你的产品提前上线(4)《老王与小明的日常》系列马上就要收尾了。而这篇文章,会介绍如何进行产品测试,同时也是本系列的一个总结。太多的产品新人,甚至于工作一两年的产品汪,在开发阶段往往出现很多对接……产品经理如何找感觉?如果你还处于一个复制别人思想,无法进行自我分析和产品设计的阶段,那应该沉下心来,花时间培养产品感觉。同样是产品经理,有人创造了一个生态,有人却连简单的业务逻辑都梳理不出来……从0到1,B端产品MVP阶段小结从零到一,toB端的产品的MVP阶段结束,总结记录一下其中的得失和思考。小团队,没有很多的方法论,以对具体事情做的思考,做总结了。产品1。产品开始前,产品部门一定要……产品总监修炼之道精彩回顾2天,4位大咖亲授,掌握PM进阶4大本文来自神策数据创始人CEO桑文锋、奇鱼微办公副总裁黄喆、乐逗游戏用户研究负责人K叔,以及美的电商公司运营总监潘至鹏的分享,主要为大家传授产品总监必备知识体系,讲述一线……程序员常讲的直出是个什么鬼?直出到底是个什么鬼?大家好,果果又来扫盲了。今天要科普的这个技术,叫直出。听起来一愣一愣的是吧?这东西,跟技术八竿子打不着啊,反而像是某数字网站上的异国语言呢。程序员,你……程序员别唬我系列之:HTTPHeaderHTTP里头到底都是些什么?有朋友在后台留言,询问如何区分用户是在普通浏览器还是在微信里面打开自家网站的,我是建议他看下UA的故事这篇历史文章,然后留下这段微信的UA:M……我为什么要当产品经理?自从响起了“人人都是产品经理”的口号后,很多人疯狂想进入产品这个行业。但你真的了解什么是“产品经理”吗?“产品经理”应该具备哪些能力?今天我从个人的角度分享一些知识送给3到0的……PRD之道:活用Axure快速撰写轻便的需求文档PRD对产品开发的重要性无需多费笔墨,但PM们经常遇到一个尴尬,“写多了大家未必都会看;写少了又怕别人不懂。”实际上,PRD的问题不在于如何写而在于让团队能够理解业务,以及开发……大公司和小公司做产品的6个区别大公司和小公司的产品有什么区别?文章分析了其中的6个区别,帮助你更好地理解大小公司的产品工作。身边有一些做产品的朋友挤破脑袋想进大公司,对进大公司有一种执念,主要还是因为……
视觉层面的思考:6个为新手用户设计的策略如何用科学方法帮你提升用户粘性?深入浅出!全方位科普移动端导航的七种设计模式产品视角下推荐排序系统的冷启动问题(一)最新的UX挑战:个性化设计产品设计中的点线面法则那些看起来很棒的信息可视化图标是怎么设计的?基于Gestalt原则的一些设计思考基于行为科学的产品设计方法四步设计有影响力的产品这3个点,新人在规划产品时要注意设计边界:理想的设计与现实的制约微信朋友圈技术之道:三个人的后台团队与每日十亿的发布量
杨绛我与岁月一样,言不由衷待产需要带献血证吗小人物亦有民族气节,看完八佰后我想对他们说声谢谢钻展让这个夏天生意火热没有金刚钻别揽瓷器活,不是富婆,就别包养男模读书应该怎样培养思考的习惯?不是陈梦!不是王曼昱!亚洲杯为何邀请朱雨玲孙颖莎,胖子为难通过手机App免费查看谷歌地球,卫星影像清晰度实在不可思议如果没有马斯克,特斯拉会拉胯吗?好闺蜜连大姨妈也一起来这是真的吗七朵玫瑰代表什么(七彩玫瑰花语)年龄总是如期而来,忧愁总是不请自来

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找作文动态热点娱乐育儿情感教程科技体育养生教案探索美文旅游财经日志励志范文论文时尚保健游戏护肤业界