您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > HTTP协议应用编程
2020年1月10日广州大学Java网络编程主讲:刘淼1HTTP协议应用编程4学时2020年1月10日广州大学Java网络编程主讲:刘淼2内容第3章基本Web概念第7章URL和URI第8章Swing中的HTML第15章URLConnection学习目标明确HTTP协议的内容命令响应代码掌握HTTP协议的应用编程模式,并能灵活运用掌握URLConnection的使用重点第3、7、15章2020年1月10日广州大学Java网络编程主讲:刘淼3第3章基本Web概念在因特网上,最大最成功的应用非万维网莫属。发明:1989年,TimBerners-Lee万维网三个基本组成成分HTML(HypertextMarkupLanguage)语言HTTP(HypertextTransferProtocol)协议URI(UniformResourceIdentifiers)2020年1月10日广州大学Java网络编程主讲:刘淼4应用层寻址URI构成Scheme:scheme-specific-partP57具体类型有2种URN-----UniformResourceNameURL-----UniformResourceLocator2020年1月10日广州大学Java网络编程主讲:刘淼5URNUrn:namespace:resource_nameNamespace:命名空间resource_name:资源名称IANA负责分配命名空间似曾相识?C++中的命名空间、Java中的PackageXML中的命名空间2020年1月10日广州大学Java网络编程主讲:刘淼6URLHTTP404-NOTFOUND用于标识因特网上的资源。指定访问资源的协议,资源所在的机器名及资源位置。语法scheme://user:password@host:port/url-path;params?query#fragment2020年1月10日广州大学Java网络编程主讲:刘淼7具体协议相关@host:port/url-path?query#bookmark2020年1月10日广州大学Java网络编程主讲:刘淼82020年1月10日广州大学Java网络编程主讲:刘淼9相对URL继承所在文档的协议、主机名和路径具体例子P622020年1月10日广州大学Java网络编程主讲:刘淼10标记语言介绍祖先:SGMLStandardGeneralizedMarkupLanguage发明人:CharlesGoldfarb---标记语言之父HTML举例3.1.html文件XML2020年1月10日广州大学Java网络编程主讲:刘淼11第7章URL和URIJava对应用层寻址支持URL类URI类2020年1月10日广州大学Java网络编程主讲:刘淼12URL类API文档分解URL对象P202URLParser.java用URL类检索资源FetchURL.java2020年1月10日广州大学Java网络编程主讲:刘淼13URLEncoder类P216ASCII子集解决不同平台上文件名表示差异特殊字符编码问题URLDecoder类与URLEncoder类功能正好相反2020年1月10日广州大学Java网络编程主讲:刘淼14URI类[scheme:]scheme-specific-part[#fragment]mailto:java-net@java.sun.comnews:comp.lang.javaurn:isbn:096139210x解析URIURISplitter.java2020年1月10日广州大学Java网络编程主讲:刘淼15第8章Swing中的HTML组件上的HTML大多数基于文本的Swing组件,如标签、按钮、菜单项等,都可以指定其文本为HTML,组件会正确显示HTML。JEditorPane可以显示网页文件见P248例8-22020年1月10日广州大学Java网络编程主讲:刘淼16第8章Swing中的HTML解析HTMLHTMLEditorKit.Parser在HTML文档中寻找5种标记:起始标记、结束标签、空元素标签、文本和注释。HTMLEditorKit.ParserCallback提供了Parser类的6个回调方法2020年1月10日广州大学Java网络编程主讲:刘淼17第8章Swing中的HTMLHTTP协议的无状态性CookieURL重写隐藏表单2020年1月10日广州大学Java网络编程主讲:刘淼18第15章URLConnectionHTTP提供访问Web服务器上的文件服务,Web浏览器通过HTTP协议来请求文件或服务器端的动态内容。现在,HTTP应用又有新的方式作为Web服务消息的传输协议,传输SOAP消息2020年1月10日广州大学Java网络编程主讲:刘淼19第15章URLConnectionHTTP的工作方式请求/响应模式URLConnection与URL的区别一个单向,一个双向可以查看服务器的响应消息的首部可以设置客户端请求消息的首部依赖TCP套接字通信2020年1月10日广州大学Java网络编程主讲:刘淼20使用URLConnection通信的一般步骤1构造一个URL对象2调用URL对象的openConnection()方法获取对应该URL的URLConnection对象3配置此URLConnection对象4读取首部字段5获得输入流读取数据6获得输出流写入数据7关闭连接2020年1月10日广州大学Java网络编程主讲:刘淼21例15-1通过URLConnection下载Web页SourceView2.java例15-2用正确的字符集下载Web页EncodingAwareSourceViewer.java2020年1月10日广州大学Java网络编程主讲:刘淼22获取服务器响应消息的首部字段值P505----P514服务器响应消息构成一个状态行:状态码+文本信息状态码P5441XX报告2XX请求成功3XX重定向4XX客户端错误5XX服务器端错误一个响应首部,包括多个响应字段名及其取值Content-Type:指定实体内容类型,如text/html;charset=UTF-8Content-Length:指定实体字节数Content-Encoding:指定内容编码方式2020年1月10日广州大学Java网络编程主讲:刘淼23Last-Modified:指明最后更新时间Expires:指定缓存到期时间一个实体:包含文件内容或服务器输出内容举例:显示整个HTTP首部AllHeaders.java2020年1月10日广州大学Java网络编程主讲:刘淼24配置连接P514----P5227个实例字段,定义了客户段如何向服务器发出请求配置客户端请求首部setRequestProperty(Stringname,Stringvalue)addRequestProperty(Stringname,Stringvalue)CookieIf-Modified-SinceReferer:指定链接到请求URL的URL2020年1月10日广州大学Java网络编程主讲:刘淼25HttpURLConnection客户请求的7种方法P5382020年1月10日广州大学Java网络编程主讲:刘淼26GET请求方法GET+URI+HTTP版本发送参数受到URL长度限制、不安全HEAD请求方法HEAD+URI+HTTP版本POST请求方法2020年1月10日广州大学Java网络编程主讲:刘淼27使用URLConnection类修改和检查首部域HTTPHeaders.java2020年1月10日广州大学Java网络编程主讲:刘淼28举例:UsingHttpURLConnection.java2020年1月10日广州大学Java网络编程主讲:刘淼29在Java中发送GET请求SendGET.java在Java中发送POST请求SendPost.javaWeb服务器WebServerDemo.javaP363JHTTP.java2020年1月10日广州大学Java网络编程主讲:刘淼30实验三应用协议编程使用常见的一种应用协议开发基于客户/服务器模式的应用软件6学时实验目的及要求通过实验,熟悉HTTP协议或电子邮件协议应用编程范型,并能熟练运用。2020年1月10日广州大学Java网络编程主讲:刘淼31实验题目1Web浏览器2Web服务器3SMTP客户/服务器4POP3客户/服务器实验报告的规范格式
本文标题:HTTP协议应用编程
链接地址:https://www.777doc.com/doc-2876484 .html