关于HTTP的请求和响应

请求协议的格式如下:

请求首行

请求头信息

空行

请求体

响应协议的格式如下:

响应首行

响应头信息

空行

响应体

扫描二维码关注公众号,回复: 2415425 查看本文章

响应头对浏览器来说很重要,它说明了响应的真正含义。

200:请求成功,浏览器会把响应体内容(通常是html)显示在浏览器中;

404:请求的资源没有找到,说明客户端错误的请求了不存在的资源;

500:请求资源找到了,但服务器内部出现了错误;

302:重定向,当响应码为302时,表示服务器要求浏览器重新再发一个请求,服务器会发送一个响应头Location,它指定了新请求的URL地址;

304:当用户第一次请求index.html时,服务器会添加一个名为Last-Modified响应头,这个头说明了index.html的最后修改时间,浏览器会把index.html内容,以及最后响应时间缓存下来。当用户第二次请求index.html时,在请求中包含一个名为If-Modified-Since请求头,它的值就是第一次请求时服务器通过Last-Modified响应头发送给浏览器的值,即index.html最后的修改时间,If-Modified-Since请求头就是在告诉服务器,我这里浏览器缓存的index.html最后修改时间是这个,您看看现在的index.html最后修改时间是不是这个,如果还是,那么您就不用再响应这个index.html内容了,我会把缓存的内容直接显示出来。而服务器端会获取If-Modified-Since值,与index.html的当前最后修改时间比对,如果相同,服务器会发响应码304,表示index.html与浏览器上次缓存的相同,无需再次发送,浏览器可以显示自己的缓存页面,如果比对不同,那么说明index.html已经做了修改,服务器会响应200。

参考:https://blog.csdn.net/qq_25827845/article/details/54562339

web请求方式:

OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE

方法GET和HEAD应该被所有的通用WEB服务器支持,其他所有方法的实现是可选的。GET方法取回由Request-URI标识的信息。HEAD方法也是取回由Request-URI标识的信息,只是可以在响应时,不返回消息体。POST方法可以请求服务器接收包含在请求中的实体信息,可以用于提交表单,向新闻组、BBS、邮件群组和数据库发送消息。

参考: http://baike.baidu.com/view/9472.htm

两种 HTTP 请求方法:GET 和 POST

在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。

GET - 从指定的资源请求数据。

POST - 向指定的资源提交要被处理的数据

GET 方法

请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的:

/test/demo_form.asp?name1=value1&name2=value2

有关 GET 请求的其他一些注释:

GET 请求可被缓存

GET 请求保留在浏览器历史记录中

GET 请求可被收藏为书签

GET 请求不应在处理敏感数据时使用

GET 请求有长度限制

GET 请求只应当用于取回数据

POST 方法

请注意,查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发送的:

POST /test/demo_form.asp HTTP/1.1

Host: w3schools.com

name1=value1&name2=value2

有关 POST 请求的其他一些注释:

POST 请求不会被缓存

POST 请求不会保留在浏览器历史记录中

POST 不能被收藏为书签

POST 请求对数据长度没有要求

参考:http://www.w3school.com.cn/tags/html_ref_httpmethods.asp

请求对象和响应对象(request和response)

* 当服务器接收到请求后,服务器会创建request和response对象,把请求数据封装到request对象中;

* 然后调用Servlet的service()方法时把这两个对象传递给service()方法;

* 在service()方法中可以通过request对象获取请求数据,可以使用response对象向客户端完成响应;

* 每次请求服务器都会创建新的request和response对象,即每个请求有自己独自的request和response对象。

response是响应对象,用来在Servlet的service()方法中向客户端响应数据。response的功能:

* 设置响应头

* 发送状态码

* 设置响应正文

* 重定向

request的功能:

* 获取请求头

* 获取请求参数

* Servlet三大域对象之一

* 请求包含和请求转发

参考:https://www.cnblogs.com/bkchengzheng/articles/5681633.html

猜你喜欢

转载自blog.csdn.net/qq_41596538/article/details/81141476