Java Web 4.HTTP协议

四 HTTP协议

协议:两个设备进行数据交换的约定!
Http协议:超文本传输协议(hypertext transfer protocl)
超文本:字符、音频、视频、图片等等
基于tcp协议。tomcat服务器底层实现本质上就是TCP(Socket)

4.1 使用抓包来查看http协议信息
经过演示发现,浏览器和服务器,它们之间进行交互,是一个请求-响应模型!!!

请求:
​	请求行
​	请求头
​	请求正文

响应:
​	响应行
​	响应头
​	响应正文
通过抓包可以看到如下信息
	General:请求行,响应行
	Request Headers:请求头
	Response Headers:响应头
	响应正文:将显示内容携带到浏览器
	请求正文:用来接收请求的参数.

------------------------------

4.2 请求的执行流程
  • 发起请求
  • 域名解析
    本地域名解析器(C:\Windows\System32\drivers\etc\host),
    ​ 如果本地解析器无法解析,那么就交给互联网上的DNS解析器
    ​ 得到IP
  • 根据ip和端口,可以得到一个Socket对象,执行请求
    携带请求行、请求头、请求正文
  • 服务器响应浏览器
    携带响应行、响应头、响应正文

------------------------------

4.3 http请求

请求组成:请求行、请求头、请求正文

  • 请求行
Request URL : 请求路径,告诉服务器要请求的资源路径
​Request Method : 请求方式 , GET/POST
​protocol : http协议版本

---------------

  • GET请求和POST请求
get请求只能携带小数据、get请求下的请求参数会直接拼接到Request URL(请求网址)后面,QueryStringParameters

​post请求可以携带大数据、post请求下的请求参数会存放到请求正文

​	请求参数:比如,表单中的输入框中的值.

​	如果我们要做文件上传,需要用到post请求,文件比较大

---------------

  • 请求头
Content-Type:浏览器告诉服务器,请求正文的数据类型
​User-Agent:浏览器告诉服务器,我是个什么样的浏览器

---------------

  • 请求正文
请求正文,只有当请求方式为post,且有请求参数时才会有请求正文

------------------------------

4.4 Http响应

Http响应组成:响应行、响应头、响应正文

  • 响应行
Status Code : 响应状态码

​	常见的有:
​		200:服务器响应成功
​		302: 告诉浏览器,进行重定向
​		304: 页面上的内容没有发生改变,不需要重新请求服务器
​		404: 没有对应的服务器资源
​		500:服务器内部错误!

---------------

  • 响应头
Location:告诉浏览器重定向的资源路径,需要结合响应状态码302使用

​Content-Type:服务器告诉浏览器,响应正文的数据类型
​		Content-Type:text/html;charset=utf-8; 服务器告诉浏览器,响应正文是文本和html标签;告诉浏览器,应该以utf-8的形式进行解码!浏览器就会以html标签及utf-8的形式对响应正文进行渲染显示!!!

​refresh:定时跳转

​Content-Disposition:文件下载

---------------

  • 响应正文
浏览器显示的内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值