Register

  • 点击获取
  •   

已有账号直接登录    

公告:

热门文章 HTTP协议原理结构分析

时间:2016-8-15 作者:RainFly   分类: Linux嵌入式   热度: 6024°  评论:1  
时间:2016-8-15   分类: Linux嵌入式    热度:6024   评论:1

1.协议特点 

 a.C/S模式

 b.客户端向服务器发出Request 只需传送请求方法和路径, 通信速度快

方法: GET 通过请求URI得到资源 浏览器向服务器一般请求 POST,用于添加新的内容 发送form表单 PUT 用于修改某个内容 DELETE, 删除某个内容 CONNECT, 用于代理进行传输,如使用SSL OPTIONS 询问可以执行哪些方法 PATCH, 部分文档更改 PROPFIND 查看属性 PROPPATCH 设置属性 MKCOL 创建集合(文件夹) COPY 拷贝 MOVE 移动 LOCK 加锁 UNLOCK 解锁 TRACE 用于远程诊断服务器 HEAD 类似于GET, 但是不返回body信息,用于检查对象是否存在,以及得到对象的元数据

c. 传输类型很灵活:只需要给它加上Content-Type  MIME类型值即可

d.发送完请求报文,立即和服务器断开连接(PS:虽然TCP的80端口可以建立多个Socket连接但是如果连接过多服务器响应其他请求放慢),服务器所需要完成的是将端口接受请求放入等待队列,根据算法进行选择相应的连接请求进行处理。 节省了客户端进行等待的时间

e.发送完数据包之后,如果服务器不Response,需要将所有的数据包重新发送。

 2.文件格式

                 Request: 请求报文格式

                

            请求报文可以用Google浏览器进行查看其发送 

发送的报文实例

POST报文头如下: POST /sn/index.php HTTP/1.1 Accept: */* Accept-Language: zh-cn host: localhost Content-Type: application/x-www-form-urlencoded Content-Length: 12 Connection:close sn=123&n=asa 在http头后边有一空行,空行后边接着发送post数据,长度通过Content-Length: 12 指出,此post数据中包含两项 sn=123 n=asa 其中:Content-Type: application/x-www-form-urlencoded 指定POST数据的编码类型 Content-Length: 12 POST数据的长度

GET: GET报问头如下: GET /sn/index.php?sn=123&n=asa HTTP/1.1 Accept: */* Accept-Language: zh-cn host: localhost Content-Type: application/x-www-form-urlencoded Content-Length: 12 Connection:close

 

                   Response :响应报文格式

                

相应阶段报文,给一个API 调试工具 使用GET请求获得数据 http://apistore.baidu.com/astore/toolshttpproxy

我给http:www.baidu.com服务器发送了一个GET请求下面是相应回复的报文 

Response Header HTTP/1.1 200 OK Date: Tue, 16 Aug 2016 01:58:22 GMT Content-Type: text/html; charset=utf-8 Transfer-Encoding: chunked Connection: Keep-Alive Vary: Accept-Encoding Set-Cookie: BAIDUID=E6BADB45ADCAFAF36BAE6C63E46613C9:FG=1; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com Set-Cookie: BIDUPSID=E6BADB45ADCAFAF36BAE6C63E46613C9; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com Set-Cookie: PSTM=1471312702; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com Set-Cookie: BDSVRTM=0; path=/ Set-Cookie: BD_HOME=0; path=/ Set-Cookie: H_PS_PSSID=1465_18241_17949_18560_17001_11693_20848_20856_20837_20771_20719; path=/; domain=.baidu.com P3P: CP=" OTI DSP COR IVA OUR IND COM " Cache-Control: private Cxy_all: baidu+955142e509dca9cdda759e1be73fb859 Expires: Tue, 16 Aug 2016 01:57:59 GMT X-Powered-By: HPHP Server: BWS/1.1 X-UA-Compatible: IE=Edge,chrome=1 BDPAGETYPE: 1 BDQID: 0xc83e2bbf001302cc BDUSERID: 0 Content-Encoding: gzip

 这里可以看到对应上面图二的结果

