大佬教程收集整理的这篇文章主要介绍了HTTP协议,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
打开一个网站, 就是通过 http 协议来传输数据的: 在浏览器中输入一个 搜狗搜索的 “网址” (URL) 时, 浏览器就给搜狗的服务器发送了一个 http 请 求, 搜狗的服务器返回了一个 http 响应. 这个响应结果被浏览器解析之后, 就展示成我们看到的页面内容. (这个过程中浏览器可能会给服务器发送 多个 http 请求, 服务器会对应返回多个响应, 这些响应里就包含了页面 HTML, CSS, JavaScript, 图片, 字体等信息)
通过TCP/IPc;数据能从客户端进程经过路径选择跨网络传送到服务器端进程[ IP+Port ]。 把数据从A端传送到B端c; TCP/IP 解决的是通信的功能c;而两端还要对数据进行加工处理或者使用c;我们还需要一层协议c;不关心通信细节c;关心应用细节。这层协议叫做应用层协议。而应用是有不同的场景的c;所以应用层协议是有不同种类的c;其中经典协议之一的http就是其中的佼佼者.
当我们在浏览器中输入一个 “网址”, 此时浏览器就会给对应的服务器发送一个 http 请求. 对方服务器收到这个请求之后, 经过计算处理, 就会返回一个 http 响应.
http协议以资源为基本单位:
一次请求:浏览器向Web服务器进程请求一个Web资源。请求中需要告诉客户端到服务器什么内容:请求哪个WEB资源、对资源做哪种操作、请求本身的源信息、携带的内容。
一次响应:Web服务器进程给回浏览器一个Web资源的内容
为什么 http 报文中要存在 “空行”? 因为 http 协议并没有规定报头部分的键值对有多少个. 空行就相当于是 “报头的结束标记”, 或者是 “报头和正文之间的分隔符”. http 在传输层依赖 TCP 协议, TCP 是面向字节流的. 如果没有这个空行, 就会出现 "粘包问题
为了表述我们请求哪个资源c;需要一种统一的规范给资源命名:统一资源标识符(网址) URL基本格式:
GET 是最常用的 http 方法. 常用于获取服务器上的某个资源. 在浏览器中直接输入 URL, 此时浏览器就会发送出一个 GET 请求. 另外, HTML 中的 link, img, script 等标签, 也会触发 GET 请求
1、首行的第一部分为 GET 2、URL 的 query String 可以为空, 也可以不为空. 3、header 部分有若干个键值对结构. 4、body 部分为空.
用于提交用户输入的数据给服务器(例如登陆页面).
1、首行的第一部分为 POST 2、URL 的 query String 一般为空 (也可以不为空) 3、header 部分有若干个键值对结构. 4、body 部分一般不为空. body 内的数据格式通过 header 中的 Content-Type 指定. body 的长度由 5、header 中的 Content-Length 指定.
1、语义不同: GET 一般用于获取数据, POST 一般用于提交数据. 2、GET 的 body 一般为空, 需要传递的数据通过 query String 传递, POST 的 query String 一般为空, 需要传递的数据通过 body 传递 3、GET 请求一般是幂等的, POST 请求一般是不幂等的. (如果多次请求得到的结果一样, 就视为请求是幂等的). 4、GET 可以被缓存, POST 不能被缓存. (这一点也是承接幂等性).
没有找到资源. 浏览器输入一个 URL, 目的就是为了访问对方服务器上的一个资源. 如果这个 URL 标识的资源不存在, 那么就会出现 404 例如, 在浏览器中输入 www.sogou.com/index.html , 此时就在尝试访问 sogou 上的/index.html 这个资源. 如果输入正确, 则可以正确访问到. 但是如果输入错误, 比如 www.sogou.com/index2.html , 就会看到 404 这样的响应
服务器出现内部错误. 一般是服务器的代码执行过程中遇到了一些特殊情况(服务器异常崩溃)会产生这个状态码.
以上是大佬教程为你收集整理的HTTP协议全部内容,希望文章能够帮你解决HTTP协议所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。