HTTP笔记整理(1)
今天开始学习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)的更多相关文章
- python学习笔记整理——字典
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...
- 从0开始学Swift笔记整理(五)
这是跟在上一篇博文后续内容: --Core Foundation框架 Core Foundation框架是苹果公司提供一套概念来源于Foundation框架,编程接口面向C语言风格的API.虽然在Sw ...
- Deep Learning(深度学习)学习笔记整理系列之(五)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- 学习ReactNative笔记整理一___JavaScript基础
学习ReactNative笔记整理一___JavaScript基础 ★★★笔记时间- 2017-1-9 ★★★ 前言: 现在跨平台是一个趋势,这样可以减少开发和维护的成本.第一次看是看的ReactNa ...
- Deep Learning(深度学习)学习笔记整理系列之(八)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Deep Learning(深度学习)学习笔记整理系列之(七)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Deep Learning(深度学习)学习笔记整理系列之(六)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Deep Learning(深度学习)学习笔记整理系列之(四)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Deep Learning(深度学习)学习笔记整理系列之(三)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Deep Learning(深度学习)学习笔记整理系列之(二)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
随机推荐
- 【经验记录】Jconsole Jvisualvm 监控Tomcat
环境:centos 6 1.首先检查hostname是否正确,输入以下命令 hostname -i 如果输出机器ip,则表示正确,如果输出 hostname: Unknown host 查看/etc/ ...
- 自定义View的学习(一) 自绘制控件
一.自绘控件 就是自己绘制的控件,通过onDraw()方法将控件绘制出来 自定义一个可点击的View 这个View可以记住用户点击的次数 public class CounterView exte ...
- GUI的搭建,windowbuilder的使用
在进行GUI的搭建过程中,相信很多人对于一个图标的设置感觉写起来很麻烦,需要不断的添加,而在java中有一个windowbuilder窗口可以很好的帮助我们进行GUI的搭建 1.进入eclipse的页 ...
- 开始研究tigase和android客户端的实现
2015.7.5. 昨晚总算把tigaase7.0的开发环境搭起来了.稍微看了下代码结构. 主要是auth,db,compnent,cluster,server,xmpp,这几块,准备先发点时间看看开 ...
- ceph实践: 搭建环境
作者:吴香伟 发表于 2014/09/26 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 本节主要参考官网的ADDING/REMOVING OSDS章节. 同步 ...
- free-electrons linux内核和驱动
操作系统的三个作用:1.管理硬件资源:2.提供独立于架构和硬件的可移植的软件接口3.处理不同应用对相同硬件资源的同时访问 系统调用接口是稳定的,系统调用由c函数库封装,用户程序基本不需要直接调用系统函 ...
- jenkins---配置邮件
如果出现以下错误: 553 mail from must equal authorized user 看看管理员邮箱是否配置: 再测试,就能够正常收到邮件了!
- Java使用Scanner接收中文并输出时出现乱码
Java中使用Scanner接收输入的中文并输出时会出现乱码现象,怎么解决此问题呢? 1.方法一 在声明Scanner时添加对应的编码格式就可以了,如下所示: Scanner sc = new Sca ...
- 史上最强大网盘,网络上的赚钱神器【Yunfile网盘】,注册就送8元
YunFile.com,是提供在线存储和文件保存服务最大的网站之一,从2007年创立至今,我们提供免费的和您可以承受的收费服务.这些服务包括高级在线存储/远程备份服务,和先进的上传和下载工具.上百万来 ...
- 【Java学习笔记】函数的可变参数
package p2; public class ParamterDemo { public static void main(String[] args) { int sum1 = add(4,5) ...