店铺:https://shop58616120.taobao.com
一、创建服务器 并启动
代码清单1
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
public class HTTPServer {
private ServerSocket server;
public static void main(String[] args) throws IOException {
new HTTPServer().start();
}
// 启动服务器
public void start() {
try {
server = new ServerSocket(8888);
this.receive();
} catch (IOException e) {
e.printStackTrace();
}
}
// 接收客户端连接
private void receive() {
try {
Socket client = server.accept();
StringBuilder sb = new StringBuilder();
String msg = null;
BufferedReader br = new BufferedReader(new InputStreamReader(client.getInputStream()));
while((msg = br.readLine()).length() > 0){
sb.append(msg);
sb.append("\r\n");
if(null == msg){
break;
}
}
String requestInfo = sb.toString().trim();
System.out.println(requestInfo);
} catch (IOException e) {
e.printStackTrace();
}
}
// 停止服务器
public void stop() {
try {
server.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
二、表单数据
method: 请求方式 get/post
get: 默认方式,数据量小,安全性不高
post:量大,安全性相对高
action: 请求的服务器路径
id:编号,前端区分唯一性,js中使用
name:名称,后端(服务器)区分唯一性,获取值
只要提交数据给后台,必须存在name
三、HTTP请求与响应格式
HTTP请求由3部分构成,分别是:
请求方式、URI(统一资源定位符)、HTTP协议/版本
请求头(RequstHeader)
请求正文(RequestContent) post才有
HTTP响应由3部分组成,分别是:
HTTP协议版本、状态代码、描述
响应头(Response Head)
响应正文(Response Content)
注释1:借助Chrome、Firefox等浏览器开发者工具查看请求、响应信息