HTTP的请求与回应
package servlet_practice;
public class sevlt_http {
//客户端给服务器发送数据叫请求(分为GET/POST两种请求)
//服务器给客户端回传数据叫响应
//1.GET请求
//a.请求行
//请求的方式 GET
//请求的资源路径[+?+请求参数]
//请求的协议的版本号 HTTP/1.1
//b.请求头
//key:value 组成 不同的键值对,表示不同的含义
//如 Accept:告诉服务器 客户端可以接受的数据类型
//Accept-Language:告诉服务器客户端可以接受的语言类型(zh_CN表示中文中国 en_US表示英文美国)
//User-Agent:浏览器的信息
//Accept-Encoding:告诉服务器 客户端可以接受的数据编码
//Host:表示请求的服务器ip和端口号
//Connection表示告诉服务器请求连接如何处理(Keep-Alive表示告诉服务器回传完数据不要马上关闭 保持一小段时间的连接
// Closed表示马上关闭)
//2.POST请求
//a.请求行
//请求的方式 POST
//请求的资源路径[+?+请求参数]
//请求的协议的版本号 HTTP/1.1
//b.请求头
//key:value 组成 不同的键值对,表示不同的含义
//如 Accept:告诉服务器 客户端可以接受的数据类型
//Accept-Language:告诉服务器客户端可以接受的语言类型(zh_CN表示中文中国 en_US表示英文美国)
//Referer:表示请求发起时 浏览器地址栏中的地址(从哪来)
//User-Agent:浏览器的信息
//Content-Type:表示发送的数据类型
//application/x-www-form-urlencoded
//表示提交的数据格式是:name=value&name=value 然后对其进行url编码(url编码是把非英文内容转换为%xx%xx)
//multipart/form-data
//表示以多段的形式提交数据给服务器(以流的形式提交 用于上传)
//Content-length:表示发送的数据的长度
//Catch-Control:表示如何控制缓存 no-catch不缓存
//Accept-Encoding:告诉服务器 客户端可以接受的数据编码
//Host:表示请求的服务器ip和端口号
//Connection表示告诉服务器请求连接如何处理(Keep-Alive表示告诉服务器回传完数据不要马上关闭 保持一小段时间的连接
// Closed表示马上关闭)
//c.空行
//d.请求体(就是发送给服务器的数据)
//3.区分GET请求与POST请求
//GET请求
//a.form标签 method=get
//b.a标签
//c.link标签引入css
//d.Script标签引入js文件
//e.img标签引入图片
//f.iframe引入html页面
//g.在浏览器地址栏输入地址后敲回车
//POST请求
//a.form标签 method=post
//4.响应HTTP协议格式
//a.响应行
//响应的协议和版本号 HTTP/1.1
//响应状态码 200(表示请求成功) 302(表示请求重定向) 404(表示服务器已经收到了 但是数据不存在 请求地址错误) 500(表示服务器已经收到请求 但是服务器内部错误 代码错误)
//响应状态描述符 OK
//b.响应头
//key:value 不同的响应头 有其不同的含义
//Server:表示服务器的信息
//Content-Type:表示响应体的数据类型
//Content-Length:响应体的长度
//Data:请求响应的时间(格林时间)
//c.空行
//d.响应体(就是回传给客户端的数据)
}