(2)HTTP的基础知识

1.HTTP协议用户客户端和服务端之间的通信

其实TCP/IP协议族里面的好多协议都用于客户端和服务端之间的通信
请求访问文本或者图像等资源的一端称为客户端
提供资源响应的一端称为服务端
在应用HTTP协议的时候,必然一端是服务端,另外一端是客户端
对于一条通信线路,服务端和客户端是确定的
对于多条通信线路,服务端和客户端的角色有可能互换

2.通过请求和响应的交换达成通信

请求必然是由客户端发出,由服务端来响应
HTTP协议规定,先从客户端开始建立通信,服务端没有接收到请求之前是不会发送响应的

  • (1)客户端发送请求
    请求某台HTTP服务器上面的页面资源,格式如下:
    GET(请求访问服务器的类型,也叫方法) /index.html(请求访问的资源对象,请求URI) HTTP/1.1(使用的协议及其版本)
    请求报文=请求方法+请求URI+协议版本+可选的请求首部字段+内容实体
  • (2)服务端回应
    HTTP/1.1(服务端的协议及其版本) 200(请求处理结果的状态码) ok
    响应报文=协议版本+状态码(表示请求成功或者失败的数字代码)+用以解释状态码的原因短语+可选的响应首部字段+实体主体

3.HTTP是不保存状态的协议(也叫做无状态协议)

HTTP协议自身不对请求和响应之间的通信状态进行保存
在HTTP这个级别(应用层),协议对于发送过的请求和响应都不做持久化处理
HTTP协议自身不具备保存之前发送过的请求和响应(响应报文的信息)的功能
使用HTTP协议的时候,每当由新的请求发送过来,就会有新的响应产生
这样做是为了更快的处理大量事物,确保协议的可伸缩性
想实现用户登录一家购物网站的时候,即使跳转到该站的其他页面,依然能够保持登录的状态
这时候就需要使用Cookie技术

4.请求URI定位资源

HTTP协议使用URI定位互联网上的资源
因为URI的功能,在互联网上的任意位置的资源都能访问到
HTTP协议使用URI让客户定位到资源

5.告知服务器意图的HTTP方法(客户端给服务端的操作)

  • (1)GET:获取资源(想访问服务器什么资源)
    GET方法用来请求访问已经被URI识别的资源
    指定的资源经过服务器端解析之后返回响应内容
  • (2)POST:传输实体主体(告诉服务器一件事)
    POST方法用来传输实体的主体
    POST方法和GET方法类似,POST的主要目的不是获取响应的主体内容
  • (3)PUT:传输文件
    PUT方法用来传输文件(和FTP协议的文件上传一样)
    要求在请求报文的主体中包含文件内容,然后保存到请求URI指定的位置
    任何人都可以使用PUT上传文件,不安全
    要配合web应用程序的验证机制或者架构设计使用REST(表征状态转移)标准才可以
  • (4)HEAD:获得报文首部
    HEAD和GET一样,只是不返回报文主体内容,用于确认URI的有效性以及资源的更新日期
  • (5)DELETE:删除文件(指挥服务端删除)
    DELETE方法按请求URI删除指定的资源
    和PUT一样,不安全
  • (6)OPTIONS:询问支持的方法
    OPTIONS方法用来查询针对请求URI指定的资源支持的方法
  • (7)TRACE:追踪路径
    TRACE方法是让Web服务端将之前的请求通信环回给客户端的方法
    TRACE方法就是用来确认连接过程中发生的一系列的操作
    牵扯到在代理服务器路由中转的时候可能被篡改
    不安全,基本上不用
  • (8)CONNECT:要求用隧道协议连接代理
    要求在于代理服务器通信时建立隧道,实现用隧道协议实现TCP通信
    主要使用SSL(安全套接层)和TLS(传输层安全)协议把通信内容加密后经网络隧道传输
    CONNECT 代理服务器:端口号 HTTP版本

6.使用方法下达命令

向请求URI指定的资源发送请求报文时,采用称为方法的命令
方法的作用:可以指定请求的资源按期望产生某种行为

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值