美文网首页
HTTP基础

HTTP基础

作者: Recalcitrant | 来源:发表于2019-07-30 11:33 被阅读0次

    一、 HTTP 基本原理

    1.URI

    URI(Uniform Resource Identifier):统一资源定位符,用来唯一指定网络上的一个资源。

    2. HTTP 和 HTTPS

    HTTP 超文本传输协议,用于从网络传输超文本数据的协议,它能够保证高效而准确的传输超文本文档,目前广泛使用的是HTTP1.1版本。

    HTTPS协议,是HTTP协议的安全版本。在HTTP下加入SSL层,简称为HTTPS。
    HTTPS的安全基础是SSL,通过它的传输内容都会经过SSL加密。主要功能有以下两点:

    • 建立一个安全通道来保证数据传输的安全。
    • 确认网站的真实性。因为需要CA机构颁发CA证数。

    HTTP工作包括请求响应两个步骤。

    graph LR
    客户端-->服务器
    服务器-->客户端
    

    3. HTTP请求

    请求由客户端向服务器端发出,分为四个部分:

    • 请求方法(Request Method)
    • 请求网址(Request URL)
    • 请求头(Request Header)
    • 请求体(Request Body)

    (1) 请求方法

    方法 描述
    GET 请求页面,返回页面内容。是向服务器要数据的
    HEAD 类似GET请求,只是返回的只有Header中的内容
    POST 用于向服务器发送数据
    PUT 用于对服务器的数据进行修改
    DELETE 删除服务器上指定内容
    CONNECT 将服务器作为跳板,访问其他服务器页面
    OPTIONS 请求web服务器告知其支持的各种功能

    (2) 请求网址

    唯一的标识了我们想请求的资源。

    (3) 请求头

    请求头里存放了服务器使用的附加信息,例如Cookie、User-Agent等。下面是常见信息:

    • Accept:用于指定客户端可以接收哪些类型的信息。
    • Accept-Lanaguage:客户端可以接收的语言类型。
    • Accept-Encoding:指定客户端可接受的内容编码。
    • Host:指定请求资源的主机IP和端口号。
    • Cookie:存储在本地的数据。
    • Referer:用来标识请求是从哪个页面发过来的。
    • User-Agent:用来使服务器端识别客户端使用的操作系统、浏览器等。
    • Content-Type:表示请求中的媒体类型信息。常见的content-type类型:
    1. application/x-www-form-urlencoded:表单数据
    2. multipart/form-data:文件上传
    3. application/json:序列化的JSON数据
    4. text/xml:xml数据。

    (4) 请求体

    一般放的是post的请求数据。对于get请求,请求体为空。
    注意:Get请求每次提交的数据,最多只能有1024字节。

    4. HTTP响应

    响应由服务器端返回给客户端,分为三个部分:

    • 响应状态码(Status Code)
    • 响应头(Response Header)
    • 响应体(Response Body)

    (1) 响应状态码

    代表服务器处理请求的状态。
    例如:200代表成功,302代表重定向,404代表未找到服务,500代表服务器端异常。

    (2) 响应头

    包含了服务器对请求的响应信息。

    • Date:响应产生的时间
    • Last-Modified: 指定资源的最后修改时间。
    • Content-Encoding:指定响应内容的编码。
    • Server:包含的服务器信息。
    • Content-Type:返回的文档类型。
    • Set-Cookie:设置cookie。告诉浏览器要将此信息存储在cookie中。
    • Expires:设置响应的过期时间。可以使浏览器将内容存放在缓存中。

    二、爬虫的基本原理

    1.爬虫的步骤:

    简单的说,爬虫就是获取网页并提取和保存程序的自动化程序。
    主要包括以下步骤:

    graph LR
    抓取网页-->提取信息
    提取信息-->保存数据
    保存数据-->自动化
    

    2.数据类型

    爬取的数据类型包括:文本、JSON、二进制文件(文件、图片、音乐)等。

    3.爬取网页类型

    大体上爬取的网页分为以下两种类型:

    • 静态网页
    • 取由JS动态渲染的内容

    4.常见操作

    • 保持会话操作,以便爬取需要登录的信息。
    • 使用代理,避免IP被封问题。

    相关文章

      网友评论

          本文标题:HTTP基础

          本文链接:https://www.haomeiwen.com/subject/hkcgrctx.html