รายละเอียดของคำขอ HTTP - สายคำขอ
สายการร้องขอจะเรียกว่าวิธีการร้องขอ
หากผู้ใช้ไม่มีการตั้งค่าโดยค่าเริ่มต้นเบราว์เซอร์จะส่งคำขอ GET ไปยังเซิร์ฟเวอร์ ในการเปลี่ยนวิธีการร้องขอเพื่อโพสต์เขาสามารถเปลี่ยนได้
ไม่ว่าจะเป็นโพสต์หรือรับเพื่อขอทรัพยากรเว็บจากเซิร์ฟเวอร์ . ข้อมูลที่ส่งไปยังเซิร์ฟเวอร์จะถูกคั่นด้วย & ตัวอย่างเช่น get /mail/1.html?name=abc&password=xyz http/1.1
คุณสมบัติของวิธีการรับ: พารามิเตอร์ที่แนบมากับที่อยู่ URL มี จำกัด และความสามารถของข้อมูลมักจะไม่เกิน 1K
หากวิธีการร้องขอคือการโพสต์ข้อมูลสามารถส่งไปยังเซิร์ฟเวอร์ในเนื้อหาเอนทิตีที่ร้องขอ
รายละเอียดของคำขอ HTTP - ส่วนหัวข้อความ
ส่วนหัวข้อความทั่วไปในคำขอ HTTP
ยอมรับ: เบราว์เซอร์บอกเซิร์ฟเวอร์ผ่านส่วนหัวนี้และประเภทข้อมูลที่รองรับการยอมรับ-Charset: เบราว์เซอร์บอกเซิร์ฟเวอร์ผ่านส่วนหัวนี้ รูปแบบการบีบอัดที่รองรับยอมรับภาษา: เบราว์เซอร์บอกเซิร์ฟเวอร์ผ่านส่วนหัวนี้และโฮสต์ตำแหน่ง: เบราว์เซอร์จะบอกเซิร์ฟเวอร์ผ่านส่วนหัวนี้ซึ่งโฮสต์เพื่อเข้าถึง IF-Modified-Sness: เบราว์เซอร์บอกเซิร์ฟเวอร์ผ่านส่วนหัวนี้และ เวลาที่ข้อมูลถูกแคชเป็นผู้อ้างอิง: เบราว์เซอร์ใช้ส่วนหัวนี้เพื่อบอกเซิร์ฟเวอร์ซึ่งหน้าไคลเอนต์มาจากการเชื่อมต่อ: เบราว์เซอร์ใช้ส่วนหัวนี้เพื่อบอกเซิร์ฟเวอร์ จัดขึ้นหลังจากคำขอเสร็จสิ้น
ตัวอย่าง:
http_get
นำเข้า java.io.fileoutputStream; url_path = "http://192.168.1.125:8080/myhttp/pro1.png"; [] data = byte ใหม่ [1024]; int len = 0; )) = -1) {fileOutputStream.write (ข้อมูล, 0, len); null) {ลอง {inputstream.close (); ; InputStream getinpu tstream () {inputstream inputstream = null; เวลาหมดเวลาสำหรับการเชื่อมต่อกับเครือข่าย httpurlconnection.setconnecttimeout (3000); if (responsecode == 200) {// รับจากเซิร์ฟเวอร์อินพุตสตรีมอินพุต = httpurlconnection.getInputStream ();}}} catch (malformedurlexception e) {// (IOException E) {// todo catch block ที่สร้างขึ้นอัตโนมัติ e .printstacktrace ();} ส่งคืนอินพุต; );}} http_post
นำเข้า Java.io.BytearrayputputStream; นำเข้า java.net.url; นำเข้า Java.net.urlencoder; //192.168.1.125: 8080/myhttp/servlet/loginaction "; url url แบบคงที่ส่วนตัว; http_post () {// todo constructor stub} Static {ลอง {url = new u rl (path) malformedurlexception e) {// toDo บล็อก catch ที่สร้างขึ้นอัตโนมัติ e.printstacktrace ();}} / ** * @param พารามิเตอร์ * พารามิเตอร์ของ URL ที่เต็มไป (แผนที่ <string, string> params, encode string) {// stringbuffer buffer เริ่มต้นเป็น stringbuffer = new StringBuffer (); , สตริง> รายการ: params.entryset ()) {// เสร็จสิ้นการแปลงการดำเนินการบัฟเฟอร์การถ่ายทอด (entry.getKey ()). ผนวก ("=") ผนวก (urlencoder.encode (entry.getValue (), เข้ารหัส) ) .append :::::::::::::::::::::: กระทาน ::::::::::::::::::::::: กระทาน :::::::::::::::::::::::::::::::::::: กระทาน. } // system.out.println (buffer.toString ()); (); urlconnection.SetConnectTimeOut (3000); เซิร์ฟเวอร์ // รับขนาดไบต์และความยาวของไบต์ข้อมูลที่อัปโหลด [] myData = buffer.toString (). getBytes (); พิมพ์ "," แอปพลิเคชัน/x-www-form-urlencoded "); urlconnection.setRequestProperty (" เนื้อหา-ความยาว ", string.valueof (mydata.length)); = urlconnection.getOutputStream (); == 200) {return changeInputStream (urlConnection.getInputStream (), เข้ารหัส); บล็อกจับที่สร้างขึ้นอัตโนมัติ E.PrintStackTrace (); (InputStream InputStream, String encode) {// todo วิธีการที่สร้างขึ้นอัตโนมัติ bytearrayOutputStream outp utStream = bytearrayoutputStream (); (inputStream! = null) {ลอง {ในขณะที่ ((len = inputstream.read (data))! = -1) {outputstream.write (ข้อมูล, 0, len); ENCODE); // TODO วิธีการที่สร้างขึ้นอัตโนมัติแผนที่ stub <string, string> params = new hashmap <string, string> (); "); สตริงผลลัพธ์ = http_post.sendpostMessage (params," UTF-8 "); System.out.println ("-ผลลัพธ์->> " + ผลลัพธ์);}}