美文网首页
认识HTTP

认识HTTP

作者: bzwhlll | 来源:发表于2018-05-01 09:54 被阅读0次

HTTP协议

HTTP(HyperText Transfer Protocol)超文本传输协议,是应用层的一种通信协议。用于在端与端之间传输文本,使我们能在浏览器上获取内容。通过HTTP协议,浏览器(Browser)向服务器(Server)发送请求,服务器返回响应

HTTP请求

向baidu发出请求:

 curl -s -v -- "https://www.baidu.com"

请求内容如下:

> GET / HTTP/1.1
> Host: www.baidu.com
> User-Agent: curl/7.55.0
> Accept: */*
>

请求内容分为4部分:

  1. 动词 路径 协议/版本 (首行)
  2. key:type (头信息)
  3. key:type
  4. key:type
  5. 要上传的数据 (请求体)
    注:第3部分永远是回车,空行后第4行是传递的数据。上面的内容有前3部分。动词有 GET POST PUT PATCH DELETE HEAD OPTIONS 等。

HTTP响应

发出请求后收到的回应:

< 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: Mon, 30 Apr 2018 14:55:42 GMT
< Etag: "588603e6-98b"
< Last-Modified: Mon, 23 Jan 2017 13:23:50 GMT
< Pragma: no-cache
< Server: bfe/1.0.8.18
< Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
<
{ [2443 bytes data]
* Connection #0 to host www.baidu.com left intact

回应内容也分为4部分:

  1. 协议/版本号 状态码/解释
  2. key:type
  3. key:type
  4. key:type
  5. 要上传的数据
    注:第3部分永远是回车。1,3部分之间有许多key:type部分。

缓存

使用浏览器时,经常会遇到缓存相关的信息。对缓存的控制信息在HTTP请求中就能找到。根据头信息,判断是否向服务器请求信息,是否使用缓存。
头信息中,和缓存相关有
Cache-Control,Expires
Etag,Last-Modified
具体的缓存机制可参考:

Chrome工具查看请求与响应

请求
1.png
访问baidu.com后,F12开发者工具,在Network标签下,找到www.baidu.com,Header标签,Request Headers标签,view source能查看请求的内容。
2.png
响应

同样,Response Headers标签下是响应的内容。Preview,Response下是响应的第4部分。

curl命令

curl起到传输文件的作用,利用它,可以下载网页中的内容,可以模拟提交数据,请求GET POST等,调试网页,debug时会经常用到。一些使用例子如下:

// 模拟发出请求,-s 安静 表示不显示进度或错误信息 -v 啰嗦 能显示详细的请求,和响应信息
curl -s -v -- "https://www.baidu.com"
//-X 动词指定请求的方式 -H 用来添加头信息
curl -X POST -s -v -H "key: xxx" -- "https://www.baidu.com"
//-d 设置-d时,会默认使用POST方式(此时POST可省略),向Server以POST方式提交信息。
curl -X POST -d "1234567890" -s -v -H "key: xxx" -- "https://www.baidu.com"

以下为curl命令发出请求,得到服务器响应,得到网页,得到请求和响应的信息


3.png

相关文章

  • 认识HTTP

    HTTP协议 HTTP(HyperText Transfer Protocol)超文本传输协议,是应用层的一种通信...

  • 认识Http

    Http请求报文结构 Http由请求行、请求头、空行、请求正文组成(Get请求没有请求正文) 请求行:请求方法、u...

  • 认识HTTP协议

    HTTP简介 HTTP协议是Hyper Text Transfer Protocol (超文本传输协议)的缩写,是...

  • HTTP简单认识

    1、HTTP的请求和响应 HTTP的请求和响应都包含4个部分,在命令行输入curl -v www.baidu.co...

  • HTTP基本认识

    HTTP(HyperText Transfer Protocol,超文本传输协议又叫超文本转移协议)协议是用来完...

  • 认识HTTP报文

    HTTP协议简介 HTTP协议全称超文本传输协议,处于TCP/IP协议的应用层,最开始广泛应用于B/S架构的服务中...

  • 认识:HTTP协议

    HTTP协议规定,请求从客户端发出,最后服务器端响应请求并返回。 HTTP是不保存状态的协议 HTTP协议是一种不...

  • 三,认识HTTP协议

    一,通过chrome的插件来认识HTTP协议 下面来认识一个GET请求 1,主请求(鼠标放上去,可以看到显示的地址...

  • HTTP协议简单认识

    Http协议的认识HTPP协议的定义:全称 Hyper text transfer protocol (超文本传输...

  • HTTP协议的认识

    HTTP的地址格式如下: HTTP消息 一个HTTP消息可能是request或者response消息,两种类型的消...

网友评论

      本文标题:认识HTTP

      本文链接:https://www.haomeiwen.com/subject/jmwtrftx.html