发表于: 2017-05-30 23:31:22
1 1159
今天完成的事:
1、准备分享会的PPT(http协议)
视频连接:https://v.qq.com/x/page/r05089xvzqe.html
PPT连接:https://github.com/WuZhiyong1759/xiaoketangPPT/tree/master/XKT2017%E5%B9%B45%E6%9C%8830%E6%97%A5PPT
协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器
目前我们使用的是HTTP/1.1 版本
知识剖析
1.支持客户/服务器模式。
2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
常见问题
1、一个http的请求过程是什么样子的
当我们打开浏览器,在地址栏中输入URL,然后我们就看到了网页。 原理是怎样的呢?
实际上我们输入URL后,我们的浏览器给Web服务器发送了一个Request, Web服务器接到Request后进行处理,生成相应的Response,然后发送给浏览器, 浏览器解析Response中的HTML,这样我们就看到了网页,过程如下图所示

我们的Request 有可能是经过了代理服务器,最后才到达Web服务器的。
过程如下图所示

代理服务器就是网络信息的中转站,有什么功能呢?
1. 提高访问速度, 大多数的代理服务器都有缓存功能。
2. 突破限制, 也就是翻墙了
3. 隐藏身份。
2、URL中各个部分代表什么含义
URL(Uniform Resource Locator) 地址用于描述一个网络上的资源, 基本格式如下
schema://host[:port#]/path/.../[;url-params][?query-string][#anchor]
scheme 指定低层使用的协议(例如:http, https, ftp)
host HTTP服务器的IP地址或者域名
port# HTTP服务器的默认端口是80,这种情况下端口号可以省略。如果使用了别的端口,必须指明,例如 http://www.cnblogs.com:8080/
path 访问资源的路径
url-params 参数
query-string 发送给http服务器的数据
# anchor- 锚 代表网页中的一个位置。其右面的字符,就是该位置的标识符
URL 的一个例子
http://www.mywebsite.com/sj/test;id=8079?name=sviergn&x=true#stuff
Schema: http协议
host: www.mywebsite.com 域名
path: /sj/test 接口
URL params: id=8079 参数
Query String: name=sviergn&x=true 参数值
Anchor: stuff 锚
3、http的消息结构是什么样子的
HTTP消息的结构
先看Request 消息的结构, Request 消息分为3部分,第一部分叫请求行, 第二部分叫http header, 第三部分是body. header和body之间有个空行, 结构如下图



扩展思考
除了http协议外常见的通讯协议有哪些?
更多讨论
在众多的通讯协议中哪种相对较为安全
参考文献:
参考一:http://blog.csdn.net/xi_hong_shi/article/details/7876267
参考二:http://kb.cnblogs.com/page/130970/#whathttp
明天计划的事:继续做任务
遇到的问题:腾讯的服务器被封了(说我使用了为绑定和备案的域名,要我去拿域名去备案,我根本就没有域名,也没有在服务器上配过,拿什么去备案)
收获:http协议
总结:巴拉巴拉,节日快乐。
评论