公司网站建设建议桂林 网站 建设

当前位置: 首页 > news >正文

公司网站建设建议,桂林 网站 建设,免费询盘网站,做网站的那家公司好HTTP1、简介HTTP概念#xff1a;HyperText Transfer Protocol#xff0c;超文本传输协议#xff0c;规定了浏览器和服务器之间数据传输的规则。数据传输的规则指的是请求数据和响应数据需要按照指定的格式进行传输。如果想知道具体的格式#xff0c;可以打开浏览器#xf…HTTP1、简介HTTP概念HyperText Transfer Protocol超文本传输协议规定了浏览器和服务器之间数据传输的规则。数据传输的规则指的是请求数据和响应数据需要按照指定的格式进行传输。如果想知道具体的格式可以打开浏览器点击F12打开开发者工具点击Network来查看某一次请求的请求数据和响应数据具体的格式内容如下图所示注意在浏览器中如果看不到上述内容需要清除浏览器的浏览数据。chrome浏览器可以使用ctrlshiftDel进行清除。所以学习HTTP主要就是学习请求和响应数据的具体格式内容。2、HTTP协议特点HTTP协议有它自己的一些特点分别是基于TCP协议面向连接安全。TCP是一种面向连接的(建立连接之前是需要经过三次握手)、可靠的、基于字节流的传输层通信协议在数据传输方面更安全。 基于请求-响应模型的一次请求对应一次响应。请求和响应是一一对应关系 HTTP协议是无状态协议对于事物处理没有记忆能力。每次请求和响应都是独立的无状态指的是客户端发送HTTP请求给服务端之后服务端根据请求响应数据响应完后不会记录任何信息。这种特性有优点也有缺点缺点多次请求间不能共享数据优点速度快请求之间无法共享数据会引发的问题如 在网站购物中加入购物车和去购物车结算是两次请求HTTP协议的无状态特性加入购物车请求响应结束后并未记录加入购物车是何商品发起去购物车结算的请求后因为无法获取哪些商品加入了购物车会导致此次请求无法正确展示数据其实是Java早已考虑到这个问题并提出了使用会话技术(Cookie、Session)来解决这个问题。刚才提到HTTP协议是规定了请求和响应数据的格式下面介绍具体格式 3、请求数据格式3.1、格式介绍请求数据总共分为三部分内容分别是请求行、请求头、请求体 请求行HTTP请求中的第一行数据请求行包含三块内容 分别是GET[请求方式] /[请求URL路径] HTTP/1.1[HTTP协议及版本] 请求方式有七种最常用的是GET和POST 请求头第二行开始格式为key value形式请求头中会包含若干个属性常见的HTTP请求头有 Host 表示请求的主机名User-Agent 浏览器版本,例如Chrome浏览器的标识类似Mozilla/5.0 …Chrome/79IE浏览器的标识类似Mozilla/5.0 (Windows NT …)like GeckoAccept表示浏览器能接收的资源类型如text/*image/或者/*表示所有Accept-Language表示浏览器偏好的语言服务器可以据此返回不同语言的网页Accept-Encoding表示浏览器可以支持的压缩类型例如gzip, deflate等。这些数据有什么用处?服务端可以根据请求头中的内容来获取客户端的相关信息有了这些信息服务端就可以处理不同业务需求如 不同浏览器解析HTML和CSS标签的结果会有不一致所以就会导致相同的代码在不同的浏览器会出现不同的效果服务端根据客户端请求头中的数据获取到客户端的浏览器类型就可以根据不同的浏览器设置不同的代码来达到一致的效果。这就是我们常说的浏览器兼容问题 请求体 POST请求的最后一部分存储请求参数如上图红线框的内容就是请求体的内容请求体和请求头之间是有一个空行隔开。此时浏览器发送的是POST请求为什么不能使用GET呢?这时就需要回顾GET和POST两个请求之间的区别了GET请求请求参数在请求行中没有请求体POST请求请求参数在请求体中GET请求请求参数大小有限制POST没有3.2、GETPOST实例演示查看另外一篇笔记中的4.2、from此处为语雀内容卡片点击链接查看https://www.yuque.com/shiran-jo7vb/yyfgyx/frpqsesrwuzxupnf小结 请求数据中包含三部分内容分别是请求行、请求头和请求体 POST请求数据在请求体中GET请求数据在请求行上 4、响应数据格式4.1、格式介绍响应数据总共分为三部分内容分别是响应行、响应头、响应体 响应行响应数据的第一行,响应行包含三块内容分别是 HTTP/1.1[HTTP协议及版本] 200[响应状态码] ok[状态码的描述] 响应头第二行开始格式为keyvalue形式响应头中会包含若干个属性常见的HTTP响应头有 Content-Type表示该响应内容的类型例如text/htmlimage/jpegContent-Length表示该响应内容的长度字节数Content-Encoding表示该响应压缩算法例如gzipCache-Control指示客户端应如何缓存例如max-age300表示可以最多缓存300秒 响应体 最后一部分。存放响应数据下图中.htlm…./html这部分内容就是响应体它和响应头之间有一个空行隔开。 4.2、响应状态码4.2.1、状态码大类状态码分类说明1xx响应中——临时状态码表示请求已经接受告诉客户端应该继续请求或者如果它已经完成则忽略它2xx成功——表示请求已经被成功接收处理已完成3xx重定向——重定向到其它地方它让客户端再发起一个请求以完成整个处理。4xx客户端错误——处理发生错误责任在客户端如客户端的请求一个不存在的资源客户端未被授权禁止访问等5xx服务器端错误——处理发生错误责任在服务端如服务端抛出异常路由出错HTTP版本不支持等状态码大全https://cloud.tencent.com/developer/chapter/135534.2.2、常见的响应状态码状态码英文描述解释200OK客户端请求成功即处理成功这是我们最想看到的状态码302Found指示所请求的资源已移动到由Location响应头给定的 URL浏览器会自动重新访问到这个页面304Not Modified告诉客户端你请求的资源至上次取得后服务端并未更改直接用本地缓存。隐式重定向。400Bad Request客户端请求有语法错误不能被服务器所理解403Forbidden服务器收到请求但是拒绝提供服务比如没有权限访问相关资源404Not Found请求资源不存在一般是URL输入有误或者网站资源被删除了428Precondition Required服务器要求有条件的请求告诉客户端要想访问该资源必须携带特定的请求头429Too Many Requests太多请求可以限制客户端请求某个资源的数量配合 Retry-After(多长时间后可以请求)响应头一起使用431Request Header Fields Too Large请求头太大服务器不愿意处理请求因为它的头部字段太大。请求可以在减少请求头域的大小后重新提交。405Method Not Allowed请求方式有误比如应该用GET请求方式的资源用了POST500Internal Server Error服务器发生不可预期的错误。服务器出异常了赶紧看日志去吧503Service Unavailable服务器尚未准备好处理请求服务器刚刚启动还未初始化好511Network Authentication Required客户端需要进行身份验证才能获得网络访问权限关于响应状态码先主要认识三个状态码其余的等后期用到了再去掌握200ok 客户端请求成功404Not Found 请求资源不存在500Internal Server Error 服务端发生不可预期的错误