HTTP协议方法及状态码(HTTP协议入门必备)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq78442761/article/details/87872993

目录

 

基本概念

使用telnet演示HEAD方法

使用telnet演示TRACE方法

使用telnet演示OPTIONS方法

HTTP响应中的状态码

304响应演示

使用telnet演示304响应


 

基本概念

客户端:

请求行(请求方法 路径 协议)

空行

主体信息(可选)(发送内容)

如:

POST /index.jsp HTTP/1.1
Host: localhost
Content: type: application/x-www-form-urlencode
Content-length: 5

Age=3

响应行(协议 状态码 状态文字)

响应头信息(格式为 key:value)

空行

主体信息(也可能没有)

如:

HTTP/1.1 200 OK
Content-type: text/html
Content-length: 5

hello

请求方法有:GET POST HEAD PUT TRACE DELETE OPTIONS

使用telnet演示HEAD方法

如下命令:

HEAD /index.jsp HTTP/1.1
Host: 47.101.40.99

响应截图如下:

如果查看没有的文件,如下下代码:

HEAD /index.html HTTP/1.1
Host: 47.101.40.99

响应截图如下:

Head的效果为,只给出响应头,不给出内容。

使用telnet演示TRACE方法

TRACE:如果用代理上某个网站,想看看代理有没有修改HTTP请求,就可以用TRACE来测试。TRACE可以获取访问那个网站的最后收到的请求。

如下命令:

TRACE / HTTP/1.1
Host: 47.101.40.99

响应头如下:

这里响应是是405,说明这个方法不能用,服务器没有开启这个方法

使用telnet演示OPTIONS方法

OPTIONS:是返回服务器可用的请求方法。

OPTIONS /index.jsp HTTP/1.1
Host: localhost

响应如下:

这里可以知道,本地服务器运行的方法有GET、HEAD、POST、OPTIONS、TRACE

HTTP响应中的状态码

状态码 定义 说明
1XX 信息 接收到请求,继续处理
2XX 成功 操作成功收到,理解和接收
3XX 重定义 为了完成请求,必须采用进一步措施
4XX 客户端错误 请求的语法有错误或不能完全被满足
5XX 服务端错误 服务器无法完成明显有效的效果

200:服务器成功放好网页

301/2:永久/临时重定向

304:Not Modified未修改

失败的状态码:

404:请求的网页不存在

503:服务器暂时不可用

500:服务器内部错误

304响应演示

304是指取缓存:

如构造如下的界面

代码如下:

<img src = "tomcat.png">

在此刷新后就会出现304的响应:

查看下响应信息:

客户端,多了这几个if的变化,因为客户端缓存里有这个图片,才会发送的。他只是不确定这个图片是不是变过!

这里的Response Headers里面用ETag来判断是否要更新,会配合Last-Modified,服务器就根据他发过来的ETag,Last-Modified,发送回报信息!

使用telnet演示304响应

构造如下的HTTP协议

GET /img/index.html HTTP/1.1
Host: localhost

运行截图如下:

增加如下信息,即可响应304

HTTP构造如下:

GET /img/index.html HTTP/1.1
Host: localhost
If-Modified-Since: Fri, 22 Feb 2019 03:08:38 GMT
If-None-Match: "18-58272e845856e"

运行截图如下:

猜你喜欢

转载自blog.csdn.net/qq78442761/article/details/87872993
今日推荐