当前位置: 首页 > news >正文

10月7日培训日记

李杰使用第三方API访问word文档,出现了找不到dll的错误,讲解了dll也应防止在path环境变量指定的目录中的原理,顺便也分析了如何使用java来调用c语言编写的dll中的函数的方式。java要操作windows平台特定的资源时,例如写注册表,写word文档等,就要用java来调用c语言编写的dll。
复习了WEB服务器的工作原理,浏览器访问一个多图网页的过程,HTTP请求消息与响应消息的格式。
HTTP 1.0与HTTP 1.1的比较,一个连接上可以有多个请求和响应的直观理解。
讲解头字段作用时,提到了Cookie的作用(举例:Cookie是服务器发给浏览器的一个号码),Session的作用(Session是服务器端为每个浏览器分配的一片内存)。
各种响应状态码,get与post方式传递参数的演示、应用区别(查询用GET,修改用Post),telnet访问Web服务器的GET与POST的实验。
各种请求和响应头字段的深入分析:
Cache-Control: no-cache (*)
Connection: close/Keep-Alive (*)
Date: Tue, 11 Jul 2000 18:23:51 GMT
Pragma: no-cache (*)
Trailer: Date
Transfer-Encoding: chunked (*)
Upgrade: HTTP/2.0, SHTTP/1.3
Via: HTTP/1.1 Proxy1, HTTP/1.1 Proxy2
Warning: any text
Cache-Control举例:动态产生的图像不随着数据库更新,例如,访问计数器,股票分析图等等。
Chunked传输编码用访问tomcat首页来实验,我有一个网页,服务器将网页内容先读取到缓冲区中,缓冲区满或者装入了网页的所有内容,就送给浏览器,对于后者,可以计算网页大小,对于前者,分几次才能送给浏览器,因此无法计算大小,这时就用chunked,每一片数据都以自己的大小开头。

