[JAVAEE笔记]01.Http协议

Http协议

什么是Http协议

HTTP,超⽂本传输协议(HyperText Transfer Protocol)是互联⽹上应⽤最为⼴泛的⼀种⽹络协议。

所有的WWW⽂件都必须遵守这个标准。设计HTTP最初的⽬的是为了提供⼀种发布和接收HTML⻚⾯的⽅法。

传输协议:定义了,客户端和服务器端通信时,发送数据的格式

特点:

  1. 基于TCP/IP的⾼级协议
  2. 默认端⼝号:80
  3. 基于请求/响应模型的:⼀次请求对应⼀次响应
  4. ⽆状态的:每次请求之间相互独⽴,不能交互数据

Http协议的组成

Http协议由Http请求Http响应组成,当在浏览器中输⼊⽹址访问某个⽹站时,你的浏览器会将

你的请求封装成⼀个Http请求发送给服务器站点,服务器接收到请求后会组织响应数据封装成⼀

个Http响应返回给浏览器。即没有请求就没有响应。

Http请求 request
请求⾏(第一部分)
POST /DemoEE/form.html HTTP/1.1
请求⾏组成部分(三部分)
  1. 请求⽅式[method]:HTTP协议有7中请求⽅式,常⽤的有2种:GET和POST,其他还有PUT和DELETE等
  2. 请求的资源: /DemoEE/form.html
  3. 请求协议/版本: HTTP/1.1
GET请求的特点
  1. 直接访问的时候,超链接,或者method=get的时候
  2. 请求参数在请求⾏中,在url后,用问号"?"来连接.
  3. 请求的url⻓度有限制的,所以请求的参数大小有限制
  4. 不太安全
POST请求的特点
  1. 只有在Form表单method=post的时候
  2. 请求参数在请求体中,是隐藏的不能直接看到
  3. 请求的url⻓度没有限制的,所以请求的参数大小没有限制,甚至可以是一个大文件
  4. 相对安全
请求头(第二部分)

请求头是客户端发送给服务器端的⼀些信息,使⽤键值对表示key:value

  • Cookie:与会话有关的技术,用于存放浏览器缓存的cookie信息.
  • User-Agent:浏览器通知服务器,客户端浏览器与操作系统相关的信息.
请求体(第三部分)

当请求⽅式是post的时,封装POST请求消息的请求参数的,格式如下:

username=zhangsan&password=123

如果请求⽅式为get,那么请求参数不会出现在请求体中,会拼接在url地址后⾯:

http://localhost:8080...?username=zhangsan&password=123
Http响应 response
响应⾏
HTTP/1.1 200 OK

http协议 状态码 状态信息

响应⾏由Http协议,状态码和状态信息组成.

  1. 常⽤的状态码如下:
状态码含义
200请求成功
302请求重定向
304请求资源没有改变,访问本地缓存
404请求资源不存在。通常是⽤户路径编写错误,也可能是服务器资源已删除
500服务器内部错误。通常程序抛异常
  1. 状态信息:状态信息是根据状态码变化⽽变化的。
响应头

响应也都是键值对形式,服务器端将信息以键值对的形式返回给客户端。

  • Location:指定响应的路径,需要与状态码302配合使用,完成跳转.
  • Content-Disposition:通过浏览器以下载的方式解析正文.取值:attachment;filename=xx.zip
  • Set-Cookie:与会话相关的技术,服务器向浏览器写入cookie.
响应体

响应体是服务器回写给客户端的⻚⾯正⽂,浏览器将正⽂加载到内存,然后解析渲染显示⻚⾯内容

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值