网络原理之http1
作者:互联网
文章目录
1. HTTP
2. HTTP协议
协议: 网络数据传输约定好的数据格式。虽然,应用层的协议是程序员自己定的。但实际上,已经有大佬定义了一些现成的,又非常好用的应用层协议,供我们参考使用。HTTP(超文本传输协议)就是其中之一。
3.认识URL
平时我们俗称的“网址”其实说的就是URL。
4. urlencode和urldecode
像/ ? :等这样的字符,已经被url当作特殊意义理解了。因此这些字符不能随意出现。比如,某个参数中需要带这些特殊字符,就必须先对这些字符进行转义。
转义的规则如下:
将需要转码的字符转成16进制,然后从左到右,取4位(不足四位直接处理)每2位做一位,前面加上%,编码成%XY格式。
“+“被转换成了”%2B”。urldecode就是urlencode的逆过程。
5.HTTP 协议格式
HTTP 请求:
- 首行:[方法]+[url]+[版本](方法标识的是请求的类型,url标识的是请求的服务资源)
- Header: 请求的属性, 冒号分割的键值对;每组属性之间使用\n分隔;遇到空行表示Header部分结束。
- Body: 空行后面的内容都是Body. Body允许为空字符串. 如果Body存在, 则在Header中会有
一个Content-Length属性来标识Body的长度;
HTTP响应: - 首行:[版本号]+[状态码]+[状态码解释](状态码是由数字组成的,标识提供服务的结果反馈);
- Header: 请求的属性, 冒号分割的键值对;每组属性之间使用\n分隔;遇到空行表示Header部分结束;
- Body: 空行后面的内容都是Body. Body允许为空字符串. 如果Body存在, 则在Header中会有一个Content-Length属性来标识Body的长度; 如果服务器返回了一个html页面, 那么html页面内容就是在body中。
标签:Body,协议,HTTP,标识,网络,Header,http1,原理,属性 来源: https://blog.csdn.net/qq_52206533/article/details/115659074