美文网首页
理解HTTP

理解HTTP

作者: 不讨喜的大雄 | 来源:发表于2018-06-07 22:08 被阅读0次

什么是HTTP

HTTP(HyperText Transfer Protocol)超文本传输协议 维基百科

HTTP 的作用就是指导浏览器和服务器如何进行沟通

Client (浏览器)→ HTTP(请求)→Server(80端口)→HTTP响应→Client(浏览器)

HTTP请求与响应

浏览器负责发起请求

服务器在 80 端口接收请求

服务器负责返回内容(响应)

浏览器负责下载响应内容


HTTP 请求

请求的格式

请求最多包含四部分(图中1、2、3、4),最少包含三部分。(也就是说第四部分可以为空)

第三部分永远都是一个回车(\n)

动词有 GET/POST/PUT/PATCH/DELETE/HEAD/OPTIONS 等

这里的路径包括「查询参数」,但不包括「锚点」

如果你没有写路径,那么路径默认为 /

第 2 部分中的 Content-Type 标注了第 4 部分的格式

用 Chrome 发请求

打开 Network(F12)

network

地址栏输入网址,如www.baidu.com

在 Network 点击,查看 request,点击「view source」

百度请求

可以看到请求的前三部分了

如果有请求的第四部分,那么在 FormData 或 Payload 里面可以看到


HTTP 响应

请求了之后,应该都能得到一个响应,除非断网了,或者服务器宕机了

响应的格式

状态码是服务器对浏览器说的话

1xx消息——请求已被服务器接收,继续处理

2xx成功——请求已成功被服务器接收、理解、并接受

3xx重定向——需要后续操作才能完成这一请求

4xx请求错误——请求含有词法错误或者无法被执行

5xx服务器错误——服务器在处理某个正确请求时发生错误

状态解释没什么用

第 2 部分中的 Content-Type 标注了第 4 部分的格式

第 2 部分中的 Content-Type 遵循 MIME 规范

用 Chrome 查看响应

打开 Network

输入网址

选中第一个响应

查看 Response Headers,点击「view source」

百度响应

你会看到响应的前两部分

查看 Response 或者 Preview,你会看到响应的第 4 部分


也可以用命令行发请求并得到响应

用到curl命令,具体可以命令行释义(命令行及命令行释义可以看我相关blog

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

curl示例

请求的内容为

> GET / HTTP/1.1

> Host: www.baidu.com

> User-Agent: curl/7.59.0

> Accept: */*

>

响应的内容为

< 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: Thu, 07 Jun 2018 13:54:43 GMT

< Etag: "58860411-98b"

< Last-Modified: Mon, 23 Jan 2017 13:24:33 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=/

<

还有很多可以尝试的curl命令

可以参考链接


本文主要用于个人学习使用,如有侵权请联系我删除。

一些参考:

HTTP-维基百科

curl命令

相关文章

  • Http理解

    参考资料:刘望舒的blog玉刚说cache-control 木上有水的blog 一、Htt...

  • HTTP理解

    看HTTP协议之前首先要1.了解OSI七层网络模型(自己百度去)2.其次要知道TCP/IP协议为什么呢:因为首先要...

  • HTTP理解

    OSI 七层模型指什么 OSI是ISO制定的一个用于标准化计算机或通信系统间互联的标准体系。从底层到高层分别为 H...

  • 理解HTTP

    什么是HTTP HTTP(HyperText Transfer Protocol)超文本传输协议 维基百科 HTT...

  • 理解HTTP

    1.使用HTTP访问web应用 web使用一种http(超文本传输协议)的协议作为规范完成从客户端到服务器等一系列...

  • http理解

    深入理解httphttps://blog.csdn.net/weixin_38087538/article/det...

  • http简单理解

    本文参考:https://www.jianshu.com/p/f14d3549783e HTTP简介 HTTP协议...

  • http理解(中)

    title: http 理解(中)date: 2018-05-15 14:53:22tags: http 确保We...

  • http理解(下)

    title: http 理解(下)date: 2018-05-16 10:13:42tags: http Web的...

  • http的理解

    title: http理解(上)date: 2018-05-14 11:45:25tags: http的理解 TC...

网友评论

      本文标题:理解HTTP

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