国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java 高層網絡編程

2019-11-18 10:45:45
字體:
來源:轉載
供稿:網友

  java.net 包中的類和接口提供了可用于低層和高層網絡編程的 API。低層 API 可以讓你直接訪問網絡協議,但是為此你不得不使用低層的 TCP 套接字和 UDP 數據包。高層的 API (如 URL, URLConnection 和 httpURLConnection 等類) 可以使你更快的開發網絡應用,卻不需要寫很多代碼。另一篇文章,《Network PRogramming with J2SE 1.4》會告訴你如何使用低層的套接字進行網絡編程。這篇文章的重點則放在如何使用 java.net 包中的高層 API 開發基于 HTTP 的應用程序。
  
  這篇文章將有如下內容:
  
  · 概覽 HTTP
  
  · 概覽 java.net 包的高層 API
  
  · 示例說明如何使用高層 API
  
  · 制作一個可以下載股票行情的應用程序
  
  · 演示如何提交數據到網頁服務器
  
  · 概覽 HTTP 的驗證并展示如何保護你的網絡資源
  
  · 提供代碼實例演示如何執行 HTTP 的驗證
  
  概覽 HTTP
  
  超文本傳輸協議 (Hypertext Transfer Protocol, HTTP) 是一個“請求-回應”的應用協議。這個協議支持一套固定的方法如 GET、POST、PUT、DELETE 等。一般用 GET 方法向服務器請求資源。這里有兩個 GET 請求的例子:
  
  GET / HTTP/1.1
  
  GET /names.Html HTTP/1.1
  
  另外,你可以使用 GET 和 POST 方法向服務器發送數據,它們向服務器發送數據的方式是不同的:
  
  · GET 方法:輸入的數據將作為 URL 的一部分發送
  
  · POST 方法:輸入數據作為一個獨立的實體發送
  
  考慮一下下面的 HTML 表單:
   Java 高層網絡編程
  這個表單會提交到 http://www.javacourses.com/servlet/getMarks 由 Servlet 處理。該表單使用了 GET 方法來傳輸信息。假如用戶輸入一個學號——比如 556677——并點擊 GetMarks 按鈕,表單數據就會作為 URL 的一部分傳送到 Servlet 中。經過編碼之后的 URL 就是:http://www.javacourses.com/servlets/getMarks?number=556677。
  
  在使用 POST 方法的情況下,傳輸數據時不會將數據作為 URL 的一部分;它們會作為一個獨立的實體來傳輸。因此,POST 方法更安全,你也可以用這個方法傳輸更多的數據。而且用 POST 傳輸的數據不一定要是文本,用 GET 方法傳輸的卻一定要是文本。
  
  消息息格式
  
  請求消息指定了方法名稱 (GET 或者 POST)、URL、協議版本號、頭部消息和可選消息。頭部消息也許會包含請求信息和客戶端信息,如接受的內容類型、瀏覽器名稱以及驗證數據。返回消息指定了協議版本、響應代碼和原因。不管執行是否成功,響應代碼和原因都會報告。一些響應代碼如下:
  
  200 OK: Request sUCceeded. The requested resource can be found later in this message.
  
  301 Moved Permanently: Requested resource has moved. New location is specified later in this message.
  
  400 Bad Request: Request message is not understood by the server.
  
  404 Not Found: Requested document is not found on this server.
  
  關于 HTTP 和所有返回代碼的信息可以在 HTTP 1.1 規范 RFC2616 中找到。
  
  下面是一個請求消息由瀏覽器到服務器的例子。這里請求的 URL 是 http://java.sun.com:
  
  GET / HTTP/1.1
  
  Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,
  
  application/vnd.ms-Powerpoint, application/vnd.ms-Excel,
  
  application/msWord, */*
  
  Accept-Language: en-ca
  
  Accept-Encoding: gzip, deflate
  
  User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows 98; YComp 5.0.0.0)
  
  Host: java.sun.com
  
  Connection: Keep-Alive
  
  Cookie: SUN_ID=24.80.19.177:28346100732290;
  
  SunONEUserId=24.80.19.177:86521021960770
  
  然后這里是服務器對這個請求的回復消息:
  
  HTTP/1.1 200 OK
  
  Server: Netscape-Enterprise/6.0
  
  Date: Mon, 14 Oct 2002 15:18:04 GMT
  
  Content-type: text/html
  
  Connection: close
  
  概覽 java.net 包的高層 API
  
  java.net 包中含有高層 API。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 贵南县| 两当县| 姜堰市| 南京市| 建平县| 唐山市| 达州市| 南木林县| 阳城县| 临邑县| 辰溪县| 武宁县| 什邡市| 光山县| 阿拉善盟| 保靖县| 赤城县| 崇阳县| 琼中| 佛学| 闸北区| 宿迁市| 赣榆县| 峡江县| 电白县| 宾川县| 石阡县| 宜春市| 九台市| 沁源县| 子洲县| 玉环县| 赤水市| 奈曼旗| 长沙市| 南雄市| 中江县| 浦城县| 江津市| 浦城县| 同心县|