HTTP的请求与响应(一)

HTTP的请求与响应

服务器与浏览器的交互

服务器与浏览器的交互过程

一、HTTP请求

1.HTTP请求组成

这里写图片描述
其中:1.请求方法有GET(获取) POST(新增或者上传) PUT(整体更新) PATCH(局部更新) DELETE(删除) HEAD OPTIONS

2.请求的格式

1 动词 路径 协议/版本
2 key1:value
2 key2: value
2 key3: value
2 Content-Type: application/x-www-form-urlencoded
2 Host: www.baidu.com
2 User-Agent: curl/7.54.0
3
4 要上传的数据


  • 这里需要注意的是:

1.请求最多包含四部分、最少三部分
2.第三部分永远都是一个回车(\n)
3.动词有 GET(获取) POST(新增或者上传) PUT(整体更新) PATCH(局部更新) DELETE(删除) HEAD OPTIONS
4.这里的路径包括查询参数,但不包括锚点
5.如果你没有写路径、则默认为/
6.第2部分中的Content-Type标注了第四部分的格式(Content-Type: application(应用程序)/x-www(万维网)-form(表单)-urlencoded(将中文压缩成一种形式)

3.用curl发送请求

1.curl -s -v -H “wangliuyong” – “https://www.baidu.com” (get请求 获取内容)
2.curl -X POST -s -v -H “wangliuyong” – “https://www.baidu.com” (POST请求 上传内容)
3.curl -X POST -d “12345678” -s -v -H “wangliuyong” – “https://www.baidu.com” (POST + 数据 请求)

4.用 Chrome 发请求

1.打开 Network
2.地址栏输入网址
3.在 Network 点击,查看 request,点击「view source」
4.点击「view source」

二、HTTP响应

在浏览器发出请求之后,服务器会给出对应的响应

1.响应的内容及格式

1 协议/版本号 状态码 状态解释
2 key1:value
2 key2:value
2 Content-Length: 17931
2 Content-Type: text/html
3
4 要下载的内容


  • 其中关于状态码:

状态码:服务器对浏览器说的话(参考状态码: http://www.runoob.com/http/http-status-codes.html
1xx 不常用(信息,服务器收到请求,需要请求者继续执行操作)
2xx 表示成功(成功,操作被成功接收并处理)
3xx 表示滚吧(重定向,需要进一步的操作以完成请求)
4xx 表示出错(客户端错误,请求包含语法错误或无法完成请求)
5xx 表示服务器内部出错(服务器错误,服务器在处理请求的过程中发生了错误)

2.用 Chrome 查看响应

1.打开 Network
2.输入网址
3.选中第一个响应
4.查看 Response Headers,点击「view source」

总结

1.get请求时上传数据,服务器会拒绝接受
2.https 传输过程中数据加密,http传输过程中数据不加密
3.在浏览器发出请求之后都会得到一个响应,除非断网或者服务器宕机

猜你喜欢

转载自blog.csdn.net/wang_liuyong/article/details/81082607