Http协议重点概述 - Go语言中文社区

Http协议重点概述


http协议

http协议介绍

问题:什么是协议

协议就是规定双方如何通信。

http协议:

超文本传输协议 HyperText  transfer protocol 是互联网上应用最为广泛的一种网络协议,所有的www都必须遵守这个标准。

简单说,我们在做javaweb开发时,浏览器与服务器要通信,它们之间遵守就是http协议。

http协议是建立在TCP协议基础上。http协议也是基于请求与响应的模型,http协议默认的端口是80.

演示使用抓包工具来查看http协议信息

1.创建一个web工程   httpdemo,在工程中创建一个hello.html页面。

2.将工程部署到tomcat中,打开浏览器查看hello.html页面

3.安装一个httpwatch抓包工具

4.启动有一空白行httpwatch抓包工具

通过抓包工具可以看到如下信息

http请求:

 

http响应内容


 

 

 

 

http请求

http请求分为三部分:

1. 请求行

第一个:请求方式  GET   POST

第二个:请求资源路径

第三个:协议版本

 

笔试题:GETPOST请求区别?

1. get只能传递1kb以下数据,POST可以传递大数据。

2. get请求如果有请求参数,那么,浏览器上会显示请求参数

post请求不会,所以post请求会更安全。

3. 如果是get请求,有请求参数,请求参数是在http请求行的资源路径上。

 

如果是post请求,有请求参数,请求参数是在请求正文中

 

 

2. 请求头

格式 :  名称:1,2,….

 

重要的http请求头

 它是用于描述请求是从哪个位置来的,使用它可以进行防盗链。

 

 

通过它可以判断浏览器

 

 

这个头可以与http响应头last-modify组合完成服务器缓存策略

 

3. 请求正文

请求正文与请求行之间有一空白行,对于请求正文,只有在请求方式是POST的情况下,并且有请求参数,才会有请求正文。

 

http响应

http响应由三部分组成

1. 响应行

在响应行中最重要的是响应状态码

一共分为五种

1xx 代表浏览器向服务器发送请求,服务器没有做任何操作

2xx 服务器正确响应,并且响应成功。

3xx 代表浏览器向服务器发送主求,服务器完成一部分工作,通知浏览器继续执行其它的操作。

4xx 浏览器错误

5xx 服务器端错误

 

最常见的状态码  

200 响应成功

302  可以与一个响应头location组合完成重定向。

304  代表服务器端资源没有改变。

404  资源访问不到

405  浏览器请求时请求的方式get/post没有与之对应的方法

500  服务器端错误。

2. 响应头

响应头格式   name:1,2,

 

Location 它与302状态码组全可以完成重定向功能。(response对象)

Content-type:服务器响应回的数据mimeType类型。

refresh 可以实现定时跳转

content-disposition 可以完成文件下载

 

expires

cache-control

pragma

这三个头可以实现禁用浏览器缓存。

 

Last-modified 它与304状态码及http请求头  if-modify-since组合完成服务器缓存策略。


 3. 响应正文

对于http响应正文,它是真正被浏览器解析并显示在浏览器上的。

 

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_37677804/article/details/78477857
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-08-25 16:16:08
  • 阅读 ( 1003 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

推荐文章

猜你喜欢