HTTP+HTTPS

  • HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准(TCP)。通过使用网页浏览器网络爬虫或者其它的工具,客户端发起一个HTTP请求到服务器上指定端口(默认端口为80)。我们称这个客户端为用户代理程序(user agent)。应答的服务器上存储着一些资源,比如HTML文件和图像。我们称这个应答服务器为源服务器(origin server)。在用户代理和源服务器中间可能存在多个“中间层”,比如代理服务器网关或者隧道(tunnel)。(摘自维基百科)

​ 简单的说http是超文本传输协议,默认端口号是80;

  • HTTPS超文本传输安全协议(英语:**Hypertext Transfer Protocol Secure缩写HTTPS,常称为HTTP over TLSHTTP over SSLHTTP Secure)是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。HTTPS开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。这个协议由网景公司(Netscape)在1994年首次提出,随后扩展到互联网上。(摘自维基百科)

    https就是http+ssl,https更为安全,但是性能更低

浏览器发送请求的过程

​ url—>>dns服务器获取域名的ip地址—>请求ip—>url对应的响应+css+js+img
HTTP和HTTPS相关

  • url的形式

    scheme://host[:port#]/path/…/[?query-string][#anchor]

    Scheme:协议(例如,http,https,ftp)

    host:服务器的ip地址或者域名

    port:服务器的端口(80,443)

    path:访问资源的路径

    query-string:参数,发送给http服务器的数据

    anchor:锚(跳转到网页的锚点位置)

http协议的内容

  • 请求行

    HTTP/1.1

  • 请求头

    1. Host (主机和端口号)
    2. Connection (链接类型)
    3. Upgrade-Insecure-Requests (升级为HTTPS请求)
    4. User-Agent(浏览器名称)
    5. Accept (传输文件类型)
    6. Referer (页面跳转处)
    7. Accept-Encoding(文件编解码格式)
    8. Cookie (Cookie)

    9.x-requested-with :XMLHttpRequest (是Ajax 异步请求)

  • 请求体

    只有post请求才有请求体
    HTTP和HTTPS相关

常见的请求方法

  • get请求

  • post请求

    表单一般是post请求,发送的数据量比较大

常见响应状态码

1xx: 浏览器发送的请求不完整,没有办法进行响应

2xx:请求正常完成 200

3xx:此次请求已经正常完成,需要浏览器进行进一步操作

​ 302 307 老资源已经不在,需要再发一次请求到新资源地址

​ 304 资源未发生变更,直接使用本地缓存

4xx:浏览器请求的资源地址有误,服务器无法提供相应

​ 404 请求路径不存在

​ 403 请求路径需要有权限才可以访问

5XX:服务器端响应过程中出现错误

​ 500 服务器内部错误

字符串相关

  • str bytes.decode() 解码

  • bytes str.encode() 编码

    str 使用encode方法转化为bytes; bytes通过decode转化为str

    简单的说:

    ​ (把看的懂得转为看不懂的用编码encode,把看不懂的转为看的懂得用解码decode)

  • utf-8 Unicode的一种实现方式,变长的编码方式

其他

  • 如何访问网站

    ​ 互联网如何组织:TCP/IP协议,规定了互联网上主机的地址,通过ip地址就可以找到互联网上任意一台主机;HTTP/HTTPS协议是TCP/IP上的应用层协议,用来规定如何传送超文本文件

  • 什么情况下浏览器会发送请求

    • 地址栏内输入URL并回车,会获取html文件
    • 碰到<script src=""></script>回向src属性地址发送请求,获取js文件
    • 碰到<link href="">会将href中的链接地址发送请求,获取css文件
    • 碰到<img src="">会向src属性地址发送请求获取图片文件
    • 在页面上执行js代码时,会发送ajax请求
    • 在解析css文件时,如果碰到图片,也会发送请求

    在爬虫的过程中,页面显示的效果,不一定与html文件响应回来的数据一致

相关文章:

  • 2022-12-23
  • 2021-11-30
  • 2021-12-11
  • 2021-05-21
猜你喜欢
  • 2021-04-23
  • 2022-01-08
  • 2021-05-06
  • 2021-07-14
  • 2021-08-23
  • 2021-12-13
相关资源
相似解决方案