什么是HTTP 协议
服务器传输超文本到本地浏览器的传送协议
URL
统一资源定位符 是用来标识资源的地址
这是例子 https://www.baidu.com/s?wd=hello&rsv_spt=1#5freshman=1#5
1、协议: https:(除了http 还有ftp等) 后面的 // 为分隔符
2、域名: www.baidu.com
3、路径: /s
3、端口: 跟在域名后 域名和端口之间使用“:”作为分隔符。端口不是一个URL必须的部分,如果省略端口部分,将采用默认端口(这里端口是省略的)
4、查询参数: ?wd=hello&rsv_spt=1#5freshman=1
5、锚点: #5
用 Chrome 发请求
- F12打开 开发者工具 打开 Network
- 地址栏输入网址
- 在 Network 点击,查看 request,点击【view source】
嗯。。。下面这一片都是请求
用 curl 创造一个请求,并得到响应
curl -s -v -H "Frank: xxx" -- "https://www.baidu.com"
请求get
要请求的内容:
GET / HTTP/1.1
Host: www.baidu.com
User-Agent: curl/7.54.0
Accept: /
Frank: xxx
请求方式(命令行里直接复制)
curl -X POST -s -v -H "Frank: xxx" -- "https://www.baidu.com"
请求post
要请求的内容:
POST / HTTP/1.1
Host: www.baidu.com
User-Agent: curl/7.54.0
Accept: /
Frank: xxx
请求方式(命令行里直接复制)
curl -X POST -d "1234567890" -s -v -H "Frank: xxx" -- "https://www.baidu.com"
Http协议是什么?有哪些特点?
HTTP协议是服务器与浏览器之间传输数据的传送协议。
它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。
HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。
URL 和 URI 是什么
URL:访问Web页面时需要输入的网址链接 如 https://segmentfault.com/ 就是URL
URI:统一资源标识符 用于标识互联网中的某一个资源(定义比较宽泛 已经超出了网页这个范畴)如:ftp ldap mailto news tel telnet urn 这些都属于 URI
URL是URI的子级
只要符合这个规范的都属于URI
协议名、登录信息、服务器地址、服务器端口号、带层次的文件路径、查询字符、片段标识符
TCP/ IP 七层模型
什么是 OSI 七层模型?
【这个知识点知道就行 已经被TCP/ IP 四层模型替代】
- 应用层
- 表示层
- 会话层
- 传输层
- 网络层
- 数据链路层
- 物理层
TCP/ IP 四层模型
什么是 TCP/ IP 四层模型?
1、应用层
应用层是大多数普通与网络相关的程序为了通过网络与其他程序通信所使用的层。
这个层的处理过程是应用特有的
数据从网络相关的程序以这种应用内部使用的格式进行传送,然后被编码成标准协议的格式。每一层协议一般都会使用到传输层协议 TCP 和 UDP 协议之一:
运行在 TCP 协议上的协议:
HTTP(80端口),主要用于普通浏览
HTTPS(443端口),HTTP协议的安全版本
FTP(20和21端口),用于文件传输
POP3(110端口),用于收邮件
SMTP(25端口),用于发送电子邮件
SSH(22端口),用于加密安全登录
2、传输层
3、网络层
应用层和传输层有哪些协议?
如何理解 TCP/ IP 四层模型?
Http报文字段中,Cache-Control: no-cache 、Cache-Control: max-age=0、Cache-Control: no-store 有什么区别?
Cache-Control:
no-cache是浏览器更新网页时,所有网页不从本地缓存中读取,而是向服务器发送请求
no-cache表示存储,需要向服务器验证返回304后才使用
no-store表示不存储
max-age=0大部分情况下和no-cache一样,后退等操作不会再验证
在请求头中:
no-cache忽略没有过期的缓存,强行向服务器验证
完整HTTP请求过程
通常有7步:
1、建立TCP链接
2、Web浏览器向Web服务器发送请求命令
3、Web浏览器发送请求头信息
4、Web服务器应答
5、Web服务器发送应答头信息
6、Web服务器向浏览器发送数据
7、web服务器关闭TCP链接
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。