版本信息:HTTP/1.1   

HTTP 1.1中的五类状态码:  

100-199 用于指定客户端应相应的某些动作。   

200-299 用于表示请求成功。   

300-399  用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。   

400-499 用于指出客户端的错误。  

 500-599 用于支持服务器错误。 

OK:就是OK

剩余的都是头部行,携带了一些关于发送时间 格式 编码之类的信息

Content-Encoding: gzip  此处是指服务器将Response文件进行GZIP压缩, 当客户端接收后根据Content-Encoding: gzip执行解压缩 (这种方法会降低服务器宽带压力,但是增加了服务器压力,加快网页打开速度)

对文件部分解码的到了Response Body, 就是HTML信息。

在HTTP协议是建立在TCP/IP传输控制协议基础上的,所以所有的文件必须是客户端和服务器TCP三次握手已经建立连接,后面我还会继续了解剖学习 , 还会用C语言实现 HTTP FTP等应用层协议!

热门文章 分享CSS常用图标库

时间:2016-8-12 作者:RainFly   分类: Web程序设计   热度: 15367°  评论:4  
时间:2016-8-12   分类: Web程序设计    热度:15367   评论:4

    图标在web前端设计和app开发中作为可视化一个重要元素,部分网站为了使图片性质标志很难自适应,而且重复项目重复量多,现在提供两个常用的纯CSS图标库,只需要引用一样样式文本,就可以在任意轻松使用

1.Font Awesome一个支持可缩放的矢量图标

  官网详情:http://fontawesome.dashgame.com/

  该字库含有585个图标基本上都能满足需要。

  head 部位加上应用css样式路径,

<link href="//netdna.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" rel="stylesheet">

   Font Awesome是为使用内联元素而设计的。我们通常更喜欢使用 <i> ,因为它更简洁。 但实际上使用 <span>

所以在需要插入的图标的地方加上 

<i class="fa fa-camera-retro"></i> fa-camera-retro

  使用i标签很简洁明了。由于是文本类型的图标,所以修改了容器文字样式图标也会随之变化的。所以修改图标样式你可以直接用容器来修改,也可以使用官网提供的一些class来,调整大小颜色阴影。需要可以去看看。

2.icono

官网详情:http://saeedalipoor.github.io/icono/ 

同上面的图标使用方法一样,仅仅只需要一个标签就可以实现纯css3的图标

使用方法:

 head嵌入

    

<link rel="stylesheet" href="icono.min.css">

需要使用的地方直接插入标签即可

<i class="icono-mail"></i> <div class="icono-mail"></div> <span class="icono-mail"></span> <whatever class="icono-mail"></whatever>

热门文章 如何利用JavaScript动态更换body的属性

时间:2016-7-30 作者:RainFly   分类: Web程序设计   热度: 13404°  评论:2  
时间:2016-7-30   分类: Web程序设计    热度:13404   评论:2

    由于自己不是专业学网页设计的所有不是很懂JavaScript和css,以下代码纯属瞎研究,搞了好几次都没成功也不知道是什么原因,估计是写语法有问题。

body标签的属性值获取方法通过getElementsByName("body")   返回拥有指定标签名的所有子元素的集合。

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <body style="font-size:12px;padding-left:8px;color:#fff"> <script language="javascript"> window.onload = function(){ var wndObj=document.getElementsByTagName("body"); alert(wndObj[0].getAttribute("style")); } </script> </body> </html>

按照上面的方法我测试了一下,

function chufa(){ document.getElementsByTagName("body")[0].setAttribute("style","background-size:cover;"); document.getElementsByTagName("body")[0].setAttribute("style","background-attachment:fixed;"); document.getElementsByTagName('body')[0].style.background="url(http://7xij7o.com1.z0.glb.clouddn.com/background2.jpg) rgba(194, 240, 194, 1) no-repeat"; }

