| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 爬虫剑谱第三页(网课笔记) -> 正文阅读 |
|
[网络协议]爬虫剑谱第三页(网课笔记) |
什么是http和https协议?
http协议:
超文本传输协议,一种发布和接收HTML页面的方法。服务器端口号是80端口
HTTPS协议:
是http协议的加密版本,在http下加入了ssl层。服务器端口号是443端口
(ssl层:SSL(Secure Socket Layer 安全套接层)是基于HTTPS下的一个协议加密层)
在浏览器中发送一个http请求的过程:
1.当用户在浏览器的地址中输入一个URl并按回车键之后,浏览器会向http服务器发送http请求。http请求主要分为get和post两种方法
2.当我们在浏览器中输入URL(网址)的时候,浏览器会发送Request请求去获取(网址)的HTML文件,服务器吧Request文件对象发送回浏览器
3.浏览器分析Request中的HTML,发现其中引用了很多其他文件,浏览器会自动再次发送Request去获取图片,css文件
4.当所有的文件都下载成功后,网页会根据HTML语法结构,完成的显示出来
?
URL详解:
URL (Uniform Request Locator)的简写
URL的组成部分
scheme://host:port/path/?query-string=xxx#anchor
scheme:
代表访问的协议,一般为http以及ftp等
host:
主机口,域名
port:
端口号。当访问一个网站的时候,浏览器默认使用80端口
path:
查找路径
query-string:
查询字符串
anchor:
锚点,前端用来做页面定位的
在浏览器中请求一个url,浏览器会给这这个url一个编码,除英文字母,数字和部分符号外,其他的全部使用百分号+十六进制码值进行编码
常用的请求方法:
http协议中,定义了八种方法,常用的是get请求和post请求
1.get请求:
一般情况下,只从服务器获取数据下载,并不会对服务器资源产生任何影响的时候使用get请求
2.post请求:
想服务器发送数据(登录),上传文件等会对服务器资源产生影响的时候会使用post请求。
请求头常见参数:
在http协议中,向服务器发送一个请求,数据分为三部分,第一个是把数据放在url中,第二个是把数据放在body中,第三个是把数据放在head中
常见:
1.User-Agent:
浏览器名称,服务器通过这个参数可以知道这个请求是由哪种服务器发送的,通过这个值来伪装爬虫
2.Referer:
表名当前这个请求是从那个url过来的。一般可以用作反爬技术
3.Cookie:
http协议是无状态的,也就是一个人发送了两次请求,服务器没有能力知道这两个请求是否来自同一个人,此时就用Cookie来做标识,一般想要做登录后才能访问的网站,那么就需要发送Cookie信息
?
常见响应状态码:
1.200:请求正常,服务器正常的返回数据
2.301:永久重定向。
3.302:临时重定向。比如在访问一个录取登录页面的时候,而此时没有登录,那么就会重定向到登录页面
4.400:请求的url在服务器上找不到。请求的url错误
5.403:服务器拒绝访问,权限不够
6.500:服务器内部错误,可能是服务器出现bug
chrome抓包工具:
chrome浏览器,可以方便的查看网络请求以及发送的参数
|
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 1:39:01- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |