HTTP协议: 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。用于定义WEB浏览器与WEB服务器之间交换数据的过程。
一般服务器就是说,有一些共享资源可以供其他用户使用,并且其他用户可以向上面上传资源的计算机个体
HTTP协议是学习JavaWeb开发的基石,帮助管理和维护⼀些复杂的WEB站点
①请求行
例如:POST /web01/login.html HTTP/1.1 请求行必须在HTTP请求格式的第一行。 请求行格式:请求方式 资源路径 协议/版本 请求方式:协议规定7种,常用两种:GET和POST GET请求: 1.将请求参数追加在URL后面,不安全。例如:login.html?username=tom&password=1234 2.URL长度限制GET请求方式的数据大小。 3.没有请求体 POST请求: 1.请求参数显示请求体处,较安全。 2.请求数据大小没有显示。 3.只有表单设置为method=”post”才是post请求.其他的都是get请求。 常见GET请求: 地址栏直接访问、<a href=””>、<img src=””> 等②请求头 描述了客户端向服务器发送请求时使用的http协议类型、所使用的编码以及发送内容的长度,referer,等等。 请求头也是用的键值对key:value
常见请求头描述Referer浏览器通知服务器,当前请求来自何处 。 如果是直接访问,则不会有这个头 。 常用于:防盗链Cookie与会话有关技术,用于存放浏览器缓存的cookie信息User-Agent浏览器通知服务器,客户端浏览器与操作系统相关信息③请求体
通常情况下,只有post请求方式才会使用到请求体, 请求体中都是用户表单提交的数据,每一项数据都使用键值对key=value,多组值使用&相连。 例如;username=tom&password=1234从服务端到客户端
HTTP响应格式 响应行、响应头、空行、响应体 四个部分 ①响应行 例如:HTTP/1.1 200 OK 格式:协议/版本 状态码 状态码描述 状态码:服务器与浏览器用于确定状态的固定数字号码 200 :请求成功。 302 :请求重定向。 304 :请求资源没有改变,访问本地缓存。 404 :请求资源不存在。通常是用户路径编写错误,也可能是服务器资源已删除。 500 :服务器没开机或服务器内部错误。通常程序抛异常。②响应头
响应头: 用来描述服务器回给客户端浏览器的content的⼀些描述 响应头也是用的键值对 key:value 常见响应头描述Location指定响应的路径,需要与状态码302配合使用,完成跳转Content-Disposition文件下载的时候使用。通过浏览器以下载方式解析正文Set-Cookie与会话相关技术。服务器向浏览器写入cookieRefresh定时刷新③响应体 服务器发送给浏览器的正文
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="#" method="post"> ⽤户名:<input type="text" name="username" value=""/> <br/> 密 码:<input type="text" name="password" value=""/> <br/> <input type="submit"/> </form> </body> </html>