HTTP协议又叫超文本传输协议,协议是指两台计算机之间在网络中进行通信所必须遵守的规则或约定。目前我们使用的HTTP协议是http1.1版本。
URL
通常我们在浏览器上输入的网址就是所谓的URL地址,URL的全称是(Unifrom Resource Locator)即“统一资源定位符”。用于描述网络上某一处资源的地址。
url的格式
例如:
http://127.0.0.1:8080/test/test?name=aa
格式 | 描述 |
---|---|
http | 使用的协议(如:http、https、ftp) |
127.0.01 | HTTP服务器的IP地址或者域名(如:www.baidu.com) |
8080 | 端口号,HTTP默认的端口号是80,这种情况下端口号可以省略不写。 |
test/test | 访问资源的路径。 |
? | ?号后面是发给HTTP服务器的参数。或者叫Query String |
# | #号后面是锚点 |
HTTP请求方法
HTTP协议定义了很多与服务器交付的方法。如果说一个URL地址用来指定网络上的资源位置,而HTTP的方法就是对这个资源进行的增、删、改、查等操作。
方法 | 描述 |
---|---|
GET | 请求指定的页面信息(查)
|
HEAD | 类似于GET请求,只不过返回的响应中没有具体内容,只有报头(查)
|
POST | 向指定的资源提交数据进行处理请求(例如提交表单或上传文件)数据被包含在请求体中。(增)
|
PUT | 从客户端向服务器传送的数据取代指定的文档的内容。(改)
|
DELETE | 请求服务器删除指定的页面。(删)
|
HTTP状态码
每个HTTP响应报文中都会携带一个状态码,用于告诉客户端请求是否成功。
常见的状态码
状态码 | 说明 | 描述 |
---|---|---|
200 | 成功 | 服务器成功处理了请求。OK |
201 | 已创建 | 请求成功并且服务器创建了新的资源 |
301 | 永久移动 | 重定向,表示请求的网页已经永久性地转移到另一个地址上了。此时响应中应该包含一个Location url,说明资源现在所处的位置。 |
302 | 临时移动 | 重定向,表示旧地址的资源还在,只是临时地从旧地址跳转到新地址。此时响应中应该包含一个Location url,说明资源现在所处的位置。 |
304 | 缓存 | 使用缓存 |
400 | 错误请求 | 服务器无法解析该请求 |
401 | 未授权 | 请求没有进行身份验证或验证未通过 |
403 | 禁止访问 | 服务器拒绝此请求 |
404 | Not Found | 服务器未找到请求的网页 |
500 | 服务器内部错误 | 服务遇到错误,无法完成请求 |
501 | 未实现 | 服务器不具备完成请求的功能 |
502 | 错误网关 | 服务器作为网关或代理,从上游服务器收到无效响应 |
503 | 服务器暂时不可用 | 由于服务器维护或者过载。 |
请求报文的结构
请求报文分为三个部分组成:起始行、请求头、请求主体。

请求头和请求主体之间有个空行,因为是Get请求所以请求体是空的
(1)起始行
例如:
GET https://www.jianshu.com/ HTTP/1.1
GET : 请求方法
https://www.jianshu.com :请求URL
HTTP/1.1 : 协议版本
(2)请求头(Header)
Accept : 表示浏览器客户端可以接受的数据类型。/;q=0.8代表所有类型
Accept-Encoding :表示浏览器支持的压缩方式。
Accept-Language :表示浏览器接受的语言
User-Agent:告诉服务器客户端使用的什么操作系统及版本、CPU类型、浏览器及版本、浏览器渲染引擎等。
Referer :用来让服务器判断来源页面,即用户从哪个页面来的。
Connection :从HTTP/1.1起,默认都开启了 Connection :Keey-Alive。保持连接特性。
Host:指定被请求的主机号和端口号,这个是必需的。
Cache: 缓存内容
Cookies: Cookies
网友评论