嗯,这几天回头再次的学习Servlet的知识点,觉得HTTP协议的内容是相当重要的,现在虽然知道浏览器与应用程序的交互离不开它,但是怎么将信息从浏览器传输到服务器的这个知识点还是一个盲点。于是从网上找了找相关的资料大概的能让我明白了一些这里面的情况,当然,具体的实现等等还不是特别的清楚,下面先记录下来这些不错的入门的网络资源,然后在慢慢将这些知识盲点补上来,非常感谢原作者的辛勤写作!

1:特别推荐看一看阮一峰老师的关于网络协议的两篇非常棒的博文(阮老师的其他博文也是相当的精彩,主要是通俗易懂,简单明了)

http://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_i.html

http://www.ruanyifeng.com/blog/2012/06/internet_protocol_suite_part_ii.html

这两篇关于互联网的博文非常的不错,简单明了,通俗易懂,虽然上大学的时候也学习过网络协议的相关课程,但是内容过于庞杂,理解记忆绝不深刻,看了这两篇博文后觉得太棒啦!

2:推荐看博客园中小坦克的HTTP协议的系列博文,对与HTTP协议而言,看过他的系列博文对HTTP协议就会有一个更加形象和具体化的认识了

http://www.cnblogs.com/TankXiao/archive/2012/02/13/2342672.html

http://www.cnblogs.com/TankXiao/archive/2012/02/06/2337728.html

此系列的博文对HTTP的讲解还是比较形象的,看完之后印象一定会更加的深入一些!

3:推荐一篇CSDN上的一篇讲解HTTP协议比较棒的一篇博文

http://blog.csdn.net/gueter/article/details/1524447

4:推荐一篇从另外一个角度来写HTTP协议的比较好的一篇博文

http://www.cnblogs.com/CareySon/archive/2012/04/27/HTTP-Protocol.html

5:嗯,最后推荐看看这篇也挺棒的博文

http://www.blogjava.net/zjusuyong/articles/304788.html

嗯,看完这些我对HTTP协议的了解,更好了一些,不过对于我的问题,我还是没有完全的搞明白为什么?我是做JavaWeb开发的对于B/S结构的程序如下图所示(如下是一种最简单的结构):

