http再邂逅

http再邂逅

1.http特点总结:

  • 支持客户服务器模式:客户端向服务器发送请求,服务器响应请求。服务器端响应请求,并进行相应的服务
  • 简单快速:客户端请求服务时,只需要请求方法和路径,常用的方法:get,post,head。每种方法规定了客户与服务器联系的类型不同,
  • 灵活:允许传输任意类型的数据对象,正在传输的类型由Content_Type加以标示
  • 无连接:限制每次连接只处理一个请求,处理完客户端的请求后,并收到客户端的应答,即断开连接,节省传输时间
  • 无状态:对处理事务没有记忆能力,缺状态少意味着如何后续需要前面的信息,必须重传,导致连接传达的数据量增大,有其他机制可解决(keep_alive)

2.URI与URL

URI:统一资源标示符,一个紧凑的字符串来标示抽象或物理资源

URL:统一资源定位符,是URI的一个子集,除了确定一个资源,还提供了访问该资源的主要访问机制

3.HTTP报文分析

1.请求报文:

在这里插入图片描述

HTTP报文头:通用报文头,请求报文头,响应报文头和实体报文头

通用报文头:在这里插入图片描述

响应报文头在这里插入图片描述

请求报文头:在这里插入图片描述

实体报文头:在这里插入图片描述

常用的报文头

  1. ACCEPT:浏览器可以接受的媒体类型,accpet:* / *,可以处理所有的类型,可以设置优先级,权重q值
  2. Accept-Encording:浏览器声明自己接受的编码方法,通常指定压缩方法
  3. Accept-Language:浏览器声明语言
  4. Connect:keep-alive,客户端和服务器之间传输http数据的Tcp连接不会关闭
  5. Connect:close与上一条相反
  6. Host:请求报文域主要用于指定被请求资源的internet主机和端口号,从URL中提取
  7. Refer:告诉服务器从哪一个页面链接过来的,服务器借此可以获得一些信息用于处理
  8. User-Agent:告诉HTTP服务器,客户端使用的操作系统和浏览器的名称和版本,进行一些兼容设计
  9. Content:说明报文体内对象的媒体类型

2.响应报文

在这里插入图片描述

4.http请求方法剖析

  1. GET:GET方法用于使用给定的URI从给定服务器中检索信息,即从指定资源中请求数据。使用GET方法的请求应该只是检索数据,并且不应对数据产生其他影响。
  2. POST:向指定资源提交数据进行处理请求(例如提交表单。数据被包含在请求体中,POST请求可能会导致新的资源的建立和/或已有资源的修改。
  3. PUT:从客户端向服务器传送的数据取代指定的文档的内容,put:幂等的,POST:不是幂等的,用put方法传输资源,基本已经退出。
  4. HEAD:类似于get请求只不过,返回响应没有具体的内容,用于获取报头
  5. DELETE:请求服务器删除指定的资源
  6. OPTIONS:查询请求URI指定资源的支持的方法
  7. TRACE:用于回显服务器收到的请求,用于测试或诊断
  8. CONNECT:不常用,创建用户端与所请求资源之间的双向的通道

5.状态码

是用来表示网页服务器超文本传输协议的响应转态3位数字代码

在这里插入图片描述

状态码英文名称描述
200OK请求成功,响应头或数据体将由此响应返回
202ACCEPTED已接受请求,未处理完成
206partialContent部分内容,服务器成功处理了部分Get请求
301Moved Permanently请求的资源已经被永久移动,自动定向到新的URI
302Found临时移动,客户端使用原来的URI
400Bad Request客户端请求的语法错误,服务器
401Unauthorized要求用户身份验证
403Forbidden拒绝执行此次请求
404Not found无法找到请求的资源
500internal Server error服务器内部错误
502Bad Gateway充当网关或代理的服务器,从远端服务器接收到了一个无效的请求

6.HTTP状态管理:CooKie,Session

由于http协议是无状态的,通过这两种技术解决无状态带来的一些缺点

COOKIE:实际上就是一小段的文本信息,客户端请求服务器,如果服务器需要记录该用户的状态,就向客户端颁发一个Cookie,客户端浏览器会把cookie保存起来,当浏览器再次请求该网站时将网址以及cookie一同交给服务器,服务器检查该cookie来辨认用户的状态

在这里插入图片描述

可以自己去找一个网站输入:javascript:alert(document:cookie),来查看cookie。

**Session:**是另一种记录客户状态的机制,保存在服务器上,客户端浏览器访问服务器的时候,服务器把客户端信息某种形式记录在服务器上,再次访问时只需要从该Session中查找客户的转态就行。

保存sssion方式:cookie,URL重写,隐藏表单

session有效期:session超时便会失效,主动调用HttpSession.invalidate()

两者不同:1.存放位置不同 2.安全性不同 3.有效期上的不同 4.服务器压力的不同

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值