HTTP 的作用就是指导浏览器和服务器如何进行沟通。
-请求命令
-请求的格式
1所在行为第一部分,一下以此类推。一共有四部分。
-注意:
1.请求最多包含四部分,最少包含三部分。(也就是说第四部分可以为空)
2.第三部分永远都是一个回车(\n)
3.动词有 GET POST PUT PATCH DELETE HEAD OPTIONS 等
4.这里的路径包括「查询参数」,但不包括「锚点」
5.如果你没有写路径,那么路径默认为 /
6.第 2 部分中的 Content-Type 标注了第 4 部分的格式
1.打开 Network
2.地址栏输入网址
3.在 Network 点击,查看 request,点击「view source」
4.点击「view source」
5.可以看到请求的前三部分,如果有请求的第四部分,那么在 FormData 或 Payload 里面可以看到
请求过后一般都能有相应。
-注意:
1.GET 请求和 POST 请求对应的响应可以一样,也可以不一样
2.响应的第四部分可以很长很长
-响应的格式
-注意:
1.状态码需要记,是服务器对浏览器说的话
2.状态解释没什么用
3.第 2 部分中的 Content-Type 标注了第 4 部分的格式
4.第 2 部分中的 Content-Type 遵循 MIME 规范
1.打开 Network
2.地址栏输入网址
3.选中第一个响应
4.查看 Response Headers,点击「view source」
5.你会看到响应的前两部分
6.查看 Response 或者 Preview,你会看到响应的第 4 部分
request就是前端(比如浏览器)向后台服务器发送的请求,也就是要求服务器做什么;response则是后台服务器在处理完前端的请求后向前端发送的响应,也就是对前端请求所作出的回应。
这其实就是一次网络通讯的两个步骤,它们共同组成了一次完整的网络对话流程。
先来看一个流程图:
服务器处理请求的流程:
(1)服务器每次收到请求时,都会为这个请求开辟一个新的线程。
(2)服务器会把客户端的请求数据封装到request对象中,request就是请求数据的载体!
(3)服务器还会创建response对象,这个对象与客户端连接在一起,它可以用来向客户端发送响应。
由流程图可以看出,在JavaWeb的请求与响应中,最重要的两个参数为request以及response,这两参数在Servlet的service( )方法中。
1、response概念:
response是Servlet.service方法的一个参数,类型为javax.servlet.http.HttpServletResponse。在客户端发出每个请求时,服务器都会创建一个response对象,并传入给Servlet.service()方法。response对象是用来对客户端进行响应的,这说明在service()方法中使用response对象可以完成对客户端的响应工作。
response对象的功能分为以下四种:
(1)设置响应头信息
(2)发送状态码
(3)设置响应正文
(4)重定向
2、response响应正文
response是响应对象,向客户端输出响应正文(响应体)可以使用response的响应流,repsonse一共提供了两个响应流对象:
(1)PrintWriter out = response.getWriter():获取字符流;
(2)ServletOutputStream out = response.getOutputStream():获取字节流;
当然,如果响应正文内容为字符,那么使用response.getWriter(),如果响应内容是字节,例如下载时,那么可以使用response.getOutputStream()。
注意,在一个请求中,不能同时使用这两个流!也就是说,要么你使用repsonse.getWriter(),要么使用response.getOutputStream(),但不能同时使用这两个流。不然会抛出illegalStateException异常。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)