BS编程,即Browser、server开发。
Browser浏览器,一种特殊的客户端,支持HTTP(s)协议,能够通过URL向服务端发起请求,等待服务端返回HTML等数据,并在浏览器内可视化展示的程序。
Server,支持HTTP(s)协议,能够接受众多客户端发起的HTTP协议请求,经过处理,将HTML等数据返回给浏览器。
本质上来说,BS是一种特殊的CS,即客户端必须是一种支持HTTP协议且能解析并渲染HTML的软件,服务端必须是能够接收多客户端HTTP访问的服务器软件。
BS开发分为2端开发
客户端开发,或者称为前端开发。HTML,CSS javascript等
服务器端开发,python有WSGI DJANGO Flask、 Tornado
请求方法Method
GET 请求获取URL对应的资源
POST 提交数据至服务器端
HEAD 和GET类似,不过不返回消息正文
常见传递信息的方式
1、GET方法使用Query String
通过查询字符串在URL中传递参数
2、POST方法提交数据
使用表单提交数据,文本框input的name属性分别为age、weight、height
3、URL中本身就包含着信息
响应
响应消息行:协议版本 状态码 消息描述CRLF
状态码在响应头第一行
1xx 提示信息,表示请求已被成功接收,继续处理
2xx 表示正常响应
200 正常返回了网页内容
3xx 重定向
301 页面永久性移走,永久重定向。返回新的URL,浏览器会根据返回的url发起新的request请求
302 临时重定向
304 资源未修改,浏览器使用本地缓存。
4xx 客户端请求错误
404 Not Found,网页找不到,客户端请求的资源有错
400 请求语法错误
401 请求要求身份验证
403 服务器拒绝请求
5xx 服务器端错误
500 服务器内部错误
502 上游服务器错误,例如nginx反向代理的时候
无状态,有连接和短连接
无状态,指的是服务器无法知道2次请求之间的联系,即使是前后2次同一个浏览器也没有任何数据能够判
断出是同一个浏览器的请求。后来可以通过cookie、session来判断。
有连接,是因为它基于TCP协议,是面向连接的,需要3次握手、4次断开。
短连接,Http 1.1之前,都是一个请求一个连接,而Tcp的连接创建销毁成本高,对服务器有很大的影响。所以,
自Http 1.1开始,支持keep-alive,默认也开启,一个连接打开后,会保持一段时间(可设置),浏览器再访问该
服务器就使用这个Tcp连接,减轻了服务器压力,提高了效率。
推荐图书《HTTP权威指南》
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。