但是结果是这样的js运行不了,不知道原因是什么,所有就继续研究了一下(下面这种方法是可以实现的)

function select_jpg1(){ document.getElementsByTagName("body")[0].setAttribute("style","background:url(http://7xij7o.com1.z0.glb.clouddn.com/background1.jpg) rgba(194, 240, 194, 1) no-repeat;background-size:cover;background-attachment:fixed;"); }

所有根据标签获得body的值需要通过一个setattribute函数来进行设置和修改,如果通过.style.background=xxx;多次是无效的。

继而可以通过触发相应函数来动态修改标签的属性。

热门文章 轻松升级Windows 10正式版操作系统

时间:2015-7-30 作者:RainFly   分类: 计算机知识   热度: 10090°  评论:4  
时间:2015-7-30   分类: 计算机知识    热度:10090   评论:4

       2015年7月29号中午微软发布了正式版的Windows10,笔者当天晚就讲自己盗版的win7升级了  ps:虽然是盗版的但是升级之后依然保留正式版的权限,微软其实很机智,正版使用者提供了他们足够的资金,而盗版使用者却提供了庞大的市场和发展前景.....

                

热门文章 关于Windows如何卸载IE浏览器

时间:2015-5-16 作者:RainFly   分类: 计算机知识   热度: 6982°  评论:0  
时间:2015-5-16   分类: 计算机知识    热度:6982   评论:0

         有不少朋友,觉得IE很没用,看起来有难看,所以想把它卸载掉可是总是找不到卸载的办法,以为只能禁用,其实Windows很多组件都是可以卸载的理所当然也可以手动安装的,废话不多说了来来教大家怎么动手卸载IE吧!

热门文章 第八节:C语言程序的结构特点

时间:2015-5-15 作者:RainFly   分类: C语言入门视频教程   热度: 6506°  评论:0  
时间:2015-5-15   分类: C语言入门视频教程    热度:6506   评论:0

          雨夜轩解读谭浩强版C语言教程,针对初学者量身打造,避开网上流传的种类繁多的视频教程,由于大部分都是在辅导机构或者上课录制的,所以目标不明确,而且不附带教材和疑问解答,雨夜轩提供此视频讲解的详细文章,下方也可以留下疑问,只要你的问题阐述明确,我们会第一时间为你解答。

热门文章 第三节:C语言开发工具

时间:2015-5-15 作者:RainFly   分类: C语言入门视频教程   热度: 11344°  评论:0  
时间:2015-5-15   分类: C语言入门视频教程    热度:11344   评论:0

          雨夜轩解读谭浩强版C语言教程,针对初学者量身打造,避开网上流传的种类繁多的视频教程,由于大部分都是在辅导机构或者上课录制的,所以目标不明确,而且不附带教材和疑问解答,雨夜轩提供此视频讲解的详细文章,下方也可以留下疑问,只要你的问题阐述明确,我们会第一时间为你解答。

热门文章 C语言入门视频教程(解读谭浩强版)目录

时间:2015-5-13 作者:RainFly   分类: C语言入门视频教程   热度: 10004°  评论:11  
时间:2015-5-13   分类: C语言入门视频教程    热度:10004   评论:11

          雨夜轩解读谭浩强版C语言教程,针对初学者量身打造,避开网上流传的种类繁多的视频教程,由于大部分都是在辅导机构或者上课录制的,所以目标不明确,而且不附带教材和疑问解答,雨夜轩提供此视频讲解的详细文章,下方也可以留下疑问,只要你的问题阐述明确,我们会第一时间为你解答。

热门文章 推荐五款国内主机商提供的免费主机

