http基础

前言

今天调试的时候用到了curl,所以这周就简单介绍一下curl的用法。
curl一般用来发送http请求,进行web调试,但是它还有更强大的功能。

  • --silent
    curl默认是将下载文件输出到stdout,将进度信息输出到stderr。使用--silent可以不显示进度信息。

  • 将下载内容写入文件
    使用-O可以将下载的数据写入到文件
    -o:将文件保存为命令行中指定的文件名的文件中
    -O:使用URL中默认的文件名保存文件到本地

  • 断点续传
    使用-C可以指定本次下载的偏移量,即只下载某个点之后的数据,其中偏移量是以字节为单位的整数。如果想让curl自动推断出正确的续传位置,可以使用-C -

  • 打印包头
    通过-I或者-head可以只打印出HTTP头部信息

  • 设置cookie
    使用--cookie或者-b "cookie;"/filename 选项来指定cookie,多个cookie使用分号分隔

  • 存储cookie
    使用--cookie-jar可以将cookie保存到一个文件中

  • 网络限速
    使用--limit-rate限制curl的下载速度,其中使用k和m作为单位

  • 显示详细信息
    使用-v或者--trace可以获得更多连接的信息

  • 设置头部信息
    使用-H "string"来设置http头的信息,可以使用多次

  • 设置请求方式
    使用-X指定请求方式,常用的有POST,GET

  • 发送数据
    -d "str=a&name=b",发送的数据中都是键值对的形式,key=value,多个键值对用&连接

  • HTTP代理
    代理其实就是一种介于客户端和服务器之间的桥梁,它可以是客户端,也可以是服务器。

    • 代理的作用
      1. 翻墙
        对于直接访问不了的资源,可以使用代理服务器,通过访问代理服务器间接访问资源服务器。从而不受限制影响。
      2. 匿名访问
        通过设置代理服务器,将自己的请求都集中到代理服务器,再在代理服务器上对包的结构更改,隐藏一些身份或者位置信息。
      3. 代理缓存
        代理服务器可以缓存资源服务器上的资源,从而减轻资源服务器的压力,提高浏览的速度。
      4. 隐藏真实服务器
        为了保护真实的服务器信息不被泄露,通过设置代理服务器转发请求进行访问。这样对外暴露的就只有代理服务器,而保护了真实的资源服务器的信息。
    • 代理方式
    1. 正向代理
      正向代理就是通过在客户端设置,更改头部信息等方式来指定使用的代理,也就是主动的选择代理。
    2. 反向代理
      反向代理是指请求发起的时候,访问的就是代理服务器,通过代理服务器的转发来实现资源的访问。nginx就是一种最常见的反向代理服务器。
  • HTTP协议
    HTTP协议即超文本传输协议,它是一种通信协议,允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器

    • 打开一个网页可能需要发送多次请求
      打开一个网页,首先就是发送当前的请求,然后得到返回的信息。在分析这些信息的时候,可能当前页面涉及到其他的一些信息,这时候浏览器会再去请求这些信息,直到拿到所有需要的资源。
    • 状态码
      1XX 提示信息 - 表示请求已被成功接收,继续处理
      2XX 成功 - 表示请求已被成功接收,理解,接受
      3XX 重定向 - 要完成请求必须进行更进一步的处理
      4XX 客户端错误 - 请求有语法错误或请求无法实现
      5XX 服务器端错误 - 服务器未能实现合法的请求
    • cookie
      cookie其实就是缓存在用户本地的一个文件,其中包括少量用户的信息,用来简化用户的操作,以及方便用户的使用。
      如果cookie中保存了用户的登录信息,一旦这个cookie被其他人截取获得,那么那个人就可以使用这个cookie冒充用户登录对应的网站。

你可能感兴趣的:(http基础)