浏览器段的信息是如何一步步封装,然后通过网络一步步的传输,最后到达服务器端的,(以Java程序为例)数据达到应用程序中时对于程序员是以对象的形式展现的主要是两个对象:请求的对象和响应的对象,我们通过这两个对象来获得请求和响应的信息。数据从服务器端发出去想必也要经过一步步的封装,然后通过网络一步步的传输,然后到达客户端然后到达浏览器,最后浏览器将其展示出来(推荐看一看浏览器工作原理的“神文”http://taligarsiel.com/Projects/howbrowserswork1.htm,

这里是中文版的 http://www.cnblogs.com/chehaoj/archive/2012/10/31/2747904.html

另一篇显示效果好点的中文版http://www.w3ctech.com/topic/48)。从这个角度来讲数据的透明时间是非常久的,限于水平有限现在不是很清楚,这些时候数据的存在状态是如何的!不过,我会继续的学习相关的知识一步步的将数据的每一种存在的状态以及转换的方式都搞明白!不过目前来讲知道如何将数据从客户端传输到服务器端,以及在服务器端如何拿到这些数据,并且根据对应的请求,处理、封装和发送对应的响应信息到客户端才是最为关键的事情,对于JavaWeb开发而言Servlet的知识是非常关键的!

HTTP协议——学习资料小结的更多相关文章

  1. 2017年7月ROS学习资料小结

    <孙子兵法·谋攻篇>:"上兵伐谋,其次伐交,其次伐兵,其下攻城:攻城之法为不得已." 任何发生在自己国土上的战争,即便胜利,也饱含屈辱. ----~~~~----Gaz ...

  2. jQuery .tmpl(), .template()学习资料小结

    昨晚无意中发现一个有趣的jQuery插件.tmpl(),其文档在这里.官方解释对该插件的说明:将匹配的第一个元素作为模板,render指定的数据,签名如下: .tmpl([data,][options ...

  3. ref:web security最新学习资料收集

    ref:https://chybeta.github.io/2017/08/19/Web-Security-Learning/ ref:https://github.com/CHYbeta/Web-S ...

  4. Android 学习资料收集

    收集整理这份资料灵感来自于 trip_to_iOS, 征得同意引用了该资料的开头描述 收集整理这份资料主要帮助初学者学习 Android 开发, 希望能快速帮助到他们快速入门, 找到适合自己学习资料, ...

  5. 【转】iOS超全开源框架、项目和学习资料汇总

    iOS超全开源框架.项目和学习资料汇总(1)UI篇iOS超全开源框架.项目和学习资料汇总(2)动画篇iOS超全开源框架.项目和学习资料汇总(3)网络和Model篇iOS超全开源框架.项目和学习资料汇总 ...

  6. iOS学习资料整理

    视频教程(英文) 视频 简介 Developing iOS 7 Apps for iPhone and iPad 斯坦福开放教程之一, 课程主要讲解了一些 iOS 开发工具和 API 以及 iOS S ...

  7. iOS 学习资料汇总

    (适合初学者入门) 本文资料来源于GitHub 一.视频教程(英文) Developing iOS 7 Apps for iPhone and iPad斯坦福开放教程之一, 课程主要讲解了一些 iOS ...

  8. TCP/IP协议学习之实例ping命令学习笔记

    TCP/IP协议学习之实例ping命令学习笔记(一) 一. 目的为了让网络协议学习更有效果,在真实网络上进行ping命令前相关知识的学习,暂时不管DNS,在内网中,进行2台主机间的ping命令的整个详 ...

  9. Java 学习资料整理

    Java 学习资料整理 Java 精品学习视频教程下载汇总 Java视频教程 孙鑫Java无难事 (全12CD) Java视频教程 即学即会java 上海交大 Java初级编程基础 共25讲下载 av ...

随机推荐

  1. Filezilla Server 配置大全

    一个开源.免费的FTP服务端程序,Windows 安装程序(0.9.50 beta):右键另存为. 首先说一下FTP的二种模式:主动模式(port mode)与被动模式(passive mode),网 ...

  2. Android五:Activity

    生命周期: onCreate onStart onResume onPause:在该状态如果有优先级更高的程序,那此进程可能被kill;如果是被重新执行,则回到onResume状态. onStop : ...

  3. Tomcat远程调试catalina.sh的配置

    #!/bin/sh # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license ...

  4. DBA_Oracle Sort排序处理空间耗用(概念)

    2014-12-18 Created By BaoXinjian

  5. ubuntu下安装jdk(rpm版)错误: 找不到或无法加载主类 解决方法

    1.官网下载jdk,linux64位,rpm格式的. 2.提取下载的文件,提取到一个目录下,我的是提取到了usr目录下了 3.终端输入:sudo gedit ~/.bashrc 会打开一个文本,在文本 ...

  6. HDU 1213 How Many Tables(并查集,简单)

    题解:1 2,2 3,4 5,是朋友,所以可以坐一起,求最小的桌子数,那就是2个,因为1 2 3坐一桌,4 5坐一桌.简单的并查集应用,但注意题意是从1到n的,所以要减1. 代码: #include ...

  7. memcache 内部原理实现

    Lazy Expiration memcached 内部不会监视记录是否过期,而是在 get 时查看记录的时间戳,检查记录是否过期.这 种技术被称为 lazy(惰性)expiration.因此,mem ...

  8. 配置cwrsync实现windows2008和centos7文件定时同步

    一.准备 二.安装 1.安装cwRsyncServer_4.0.5_Installer.exe 安装过程中提示创建用于windows服务的windows用户名,需要注意的是密码一定要它自己生成的密码的 ...

  9. 安装java开发环境jdk,安装JDK

    JDK可以理解为翻译官,它将Java高级语言翻译为二进制执行. JDK可以编译文件,编译后的文件扩展名为.class. 只要能支持JDK的地方,JAVA就可以运行,这就是JAVA跨平台的性质. 我的是 ...

  10. StringIO 模块用于在内存缓冲区中读写数据

    模块是用类编写的,只有一个StringIO类,所以它的可用方法都在类中.此类中的大部分函数都与对文件的操作方法类似. 例: #coding=gbk import StringIO s=StringIO ...