时间:2015-5-11 作者:RainFly   分类: 网站搭建   热度: 8148°  评论:7  
时间:2015-5-11   分类: 网站搭建    热度:8148   评论:7

         刚开始搭建网站的朋友肯定不敢大量投入,所以在此为大家推荐一些国内的免费主机,国外的不错免费空间或者VPS申请难度还是很大的,需要的可以看看,反正不要钱!!不过你要是购买了他们的收费产品,责任就不能怪我啦!

         

热门文章 为什么我要不断纠结着对未来道路选择?

时间:2015-5-6 作者:RainFly   分类: 随手乱写   热度: 6454°  评论:12  
时间:2015-5-6   分类: 随手乱写    热度:6454   评论:12

      

          面对人生道路选择我一直很迷茫,今年马上大三了,在学校一直读着过程装备与控制工程专业的课程,也许很多人没听过这个专业,最初的我也是在不知道不了解的前提下报了这个以为前景很不错的工科专业,其实我读到现在也不太懂这个学科侧重点到底是什么?只是按照学校的培养计划不断上着课,打着酱油。高考在某一方面很公平,但有些制度显得过于呆板,我的专业志愿在我根本没有考虑个人兴趣的前提就填写完了,由于当时脑子里的想法只有上大学,目的:出来能找到工作,而不是去面对就业困难。

      吐槽一下,在中国这个社会下,越来越多的大学在教育层面上敷衍了事,有些讲师发表了很多极具影响力的学术论文,又或者拿到了很高层面的奖项专利。他成了教授来指导我们,便具备了一副有恃无恐,敷衍了事的特权,当然这并不是全部,也不一定是故意的或许是个人的精力不足,但不管如何造成了一种很差的恶性循环,学生敷衍老师,老师敷衍学校,学校敷衍高层教育机构,在大学越来越难学到实质性东西了,这也是为什么很多人拿了毕业证找不到工作的原因之一。

        外界和自身的种种因素,影响着我前进的方向,但迷茫的我仍旧有一颗装满梦想的心,不管走那条路都不会放弃去实现它,特写此文望与我共勉!

热门文章 轻松注册全球通用的Gravatar头像

时间:2015-5-4 作者:RainFly   分类: 计算机知识   热度: 8211°  评论:5  
时间:2015-5-4   分类: 计算机知识    热度:8211   评论:5

          最近QQ邮箱也可也用来注册gravatar头像了,只是不翻墙一般来说无法访问Gravatar头像注册网站,至于翻墙方法前面已经介绍了两个免费的翻墙点,一个国内(http://www.rainfly.cn/?post=6)一个日本的(http://www.rainfly.cn/?post=87)亲测都可以使用,在此介绍一个在网上看到的一个可以注册Gravatar头像的教程!

百度浏览器从6.5版本推出海外加速,可以访问Google等已经无法正常访问的网站了!!!!(当然速度....就不多说了)所以用6.5测试一下,是否支持,答案很明显!

第一步:

 安装百度浏览器6.5标准版 下载地址 :http://liulanqi.baidu.com/download.html

第二步:

打开百度浏览器,点击选项-高级选项-开启海外加速通道,(已经打开就无需该步骤了)

第三步:

在地址栏目输入G头像申请地址: http://en.gravatar.com/,打开此链接。

第四步:

开始注册G头像,以下按照图片步骤即可!(建议使用QQ邮箱注册!!!)

需要的赶紧试试吧,如果觉得有用点击一下广告,支持一下!

返回顶部    首页    捐赠支持    手气不错    友情链接    关于我们    站长工具    站长介绍    手机版本    后台登陆   
版权所有:雨夜轩    站长:RainFly    特别鸣谢   文章归档   皖ICP备15003600号-1   百度统计
Copyright©2015雨夜轩 Powered by emlog强力驱动 七牛CDN全球加速 360站长联盟安全认证 中国博客联盟荣誉成员 可信赖网站 谷歌地图   百度地图   
页面加载耗时:0.041秒 数据库查询次数:128次
背景设置
$