上世纪九十年代前,互联网还没有被发明出来,那时候的网络基本以发邮件(Email1965年发明)等形式简单实用
是一个用于标识某一互联网资源名称的字符串 URI 分为 URL 和 URN,我们一般使用 URL 作为网址
一级域名com 二级域名baidu 三级域名www
浏览器负责发起请求 服务器在 80 端口接收请求 服务器负责返回内容(响应) 浏览器负责下载响应内容 HTTP 的作用就是指导浏览器(Clinet)和服务器(Server)如何进行沟通 请求示例 1.url -s -v -H "Frank: xxx" -- "https://www.baidu.com" 请求的内容为
GET / HTTP/1.1
Host: www.baidu.com
User-Agent: curl/7.54.0
Accept: */*
Frank: xxx
curl -X POST -s -v -H "Frank: xxx" -- "https://www.baidu.com" 请求的内容为
POST / HTTP/1.1
Host: www.baidu.com
User-Agent: curl/7.54.0
Accept: */*
Frank: xxx
请求的格式
1 动词 路径 协议/版本
2 Key1: value1
2 Key2: value2
2 Key3: value3
2 Content-Type: application/x-www-form-urlencoded
2 Host: www.baidu.com
2 User-Agent: curl/7.54.0
3
4 要上传的数据
请求最多包含四部分,最少包含三部分。(也就是说第四部分可以为空) 第三部分永远都是一个回车(\n) 动词有 GET POST PUT PATCH DELETE HEAD OPTIONS等 这里的路径包括「查询参数」,但不包括「锚点」(锚点是浏览器看的,服务器不看) 如果你没有写路径,那么路径默认为 / 第 2 部分中的 Content-Type 标注了第 4 部分的格式
打开 Network 地址栏输入网址 在 Network 点击,查看 request,点击「view source」 点击「view source」 点击「view source」 点击「view source」 终于点了?可以看到请求的前三部分了 如果有请求的第四部分,那么在 FormData 或 Payload 里面可以看到
响应的格式
1 协议/版本号 状态码 状态解释
2 Key1: value1
2 Key2: value2
2 Content-Length: 17931
2 Content-Type: text/html
3
4 要下载的内容
状态码 状态码要背,是服务器对浏览器说的话 1xx 不常用 2xx 表示成功 3xx 表示滚吧 4xx 表示你丫错了 5xx 表示好吧,我错了 状态码查询
状态码 | 描述 |
---|---|
200 | 请求成功。一般用于GET与POST请求 |
201 | 成功请求并创建了新的资源 |
202 | 已接受。已经接受请求,但未处理完成 |
301 | 永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。 |
302 | 临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI |
303 | 查看其它地址。与301类似。使用GET和POST请求查看 |
304 | 未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。 |
305 | 使用代理。所请求的资源必须通过代理访问 |
400 | 客户端请求的语法错误,服务器无法理解 |
401 | 请求要求用户的身份认证 |
402 | 保留,将来使用 |
403 | 服务器理解请求客户端的请求,但是拒绝执行此请求 |
404 | 服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面 |
405 | 客户端请求中的方法被禁止 |
500 | 服务器内部错误,无法完成请求 |
501 | 服务器不支持请求的功能,无法完成请求 |
502 | 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求 |
503 | 由于超载或系统维护,服务器暂时的无法处理客户端的请求 |
504 | 充当网关或代理的服务器,未及时从远端服务器获取请求 |
505 | 服务器不支持请求的HTTP协议的版本,无法完成处理 |
打开 Network 输入网址 选中第一个响应 查看 Response Headers,点击「view source」,点击「view source」,点击「view source」 你会看到响应的前两部分 查看 Response 或者 Preview,你会看到响应的第 4 部分
如果你觉得这篇文章对你有点用的话,麻烦请给我们的开源项目点点star:http://github.crmeb.net/u/defu不胜感激 !
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。