HTTP基础概念学习

HTTP协议

概念:

全名为 HyperText Transfer Protocol, 是超文本传输协议

分类:

HTTPS协议 和 HTTP协议 两种 :

  • HTTP协议:无加密,安全性低,服务器端口为 80 端口

  • HTTPS协议:在HTTP协议上进行了加密,安全性高,服务器端口为443端口

URL

概念:

全名为 Uniform Resource Locator , 中文译为 统一资源定位符

组成部分:

  • scheme : 代表的是访问的协议,一般为 http 或者 https 以及 ftp 等
  • host : 主机名,域名
  • port : 端口号,默认为80端口
  • path : 文件路径
  • query-string : 查询参数
  • anchor : 锚点,用来定位页面,有 # 标识

url编码 :

在浏览器中的 url ,除英文字母,数字和部分符号外,其他的全部使用百分号+十六进制进行编码

请求方法

常用的有两种 : get请求 和 post请求

get请求 : 不用向服务器提交额外参数,就可以直接通过网址下载所需数据的时候使用

post请求 : 要向服务器提交一些参数后才能获取所需数据的时候使用,比如登录或者上传文件等

不过最终还是要根据网站的情况而定,毕竟林子大了什么鸟都有

请求头参数

在http协议中,向服务器发送一个请求,数据氛围三部分:

  • 数据放在 url 中
  • 数据放在 body 中
  • 数据放在 head 中

常见的一些请求头参数:

  • User-Agent : 浏览器名称。请求一个网页时,服务器会根据这个参数判断请求是由哪个浏览器发出的

  • Referer : 表明发出的请求的源头

  • Cookie : 用来标识请求人身份的,因为 http是无状态的,可以理解为脸盲,第二次见到你还是不认识你,常常登录的时候需要用到

常见的响应状态码

  • 200 : 请求正常,服务器正常返回数据

  • 301 : 永久重定向,比如在访问 www.jingdong.com 的时候会重定向到 www.jd.com

  • 302 : 临时重定向,比如访问一个需要登陆的页面时,而此时没有登陆,那么就会重定向到登陆页面

  • 400 : 请求的 url 在服务器上找不到

  • 403 : 服务器拒绝访问,权限不够

  • 500 : 服务器内部错误,可能是出现 bug 了

学习资料来源:
CSDN学院《从零起步,系统掌握Python网络爬虫》课程

你可能感兴趣的:(python爬虫)