今天开始学习http协议,把自己从网上整理,自己理解的部分先发出来,共勉!

(PS笔者小白一枚,如有理解性的错误,请指正告知,为感!!!)

一、  HTTP协议概念

  所谓的“协议”是指,计算机在通信网络中俩台计算机之间进行通信所必须共同遵守的规定或者规则。http(超文本传输协议)是一种通信协议,它允许将HTML(超文本标记语言)文档从web服务器传送到客户端的浏览器。

目前普遍使用的是HTTP/1.1版本

二、  web服务器,浏览器以及代理服务器

在浏览器中输入URL,点击回车,然后我们就可以看到一个我们想要得到的网页。这个原理是如何的呢?

如上图所示:

在向浏览器中输入url过后,浏览器会向Web服务器(web server)发送出一个request(请求),web服务器接收到request之后进行处理,生成相应的response(响应),然后返还给浏览器,浏览器通过解析response中的html,再生成相应的网页,这就是我们看见的网页内容。

注:在request和response传输过程中可能也会经过Proxy Server(代理服务器),最后才到达服务器或者返回到浏览器,如下图所示:

代理服务器:所谓的代理服务器通俗上理解就是一个网络信息的中转站,它相当于一个电脑中的Cache(即快速缓存区,通常代理服务器都设有一个较大的硬盘缓冲区)。这样在进行访问请求时,就会优先先从此缓存区中查找,如果之前有过该类请求就会快速进行响应;如果没有,就会继续进行正常的请求访问。所以使用Proxy Server可以提高访问速度。代理服务器还有一个大家普遍知道的功能---用于翻墙,可突破国内网站限制访问国外网站资源。另外proxy server还提供大量的伪IP地址,用户可以通过这些伪IP地址访问资源,隐藏自己的身份。

三、  URL解读

URL:统一资源定位符(Uniform Resource Locator),指的是Internet文件在网上的地址。其基本格式如下:

 schema://host[:port#]/path/.../[?query-string][#anchor]

1、  Schema(模式/协议):用于指定所使用的是何种协议,告诉浏览器如何处理将要打开的文件。最常用的协议模式是http(超文本传输协议),这个协议可用来访问网络。其他常用协议如下:

http:超文本传输协议

https:用安全套接字层传送的超文本传输协议

ftp:文件传输协议

mailto:电子邮件地址

ldap:轻型目录访问协议搜索

file:本地电脑或网上分享的文件

telnet:Telnet协议

2、  host:http服务器的IP地址或者域名

3、  port#:http服务器默认端口是80,这种情况下端口号可以省略。但是如果使用其他的端口号,则必须指明,例如:http://192.168.1.45:2400/XXX

4、  path:访问资源的路径

5、  query-string:发送给http服务器的数据

6、  anchor: 锚?

实例:

http://192.168.10.474:1100/study/8000/shoxxDetail.jsp?order_id=3210000xx_228312&id=144

schema:使用的是http协议

host:192.168.10.474

port:1100

path:/study/8000/shoxxDetail.jsp?

query-string:order_id=3210000xx_228312&id=144

。。。。后面再补,开会去了~~~~

HTTP笔记整理(1)的更多相关文章

  1. python学习笔记整理——字典

    python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...

  2. 从0开始学Swift笔记整理(五)

    这是跟在上一篇博文后续内容: --Core Foundation框架 Core Foundation框架是苹果公司提供一套概念来源于Foundation框架,编程接口面向C语言风格的API.虽然在Sw ...

  3. Deep Learning(深度学习)学习笔记整理系列之(五)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  4. 学习ReactNative笔记整理一___JavaScript基础

    学习ReactNative笔记整理一___JavaScript基础 ★★★笔记时间- 2017-1-9 ★★★ 前言: 现在跨平台是一个趋势,这样可以减少开发和维护的成本.第一次看是看的ReactNa ...

  5. Deep Learning(深度学习)学习笔记整理系列之(八)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  6. Deep Learning(深度学习)学习笔记整理系列之(七)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  7. Deep Learning(深度学习)学习笔记整理系列之(六)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  8. Deep Learning(深度学习)学习笔记整理系列之(四)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  9. Deep Learning(深度学习)学习笔记整理系列之(三)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  10. Deep Learning(深度学习)学习笔记整理系列之(二)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

随机推荐

  1. 如何用java获得字符串的ASCII值

    使用Integer.valueOf就可以直接将char类型的数据转为十进制数据表现形式. int value=Integer.valueOf('1');//49int value=Integer.va ...

  2. css之absolute绝对定位(技巧篇)

    无依赖的绝对定位 margin,text-align与绝对定位的巧妙用法 例子1:实现左右上角的图标覆盖,如图,

  3. Cad 二次开发关于SelectCrossingPolygon和SelectFence返回结果Status为error的小测试

    CAD2008的二次开发,有个很奇怪的现象,只要你选择的点集不在当前视图上SelectCrossingPolygon和SelectFence返回结果Status就会为error,所以要获取正确的结果, ...

  4. 一个简单算法题引发的思考<DNA sorting>(about cin/template/new etc)

    首先是昨天在北京大学oj网上看到一个简单的算法题目,虽然简单,但是如何完成一段高效.简洁.让人容易看懂的代码对于我这个基础不好,刚刚进入计算机行业的小白来说还是有意义的.而且在写代码的过程中,会发现自 ...

  5. Linux内核【链表】整理笔记(2)

    关于链表我们更多时候是对其进行遍历的需求,上一篇博文里我们主要认识了一下和链表操作比较常用的几个内核API接口,其入参全都是清一色的struct list_head{}类型.至于链表的遍历,内核也有一 ...

  6. linux启动执行某个脚本

    如果是开机马上执行的脚本,可以将脚本写到rc.local中: 如果是用户登录后自动执行脚本,可以将脚本写到相应的用户目录下“-/.bash_profile”,若脚本“-/.bash_profile”不 ...

  7. Linux命令小结:crontab/netstat/iostat/sar

    crontab cron可以设定在指定的时间运行任务. 1.查看定时任务 [root@client1 ~]# crontab -l -u root */1 * * * * date >> ...

  8. rem介绍

    手机端开发,一般以320px宽为最低标题.市场上的手机,大多数是360px宽. 20px=1rem是最容易换算的,基本上可以口算,除以2并缩小十倍.1px/20=0.05rem.两位小数就可以除尽了. ...

  9. python configparser模块

    来看一个好多软件的常见文档格式如下: [DEFAULT] ServerAliveInterval = 45 Compression = yes CompressionLevel = 9 Forward ...

  10. proc文件系统

    在shell终端里不带任何参数,直接运行mount命令可以显示正在挂载的文件系统.其中有这么一行 none on /proc type proc (rw) 这就是/proc文件系统.第一个域显示non ...