Accept: text/html,image/* (*)
Accept-Charset: ISO-8859-1,unicode-1-1 (*)
Accept-Encoding: gzip,compress (*)
Accept-Language: en-gb,zh-cn (*)
Authorization: Basic enh4OjEyMzQ1Ng== (*)
Expect: 100-continue
From: zxx@it315.org
Host: www.it315.org:80 (*)
If-Match: "xyzzy", "r2d2xxxx"

If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT (*)
If-None-Match: "xyzzy", "r2d2xxxx"
If-Range: Tue, 11 Jul 2000 18:23:51 GMT
If-Unmodified-Since: Tue, 11 Jul 2000 18:23:51 GMT
Max-Forwards: 1
Proxy-Authorization: Basic enh4OjEyMzQ1Ng==
Range: bytes=100-599 (*)
Range: bytes=100-
Range: bytes=-100
Referer: http://www.it315.org/index.jsp (*)
TE: trailers,deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) (*)

Accept-Range: bytes (*)
Age: 315315315
Etag: b38b9-17dd-367c5dcd
Location: http://www.it315.org/index.jsp (*)
Proxy-Authenticate: BASIC realm="it315"
Retry-After: Tue, 11 Jul 2000 18:23:51 GMT
Server: Microsoft-IIS/5.0 (*)
Vary: Accept-Language
WWW-Authenticate: BASIC realm="it315" (*)

Allow: GET,POST
Content-Encoding: gzip (*)
Content-Language: zh-cn (*)
Content-Length: 80 (*)
Content-Location: http://www.it315.org/java_cn.html
Content-MD5: ABCDABCDABCDABCDABCDAB==
Content-Range: bytes 2543-4532/7898 (*)
Content-Type: text/html; charset=GB2312 (*)
Expires: Tue, 11 Jul 2000 18:23:51 GMT(*)
Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT(*)

Content-MD5:浏览器虽然接收到了服务器返回的内容,但是不敢肯定服务器发送的内容在传输过程中是否发生了损坏,那就可以通过这个Content-MD5来验证。
没有last-modified头字段,Servlet文件也会被缓存,用前进和后退按钮、以及在浏览器地址栏中回车(输入原来的地址)都能够调出缓存的页面,但单击超链接会发送新的请求。如果加了last-modified头字段,那么在浏览器的这一次运行期间都不会发送新的请求,即使是单击超级链接。刷新则是每次都要发送请求(包括其中嵌套的图片),但回应结果与last-modified有关系。如果禁止缓存,则临时文件中不会有缓存。

Refresh头字段
Refresh: 1
Refresh: 1;url=http://www.it315.org
Content-Disposition头字段
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=aaa.zip

思考题:
1.请按自己的理解简述HTTP 1.1与HTTP 1.0的区别。
2.请描述HTTP请求消息和HTTP响应消息的组成结构,并各举一例进行说明。
3.浏览器分别在哪些情况下使用GET方式和POST方式访问WEB服务器?如果浏览器传递给WEB服务器的参数内容超过1K,应该使用那种方式发送请求消息?
4.请描述200、206、302、304、401、404和500等响应状态码所表示的意义。
5.请列举三种禁止浏览器缓存的头字段,并写出相应的设置值。
6.如果WEB服务器端程序想根据访问者所使用的浏览器国家语言版本来返回该国家语言的网页文档内容,应该检查浏览器发送的哪个请求头字段来识别其国家语言信息?
7.请根据自己的理解描述Referer头字段的作用。
8.请根据自己的理解描述Content-Type头字段的作用。如果将一个Word文档(文件扩展名为.doc)放置在Tomcat服务器的根目录中,要让IE浏览器访问这个Word文档时自动打开Word程序,在IE浏览器所在的客户机和Tomcat服务器上分别应具备什么条件。

暴露出来的问题:
javascript还不过关,以后的测试题中要加强对javascript的测试:例如,带参数的url,form的get与post的方式的区别。

花絮:
最后写了一个jsp来讲解referer头字段的作用,顺便引出了jsp与servlet之间的关系。分析了一个blog系统如何防止<meta>元素攻击的,我们如何进入这个blog系统进行攻击,等学完Session以后再进行攻击实验。

相关文章:

  • Xcode6建的工程修改为在iPhone6和iPhone6P下等比放大
  • iOS7以上使导航栏半透明
  • 过程建模EPC,我拿什么拯救你
  • 用图作背景的cell选中时背景图变暗
  • Guru.com - The world's largest online marketplace for freelance talent.
  • view controller的automaticallyAdjustsScrollViewInsets属性
  • Blog小技巧之三-在地图上显示访问Blog读者的分布信息
  • 简单的在工程中集成RAC
  • 10月8日培训日记
  • 聚合优于继承
  • 数据源变更时,table中更新对应cell的显示
  • Visual C# 2005 - 如何于DataGridView控件中以跨数据行方式显示数据
  • iPhone在设置中修改应用相关项,应用会重启
  • 10月9日培训日记
  • 编译蘑菇街的teamtalk
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • 【Leetcode】104. 二叉树的最大深度
  • Android交互
  • Go 语言编译器的 //go: 详解
  • javascript从右向左截取指定位数字符的3种方法
  • JavaScript对象详解
  • JS+CSS实现数字滚动
  • maya建模与骨骼动画快速实现人工鱼
  • Objective-C 中关联引用的概念
  • PAT A1017 优先队列
  • sessionStorage和localStorage
  • SOFAMosn配置模型
  • uva 10370 Above Average
  • vue-router 实现分析
  • vue-router的history模式发布配置
  • 编写符合Python风格的对象
  • 检测对象或数组
  • 如何在GitHub上创建个人博客
  • 数组大概知多少
  • 树莓派用上kodexplorer也能玩成私有网盘
  • ​configparser --- 配置文件解析器​
  • ![CDATA[ ]] 是什么东东
  • #数学建模# 线性规划问题的Matlab求解
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (二)linux使用docker容器运行mysql
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (附源码)计算机毕业设计大学生兼职系统
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • (状压dp)uva 10817 Headmaster's Headache
  • .net core控制台应用程序初识
  • .NET NPOI导出Excel详解
  • .NET 药厂业务系统 CPU爆高分析