什么是HTTP协议?
HTTP协议:
是W3C制定的一种超文本传输协议。(通信协议:发送消息的模板提前被制定好)
什么是超文本?
- 超文本就是:不是普通的文本,比如流媒体,声音,视频、图片等
- HTTP协议支持:不但可以传送普通字符串,同样可以传送声音、视频等流媒体信息。
- 这种协议游走在B和S之间,B向S发数据要遵循HTTP协议。S向B发送数据同样需要遵循HTTP协议,这样B和S才能解耦合
- 什么是解耦合?即B不依赖于S,同样S也不依赖于B。
- B/S表示:B/S结构的系统(浏览器访问WEB服务器的系统)
- 浏览器向WEB服务器发送数据,叫做:请求(request)
- WEB服务器向浏览器发送数据,叫做:响应(response)
- HTTP请求协议
- HTTP的请求协议包括:4部分
- 请求行
- 请求头
- 空白行
- 请求体
- HTTP请求协议的具体报文
- HTTP的请求协议包括:4部分
- HTTP响应协议
- HTTP的响应协议包括:4部分
- 状态行
- 响应头
- 空白行
- 响应体
- HTTP响应协议的具体报文
通过F12查看
- HTTP的响应协议包括:4部分
- 怎么向服务器发送GET请求,怎么向服务器发送POST请求
- 到目前为止, 只有一种情况可以发送POST请求:使用form表单,并且from中的标签中的method属性值为:POST
- 其他一切情况都是get请求
- 输入URL 点击超链接等
get 和 post请求有什么区别
- get请求发送数据的时候,数据会挂在URL的后面,并且在URL后面添加一个"?","?"后面是数据。这样会导致发送的数据回显在浏览器的地址栏上。(get请求在"请求行"上发送数据)
- post请求发送数据的时候,在请求体当中发送。不会回显到浏览器的地址栏上。也就是说post发送的数据,在浏览器地址栏上看不到。(post在“请求体"当中发送数据)
- get请求只能发送普通的字符串,并且发送的字符串长度有限制,不同的浏览器限制不同。
- get请求无法发送大数据量
- post请求可以发送任何类型的数据,包括普通字符串和流媒体。
- post请求可以发送大数据量,理论上没有限制。
- get请求是安全的。因为get请求只是从服务器上获取数据,不会对服务器造成威胁,post是危险的,因为post请求是向服务器提交数据。容易对服务器造成威胁。
- get请求支持缓存
- 任何一个get请求最终的"响应结果"都会被浏览器缓存起来。
- 只要发送get请求,浏览器先从本地浏览器缓存中找,找不到的时候才会去服务器上获取。这种目的是为了提高用户的体验。
- post则不支持缓存(post请求用来修改服务器端资源的)
- post请求之后,服务器响应的结果不会被浏览器缓存起来。因为这个缓存没有意义。
- GET和POST请求如何选择,什么时候使用GET请求,什么时候选择POST请求?
- 怎么选择GET请求和POST请求呢?衡量标准是什么呢?你这个请求是想获取服务器端的数据,还是想向服务器发送数据。如果你是想从服务器上获取资源,建议使用GET请求,如果你这个请求是为了向服务器提交数据,建议使用POST请求。
- 大部分的form表单提交,都是post方式,因为form表单中要填写大量的数据,这些数据是收集用户的信息,一般是需要传给服务器,服务器将这些数据保存/修改等。
- 如果表单中有敏感信息,还是建议适用post请求,因为get请求会回显敏感信息到浏览器地址栏上。(例如:密码信息)
- 做文件上传,—定是post请求。要传的数据不是普通文本。
- 其他情况都可以使用get请求。
Servlet 类的开发步骤 :
第一步:编写一个Servlet类,直接继承HttpServlet
第二步:重写doGet方法或者重写doPost方法,到底重写谁,由Javaweb程序员说了算。
第三步:将Servlet类配置到web.xml文件中。
第四步:准备前端界面(form表单),form表单中指定请求路径。