• Http的请求和响应


    请求有客户端发起:可分为4个部分,请求方法(Requestmethod)、请求的网址(Request URL)、请求头(Request Headers)、请求体(Request Body)

      1.请求方法

          常见的有get和post

          get和post的区别:

            1.get请求中的参数包含在URL中,数据可以在URL中看到,而post请求的URL不会包含这些数据,数据都是通过表单的形式传输的,会包含在请求体中。

            2.get请求提交的数据最多包含1024字节,而post请求没有限制。

            一般登录时,需要提交用户名和密码,其中包含了敏感信息,用get请求的话密码就会暴露在外面,最好使用post请求。

      2.请求的网址

          请求的网址,即统一资源定位符URL,它是唯一确定我们想请求的资源

      3.请求头

          请求头,用来说明服务器要使用的附加信息,比较重要的信息有Cookie、Referer、User-Agent等,下面是一些常见的头信息

          accept:请求报头域,用于指定客户端可以接受那些类型的信息

          accept-Language:指定客户端可接受的语言类型

          accept-Encoding:指定客户端可接受的内容编码

          host:指定请求资源的主机的IP和端口号,其内容为请求URL的原始服务器或网关的位置

          cookie:这是网站为了辨别用户进行会话跟踪而存储在用户本地的数据,主要功能就是为了维持当前的会话访问。

          referer:用来标识这个请求是从哪个页面发过来的,服务器可以那这信息并做响应的处理

          user-agent:简称UA,它是一个特殊的字符串头,可以使服务器识别客户使用的操作系统及版本,浏览器及其版本信息,在做爬虫时加上此信息,可以伪装成浏览器,如果不加,很有可能被识别出为爬虫。

          context-type:也叫互联网媒体类型,或者MIME类型,在HTTP协议消息头中,它用来标识具体请求中的媒体类型信息。

          因此请求头是请求的重要组成部分,在写爬虫时,大部分情况下都需要设置请求头。

      4.请求体 

          请求体一般承载的内容是post请求中的表单数据,而对于get请求请求体为空。

          content-type和post提交数据方式的关系

          application/x-www-form-urlencode        表单数据

          multipart/form-data                 表单文件上传

          application/json                 序列化json数据

          text/xml                      XML数据

    响应,由服务端返回给客户端,分为三部分:响应状态码(Response Status Code)、响应头(Response Headers)和响应体(Response Body)。

      1.响应状态码

          代表服务器的响应状态。

      2.响应头

          响应头包含了服务器对请求的应答信息,如context-type、server、set-cookie等

          date:服务响应产生的时间

          last-modified:指定资源的最后修改时间

          content-encoding:指定响应内容的编码

          server:包含服务器的信息,比如名称,版本号等。

          context-type:文档类型,指定返回的数据类型是什么。

          set-cookie:设置cookies。

          expires:指定响应的过期时间,可以使代理服务器或者浏览器将加载的内容更新到缓存中。如果再次访问,就可以直接从缓存中加载,降低服务器负载,缩短加载时间。

      3.响应体

          响应的正文数据都在响应体中了。

      

  • 相关阅读:
    计算一路话音消耗的带宽
    谋哥:我跟CEO们都说了啥
    wchar与char字符转换的探究
    pl/sql配置连接远程数据库oracle,本地没有安装oracle数据库的情况下
    围住浮动元素的三种方法
    Chromium浏览器组件设计意图
    tonymillion/Reachability的使用
    赵雅智_名片夹(3)_下拉刷新载入很多其它
    动态创建菜单和动态关联菜单项事件
    delphi创建动态菜单
  • 原文地址:https://www.cnblogs.com/AlfredZKY/p/9960254.html
Copyright © 2020-2023  润新知