zoukankan      html  css  js  c++  java
  • http头部信息学习

    想的每2周进行知识的总结,自己拖延症有犯了,发现自己知识库量还是太少,平时总结和发现问题还不够深,对待问题的深度也存在很多问题,但是坚持学习,总结,后面应该会有收获,

    1.常见的返回码

    100: 请服务器端继续返回

    200:成功

    301:永久重定向 存的地址永久的改变了  301

    302 : 暂时重定向 302仍然使用老得url

    401 : 无法找到资源file not found

    500服务器内部错误

    501:服务器不支持请求的功能,无法完成请求

    2.http提供的方法

    方法有:get、post、head、put、teace、options、delete

    get和Post的区别:

    本质区别:

    1. get从服务器获取一份文档,而post是向服务器发送内容,如用户登录的就是提交一个post,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。

           2. get提交是把数据存放在url,而post存放在主体

          3.get大小有限制,GET方式提交的数据最多只能是1024字节,理论上POST没有限制,可传较大量的数据,

          4.Get是通过地址栏来传值,而Post是通过提交表单来传值

    比较详细区别推荐:http://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.html

     2.1http的方法

    put 方法: 是创建资源

    Delete:方法是删除资源

    options : 询问支持的方法

    head:与 GET 相同,但只返回 HTTP 报头,不返回文档主体。获得报文首部

    trace: 跟踪 发起一个环回判断。

    有比较好的博客

    http://www.cnblogs.com/yin-jingyu/archive/2011/08/01/2123548.html

    3.http请求头查看

    1.查看请求和响应,有很多工具可以做到如fiddler、浏览器的F12,火狐的firefox,wireshardk

    以下实例用火狐浏览器举例,访问百度实例,用火狐自带的firebug查看,

    插曲,什么是PV什么是UV

    pv:pageview  浏览量   pv页面浏览量或点击量,页面刷新一次计算一次,不排重

    UV:userview  访问量 一个ip就是一个用户

     

    3.1解读头部信息

     

    1.accept:客户端接受服务器端的文件格式,代表服务器端返回什么样类型的格式返回客户端,客户端才能正常识别

    1. accept *:代表所有内容都可以
    2. accept text/javascript:代表返回文本和js
    3. HTTP Header中Accept-Encoding 是浏览器发给服务器,声明浏览器支持的编码类型[1]
    4. accept encoding:可以接受的编码

    2.gzip:压缩格式  压缩数据, 文件上传到服务器压缩,这样传输数据可大大节省带宽    编码:指用什么编码

    3.DEFLATE:是一个无专利的压缩算法,它可以实现无损数据压缩,有众多开源的实现算法、

    常见的有

    • Accept-Encoding: compress, gzip //支持compress 和gzip类型
    • Accept-Encoding: //默认是identity
    • Accept-Encoding: * //支持所有类型 Accept-Encoding: compress;q=0.5, gzip;q=1.0//按顺序支持 gzip , compress
    • Accept-Encoding: gzip;q=1.0, identity; q=0.5, *;q=0 // 按顺序支持 gzip , identity

     

    4.Accept-Language:浏览器设置的语言用于告诉服务器浏览器可以支持什么语言。

    5.Accept-Language:zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3   这里zh-CN 是表示中文,后面的我也不知道是什么

    6.Connection:keep-alive :保持连接,表示长连接,Keep-Alive功能避免了建立或者重新建立连接,对于提供静态内容的网站来说,这个功能通常很有用。但是,对于负担较重的网站来说,这里存在另外一个问题:虽然为客户保留打开的连 接有一定的好处,但它同样影响了性能,因为在处理暂停期间,本来可以释放的资源仍旧被占用。

     

    推荐博客:

    http://www.cnblogs.com/huangfox/archive/2012/03/31/2426341.html

     

    7.Cookie:Cookies就是服务器暂时存放在你的电脑里的资料(.txt格式的文本文件),好让服务器用来辨认你的计算机。当你在浏览网站的时候,Web服务器会先送一小小资料放在你的计算机上,Cookies 会把你在网站上所打的文字或是一些选择都记录下来。当下次你再访问同一个网站,Web服务器会先看看有没有它上次留下的Cookies资料,有的话,就会依据Cookie里的内容来判断使用者,送出特定的网页内容给你 

    8.User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:49.0) Gecko/20100101 Firefox/49.  :访问浏览器的信息

    9.X-Requested-With:Ajax 异步请求方式

    使用request.getHeader("x-requested-with");为 null,则为传统同步请求;

     

     

    3.2响应头信息

    1.Cache-Control:这个字段用于指定所有缓存机制在整个请求/响应链中必须服从的指令,网页的缓存是由HTTP消息头中的“Cache-control”来控制的,常见的取值有private、no-cache、max-age、must-revalidate等,默认为private。其作用根据不同的重新浏览方式分为以下几种情况。

     

    推荐博客阅读:

    http://baike.baidu.com/link?url=8C1k-3vfsV24pCUtRgN3nezI3ViwAXB_1zye4kwFSydlUONsUErzOn_cfT2HQHIRI-9BqE72vQZ-k0ByUjtjangApHe92lkRl4z7RBd6UJG

     

    2.Connection:keep-alive,保持长连接

    3.Connect-length: 表示实体内容长度,客户端(服务器)可以根据这个值来判断数据是否接收完成,如断点续传用到这个功能

    4.Content-Type:baiduApp/json; v6.27.2.14; charset=UTF-8  定义网络文件的类型和网页的编码,决定文件接收方将以什么形式、什么编码读取这个文件

    5.Date   Fri, 07 Apr 2017 02:31:18 GMT:ate头域表示消息发送的时间,请求返回内容的时间格式

    6.Expires    Fri, 07 Apr 2017 03:31:18 GMT,HTTP控制缓存的基本手段,这个属性告诉缓存器:相关副本在多长时间内是新鲜的。过了这个时间,缓存器就会向源服务器发送请求,检查文档是否被修 改。几乎所有的缓存服务器都支持Expires(过期时间)属性;

    如果以上date和expires相同,时间一样,说明每次都要去服务器重新获取,如果Expires 时间大于date,在没有过期的时间,说明获取是获取的缓存

    7.Server:: nginx  web容器

    8.Set cookie:过期时间

     

    忙活了半天,发现有个贴写的很详细,大赞

    http://blog.chinaunix.net/uid-10540984-id-3130355.html

     

    其他的一些头信息

    content-length:报文主体的大小,可以做断点续传,一定要知道文本大小

    Trans-encoding :chunked 传输编码浏览器传输数据格式 , 服务器通过这个头,告诉浏览器数据的传送格式,分块传输

    Content-length:大小

    Cache –control:表示不会有缓存

    CDN: Content Delivery Network

    存放静态资源的东西 内容分发网络

    Vary:

     请求报文:客户端发起的

    响应报文:服务器端发起的

    Accept-ranges:返回的字节

    Age 9117 age:当代理服务器用自己缓存的实体去响应请求时,用该头部表明该实体从产生到现在经过多长时间了

     

     以上内容都是自己的见解,可能有很多理解上会有问题,

  • 相关阅读:
    图形2d,3d加速简介
    [转]startx启动过程分析
    initrd.img、vmlinux和 vmlinuz
    TSQL建主键索引语句 / 外键
    ASP.NET MVC 2.0在WinXP IIS6下的部署
    update中加入select
    Request
    jqGrid使用总结
    Jquery 表单取值赋值 处理返回json数据
    108个搞笑经典短句(转)
  • 原文地址:https://www.cnblogs.com/chongyou/p/6677506.html
Copyright © 2011-2022 走看看