HTTP协议

什么是http

超文本传输协议(HTTP)是用于传输诸如HTML的超媒体文档的应用层协议。它被设计用于Web浏览器和Web服务器之间的通信。

用户通过客户端,如浏览器打开一个连接以发出请求,服务器端收到请求并发回响应。

http请求

http请求包括以下几个部分。

  1. 方法(GET/POST/PUT/PATCH/DELETE) 路径(包括查询参数但不包括锚点) 协议/版本
  2. Host:url
    User-Agent:curl/7.54.0
    Content-Type:application/x-www-form-urlencoded
    ....
  3. 一个换行
  4. 上传的数据(并不总是有)

可通过chrome浏览器查看相关信息。点击F12,找到Network,此时请求一个网页,就能看到相应的请求,点击一个请求,找到Request Headers,点击view source即可看到相应的http请求。


http响应

  1. 协议/版本号 状态码 状态解释
  2. Accept-Ranges: bytes
    Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
    Connection: Keep-Alive
    Content-Length: 2381
    Content-Type: text/html
    ...
  3. 一个换行。
  4. 下载的内容。

依然可通过用chrome浏览器查看相关信息。方法同上,唯一不同的是要通过Response Headers查看相应信息。


需要注意的是,Content-Type决定了第四部分的内容类型。
关于状态码的一些信息。

  • 2xx 表示成功响应。
  • 3xx 表示重定向。
  • 4xx 表示客户端错误。
  • 5xx 表示服务器错误。
    具体细节可查看 状态码

除了通过chrome查看,也可使用gitbash查看请求响应信息。在命令行输入curl -s -v -H "xxx:yyy" -- "http://www.baidu.com",即可查看返回的内容。

使用POST方法curl -X POST -s -v -H "xxx:yyy" -- "https://www.baidu.com"

使用POST方法并发送一些数据curl -X POST -d"123456xxxx" -s -v -H "xxx:yyy" -- "https://www.baidu.com"

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、概念(载录于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434阅读 8,553评论 6 152
  • Http协议详解 标签(空格分隔): Linux 声明:本片文章非原创,内容来源于博客园作者MIN飞翔的HTTP协...
    Sivin阅读 5,271评论 3 82
  • 深入浅出HTTP协议(WEB开发和面试必备) 1.基础概念篇 a.简介 HTTP是Hyper Text Trans...
    半世韶华忆阑珊阅读 1,256评论 0 7
  • HTTP概述 超文本传输协议(HTTP,HyperText Transfer Protocol) 是互联网上应用最...
    曹渊说创业阅读 3,896评论 2 61
  • 本文整理自MIN飞翔博客 [1] 1. 概念 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或...
    HoyaWhite阅读 2,714评论 2 20