Java Web ——http协议请求报文
1 package com.demo.util; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.net.*; 6 /** 7 * 1、模拟服务器,通过浏览器来访问 8 * @author AWEEN 9 * 10 */ 11 public class HttpDemo { 12 13 public static void main(String[] args) { 14 // TODO Auto-generated method stub 15 ServerSocket ss = null; 16 Socket s = null; 17 18 try { 19 ss = new ServerSocket(8888); 20 21 System.out.println("服务器已经启动了,等待访问连接"); 22 23 s = ss.accept(); //准备就绪,等待 24 25 System.out.println("一下是浏览器发送过来的数据:"); 26 //通过输入流读取浏览器传过来的信息 27 InputStream is = s.getInputStream(); 28 //输出 29 byte[] buf = new byte[1024*8]; 30 int len = is.read(buf); 31 32 System.out.println(new String(buf,0,len)); 33 34 } catch (IOException e) { 35 // TODO Auto-generated catch block 36 e.printStackTrace(); 37 } 38 } 39 40 }
用浏览器访问模拟服务器 http://localhost:8888
得到浏览结果
查看控制台输出结果:
服务器已经启动了,等待访问连接
一下是浏览器发送过来的数据:
GET / HTTP/1.1 /* 请求类型/协议版本 */
Host: localhost:8888
Connection: keep-alive /* 连接类型:keep-alive保持连接、close只链接一次 */
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 /* 浏览器可以接受的媒体类型 */*表示可以执行所有媒体 */
Upgrade-Insecure-Requests: 1 /* 这是什么鬼??? */
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36 /* 浏览器版本 */
Accept-Encoding: gzip, deflate, sdch /* 编码类型 */
Accept-Language: zh-CN,zh;q=0.8 /* 接收语言 */