关于HTTP 那些事
自从有万维网以来,人们浏览网页的通信协议一直都没有变过,就是请求和相应模式。这都是遵守HTTP协议的缘故。那么,现在我就解来揭开HTTP的神秘面纱吧。
1.HTTP 是什么鬼 ?
http的全称为超文本传输协议,是“HyperText Transfer Protocol”的缩写。我们之所以能在浏览器输入网址后就返回一个网页,都是遵守HTTP协议标准实现的。是一个客户端和服务器端请求和应答的标准。通俗来讲,他就是计算机通过网络进行通信的规则,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据。目前任何终端(手机,笔记本电脑。。)之间进行任何一种通信都必须按照Http协议进行,否则无法连接。
2. HTTP 请求包括哪些部分,如何在cherome上查看
- 一个HTTP请求报文由请求行,请求头部,空行和请求数据4个部分组成,下面给出了请求报文的一个示例:第一行为第一部分即请求行;剩下4行全部为第二部分即请求头部;第三部分永远为空行;第四部分为请求数据。
示例GET / HTTP/1.1
Host: www.baidu.com
User-Agent: curl/7.54.0
Accept: /
user: 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 要上传的数据
如何用Chrome开发者工具查看其请求内容
首先使用CHROME浏览器,右键单击‘检查’即打开开发者工具,然后再单击Network开关,在地址栏输入一个网址https://www.baidu.com/,在 Network 点击,查看 request,点击「view source」,可以看到请求的前三部分了。如果有请求的第四部分,那么在 FormData 或 Payload 里面可以看到。
image.png
3.HTTP 响应包括哪些部分,如何用Chrome开发者工具查看其响应内容
- HTTP响应报文主要由状态行、响应头部、空行以及响应数据4部分组成。状态行分别为:协议版本,状态码,状态码描述。以下为例子:
HTTP/1.1
Accept-Ranges: bytes
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Connection: Keep-Alive
Content-Length: 2443
Content-Type: text/html
Date: Tue, 10 Oct 2017 09:14:05 GMT
Etag: "5886041d-98b"
Last-Modified: Mon, 23 Jan 2017 13:24:45 GMT
Pragma: no-cache
Server: bfe/1.0.8.18
Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
<!DOCTYPE html>
<html> <head> 后面太长,省略了……
响应的格式
1 协议/版本号 状态码 状态解释
2 Key1: value1
2 Key2: value2
2 Content-Length: 17931
2 Content-Type: text/html
3
4 要下载的内容
用 Chrome 查看响应
打开 Network
输入网址
选中第一个响应
查看 Response Headers,点击「view source」,点击「view source」,点击「view source」
你会看到响应的前两部分
查看 Response 或者 Preview,你会看到响应的第 4 部分
image.png
3.如何使用 curl 命令
curl -s -v -H "Frank: xxx" -- "https://www.baidu.com" 参数谷歌一下就知,
curl -s -v -H "Frank: xxx" -- "https://www.baidu.com"
HTTP/1.1 200 OK
< Accept-Ranges: bytes
< Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
< Connection: Keep-Alive
< Content-Length: 2443
< Content-Type: text/html
< Date: Wed, 06 Jun 2018 15:05:54 GMT
< Etag: "588603ec-98b"
< Last-Modified: Mon, 23 Jan 2017 13:23:56 GMT
< Pragma: no-cache
* Server bfe/1.0.8.18 is not blacklisted
< Server: bfe/1.0.8.18
< Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
<
网友评论