Ajax简介:
AJAX技术能够实现无需重新加载整个网页,就可以更新部分网页内容。
在WEB应用中AJAX使用十分广泛,百度,淘宝,京东等常见的PC端网页以及各种WEB
APP, 随处可见它的身影,AJAX已经成为前端工程师的常备技能之一。
AJAX全称为Asynchronous JavaScript And XML,就是异步的JS和XML。
通过AJAX可以在浏览器中向服务器发送异步请求,最大的优势:无刷新获取数据。
AJAX不是新的编程语言,而是一一种将现有的标准组合在一起使用的新 方式。
(1)Ajax的优缺点:
①优点
1.可以无需刷新页面而与服务器端进行通信。
2.允许你根据用户事件来更新部分页面内容。
②缺点
1.没有浏览历史,不能回退
2.存在跨域问题[同源] (即是从一个服务器向另外一个服务器发送请求默认是不允许的)
3.SEO不友好(爬虫无法爬取)
【SEO (Search Engine
Optimization) :搜索引擎优
化。】
那没问题来了,为什么爬虫无法爬取数据呢?
答:Ajax会直接向服务器发送一个请求,然后服务器返回数据,最后再由js进行一个动态的呈现,因此爬虫无法得到想要的数据。
(2)HTTP协议
(大多数网页都是有HTTP来传输的)
HTTP (hypertext transport protocol) 协议「超文本传输协议」,协议详细规定了浏览器和万维网服务器之间互相通信的规则。
主要是约定了两块地方,一个是请求,一个是响应(即返回结果)就好比是
一个小孩拿着一块钱去小卖店买糖一样,小孩给钱老板给糖。
(3)报文
请求报文(分为行,头,空行,体):
行:POST/GET /s?ie=utf-8 HTTP/1.1
头:Host: shanyu. com
Cookie: name=shanyu Content -type: application/ x -Www- form-urlencoded User-Agent: chrome 83
空行
体:(get请求时体为空,post请求时体可以不为空)
username=admin&password=admin
响应报文(也是分为四部分,行,头,空行,体):
行:HTTP/1.1(响应http协议版本)200(响应状态码,200表示OK,当然还有其他的一些常见的状态码【404,403,401,500等】)OK(响应状态字符串)
头:Content-Type: text/html ; charset=utf-8(类型)
Content-length: 2048(长度)
Content-encoding: gzip (压缩方式)
空行
体(主要返回结果):
<html> <head> </head> <body> <h1>山鱼社区< /h1> </body> < /html>
返回出我们熟悉的html文本,然后再进行渲染。