美文网首页
关于HTTP

关于HTTP

作者: jackie季 | 来源:发表于2018-07-18 20:16 被阅读0次

HTTP(HyperText Transfer Protocol):它是一个服务器(Server)客户端(Client)之间请求与响应的标准,客户端发起一个HTTP请求,服务器端默认在80端口进行接收,然后服务器返回响应内容,客户端再下载响应内容;

在这里,HTTP就起到了一个指导双方如何沟通的作用,比如客户端输错一个网址字母,服务器端返回404告诉你没有找到这个网址;服务器宕机了,会返回500告诉你服务器无法处理请求;

下面我们来做一个HTTP请求与响应的示例:

打开bash,我们通过curl来创造请求(curl是一种利用URL语法在命令行方式下工作的开源文件传输工具),输入命令:curl -s -v -H "Frank: xxx" -- "https://www.baidu.com"

这相当于用get方式发送了一个请求,请求的内容为:

GET / HTTP/1.1

Host: www.baidu.com

User-Agent: curl/7.54.0

Accept: */*

Frank: xxx

输入命令: curl -X POST -d "1234567890" -s -v -H "Frank: xxx" -- "https://www.baidu.com"

这相当于用post方式发送了一个请求,请求的内容为:

POST / HTTP/1.1

Host: www.baidu.com

User-Agent: curl/7.54.0

Accept: */*

Frank: xxx

Content-Length: 10

Content-Type: application/x-www-form-urlencoded

1234567890

所以,请求格式就包含以下几个部分:

1 动词 路径 协议/版本

2 key : value

3 空行

4 上传的数据

注意:a. 请求最多包含四部分,最少三部分,也就是第四部分可以没有

b. 动词包括 get,post,put(整体更新),patch(局部更新),delete(删除)

c. 路径包含查询字符串,不包含锚点,不写默认为“/”’

d. 第二部分的Content-Type标注了第四部分的数据格式

e. 第三部分永远为空

下面我们通过Chrome来发送请求:

1.打开 Network

2.地址栏输入网址

3.在 Network 点击,然后查看 Request Headers,点击「view source」就看到了请求内容

响应

上面第一个请求示例所得到响应内容是:

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: 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> 后面省略......

所以响应内容的格式就是:

1 协议/版本 状态码 状态解释

2 key : value

3 空行

4 客户端要下载的内容

再回到刚才的Chrome页面,查看 Response Headers,就可以看到响应内容

对于响应内容中的HTTP状态码,它的第一位数字就代表了响应的状态

1XX:表示服务器已接受请求,但需要继续处理,HTTP协议中未定义,所以禁止服务器使用

2XX:表示成功;200 OK :请求已成功,请求所希望的响应头或数据体将随此响应返回;

           204 No Content:服务器成功处理了请求,没有返回任何内容

3XX:表示重定向,重定向目标会在本次响应的Location域中指明;301代表资源永久移走,302代表临时移走

4XX:表示客户端错误;401,403,404

5XX:表示服务器错误;500,502

详细内容请访问 https://zh.wikipedia.org/wiki/HTTP%E7%8A%B6%E6%80%81%E7%A0%81

相关文章

  • 关于 HTTP

    html 骨架 html:负责语义,结构 css:负责样式 js:负责交互 其实想看的就是这些,当你知道他比较本质...

  • 关于HTTP

    HTTP(HyperText Transfer Protocol):它是一个服务器(Server)与客户端(Cli...

  • 关于HTTP

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

  • 关于http

    HTTP 是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范 HTTP 翻译成中...

  • 关于HTTP

    HTTP是浏览器与服务器之间传输内容的协议,作用是指导他俩进行沟通。 用curl命令发起请求,示例如下 curl ...

  • 关于HTTP

    HTTP 的作用就是指导浏览器和服务器如何进行沟通。 请求 1. HTTP请求包括以下四个部分,并且请求的格式为:...

  • 关于HTTP

    HTTP的构成 HTTP Method get post HEAD只返回请求头,多数由 Javascript 方法...

  • 关于http请求

    axios的post请求:1.formdata数据格式 2.json数据格式 axios的get请求:

  • 关于http协议

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

  • 关于HTTP缓存

    HTPP缓存,浏览器会对静态文件进行缓存行为 第一次请求数据 *强制缓存客户端向浏览器发请求,如果没有缓存数据,向...

网友评论

      本文标题:关于HTTP

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