当客户端与web服务器进行交互,就会产生web请求,这种请求都基于应用层(http协议)进行交互。
1.协议解析
http(HyperText Transfer Protocol)即超文本传输协议,这份协议规定的是关于浏览器与服务器的统一、规定的、相互通信的规则。它是万维网交换信息的基础,它允许将html文档,通过web服务器发送到web浏览器端。
2.发起http请求
如何发起一个http请求,这个问题很简单,在浏览器的地址栏中输入一个url ,点击回车即可
url:统一资源定位符
url:格式
协议:// 服务器ip地址[端口]/ 路径/ 文件 参数
http:// www.baidu.com:80/ xxxx/ xxx ?id=1
如何不借助浏览器发起一次http请求 , 严格来说,浏览器不过就是一个属于http的工具,我们所看到的界面,都是靠那些html 、css、js、php等语言编写出来的
linux: 使用curl功能 会发现此刻脱离了html数据的渲染,可以更直观的看到原本的界面
3.http详解
http遵循请求(Reuest) / 应答(Response)模型 , WEB浏览器向web服务器发送请求时,服务器接受请求,并返回应答
3.1 请求
这就是一份http请求 包括三个部分【请求行(请求方法)、请求头(消息报头)、请求正文】
3.2响应
与http请求所对应的就是 响应就是回答的意思,,响应也有三部分【响应行、响应头(消息报头)、响应正文】
4.HTTP状态码
当浏览器向服务器发送一条请求,服务器接收之后,就会在它那个服务器里面寻找,然后返回状态码,http的状态码有三位数字组成,第一位定义类别
- 1xx:信息提示,请求已被接收,继续处理。
- 2xx:成功处理
- 3xx:重定向,一般为资源已被移动
- 4xx:客户端错误状态码,一般为格式错误,或根本不存在的url
- 5xx:服务器本身出问题了,或者都挂了
4.1常用状态码
- 200:客户端请求成功
- 302:重定向
- 404:资源不存在
- 400:语法有问题
- 401:请求未授权
- 403:服务器接收到了,并给了你一巴掌,让你爬
- 500:内部错误
- 503:服务器运行有问题,需要修理,过段时间在进