WebServer version00 服务器与客户端的连接(学习笔记)

创建webserver基础相关类和结构
测试浏览器与服务器的连接

**服务器与客户端的连接** 		
1、 先建立服务器端 WebServer 
		    		1.1 初始化serversocket
		      			     serversocket socket =
		      			      new serversocket(8080) ;
		    		1.2 建立连接
		           			socket.accept()
		    		1.3 建立内部类处理客户端的请求 并实现Runnable 
		    			处理多个请求需要使用线程来处理
		       			    ClindHandler implements Runnable
		             			   1.3.1)处理客户端的请求需要 
		             			         socket连接
		ClindHandler(SeverSocket socket){
     
		        this.soket = socket ;
			 }
					     			1.3.2) 处理客户端需连接服务器
								     		socket.accept()
				//这里就需要连接 服务器 因此需要传入 sock 对应 1)
					ClindHandler ch = new ClindHandler(sock) ;
				//有多个客户请求 需要有线程来处理 因此 实现Runnable
								  Thread th = new Thread(ch) ;
								     			th.start() ;
		     			 1.3.3)实现Runnable 必须重写run方法
								     			 run(){
     
								     			 读:
									     			        					InputStream in = soket.getInputStream() ;
 循环里 in.read() ;
读取时候是必须是ISO8859-8格式 不是UTF-8 这是规定 读取后的HTTP格式 读取客户端的请求格式
		请求(request): 分三步 1.请求行 2.消息头 3.消息正文
																请求行		GET / HTTP/1.1
																消息头		Host: localhost:8080CRLF
																			Connection: keep-aliveCRLF
																			Upgrade-Insecure-Requests: 1CRLF
				Accept:text/html,application/xhtml+xml,
				application/xml;q=0.9,*/*;q=0.8CRLF
				User-Agent: Mozilla/5.0 (Macintosh; Intel Mac 
				OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, 
				like Gecko) Version/12.0.3 Safari/605.1.15CRLF
				Accept-Language: zh-cnCRLF
				DNT: 1CRLF
				Accept-Encoding: gzip, deflateCRLFCRLF 两个CRLF
				说明请求内容结束											
    消息正文     10101010101011100000101010....				     
    1.3 .4)把读取客户端的请求信息写到另外一个类里,方便改写和读取代码

你可能感兴趣的:(java)