HTTP协议之请求和响应笔记

HTTP 的概述

HTTP 是一种用作获取诸如 HTML 文档这类资源的协议,属于OSI模型中应用层协议。它是 Web 上进行任何数据交换的基础,同时也是一种客户端—服务器(client-server)协议,也就是说,请求是由接受方——通常是浏览器发起的。

由客户端——通常是个浏览器——发出的消息被称作请求(request),由服务端发出的应答消息被称作响应(response)。

HTTP 请求(request)的一个例子:
在这里插入图片描述
Method:代表请求方法是哪一种,定义客户端执行的动作。常见的场景有:在浏览器通过url获取网页资源(使用GET);在浏览器提交 HTML 表单的参数值(使用POST)。
Path:为请求路径,Version of the protocol:为HTTP协议的版本号
Headers:为请求头部,这里面包括用户代理,浏览器版本等信息
body:为请求体(是可选项,图中没有展示),像 POST 这样的方法,请求体内包含需要了发送的资源。

HTTP 响应的一个例子:
在这里插入图片描述
同样响应(response)依次包含的信息有:
HTTP协议版本号,状态码和状态信息,响应头部,以及body响应体(可选项),一般body是携带返回请求所要的数据内容。
简单介绍下状态码:

一般程序员最希望看到是200-OK,最不希望看到的是500-Internal-Server-Error。
下面是一些常见的状态码
状态码状态信息 + 中文描述
200OK (请求成功。一般用于GET与POST请求)
301Moved Permanently (永久移动。请求的资源已被永久的移动到新URI,浏览器会自动定向到新URI)
304Not Modified(未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源)
400Bad Request (客户端请求的语法错误,服务器无法理解)
403Forbidden (服务器理解请求客户端的请求,但是拒绝执行此请求)
404Not Found (服务器无法根据客户端的请求找到资源)
500Internal Server Error (服务器内部错误,无法完成请求)
502Bad Gateway (作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应)

GET请求与POST请求的区别:

GET请求:
通过url获取网页的操作就是典型的get请求,但如果使用了GET方式传递数据,则网址链接后看到?变量名=值&变量名=值…的方式提交了数据,它是通过这种“拼接”的方式传递数据(不安全),用户输入一些重要数据时显然不可以使用这种方法传递。

POST请求补足了这个缺点:
要使用POST方式,只能通过Form表单发送POST请求,而想提交表单数据,必须在Form中使用<input type=“submit” 表单提交按钮,这两者必须搭配使用。最后设置Form标签属性:method = “POST” ,action=“提交页面地址”,点击submit按钮会将Form中所有表单数据安全提交到目的地址。

以上就是HTTP基本的概念,详细原理可参考相关百科或者文章。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值