今天开始学习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. JSON 的应用

    使用  JSON 需要的 jar 包:

  2. VS2010+C#+AutoCAD2008时断点调试功能无效的处理方法

    把acad.exe.config文件修改为:------------------------------------------------------------------------------ ...

  3. 使用Fiddler针对Android手机网络请求抓包

    本文转载自大牛Trinea的博文:Android利用Fiddler进行网络数据抓包 主要介绍Android及IPhone手机上如何利用Fiddler进行网络数据抓包,比如我们想抓某个应用(微博.微信. ...

  4. Step by Step 配置使用HTTPS的ASP.NET Web应用[转载]

    原创地址:http://www.cnblogs.com/jfzhu/p/4064654.html 转载请注明出处 有关HTTPS.SSL以及SSL证书的工作原理,参见 <HTTPS那些事(一)H ...

  5. Linux基本权限学习

    概念 权限就是用户对资源所能进行的操作 -- 这里涉及到三个重要的概念:用户.资源.操作. 首先,Linux中用户分为:u.g.o,就是用户.用户组.其他用户.--这里的用户是指拥有者!!!务必记住! ...

  6. 【转载】java项目中经常碰到的内存溢出问题: java.lang.OutOfMemoryError: PermGen space, 堆内存和非堆内存,写的很好,理解很方便

    Tomcat Xms Xmx PermSize MaxPermSize 区别 及 java.lang.OutOfMemoryError: PermGen space 解决 解决方案 在 catalin ...

  7. FreeBSD_11-系统管理——{Part_9 - SubVersion}

    一.使用 svn / svnlite 代替 freebsd-update 及 portsnap 等常规工具更新系统及 ports 源码 二.安装可信 ca 机构列表 cd /usr/ports/sec ...

  8. Hibernate缓存之Aop+cache

    在上一篇涉及到查询缓存的功能时除了需要在配置文件中开启缓存外,还需要在业务代码中显示调用setCacheable(boolean)才可以打开查询缓存的功能,这样做,无疑是破坏了封装性,所以就诞生了利用 ...

  9. error C2065: “CDatabase”: 未声明的标识符

    使用vc++与access的接口时出现错误“error C2065: “CDatabase”: 未声明的标识符” 解决方法: 添加 #include "afxdb.h"

  10. pd name与comment互换,或者code互换,总之互换

    1 PowerDesigner中批量根据对象的name生成comment的脚本 执行方法:Open PDM -- Tools -- Execute Commands -- Run Script Opt ...