1 http的详细内容
1.1 什么是http协议?
是一种超文本传输协议,
浏览器和服务器之间的一种通讯协议
该协议是由W3C制订的,本质上就是数据传输格式都是提前制定好的。浏览器和服务器必须按照这种格式接收和发送
1.2你们使用的http协议版本号是多少?
HTTP1.1
1.3 HTTP协议协议包括几部分?
请求协议:从Browser发送给Server时采用的传输格式
响应协议:从Server发送给Browser时采用的传输格式
1.4 请求协议
请求协议包括四部分:
请求行
消息报头
空白行
请求体
请求行包括:请求方式 URI 版本协议
空白行专门用来分离消息报头与请求体的
1.5 响应协议
状态行
响应报头
空白行
响应体
状态行包括三部分:协议版本号 状态码 状态描述信息
空白行专门用来分离响应报头与响应体的
响应协议中重点掌握状态码:
200:响应成功正常结束
404:资源未找到
500:服务器内部错误
2 GET请求和POST请求
- 什么情况下使用GET请求?什么时候使用POST请求?
只有使用表单form,并且将form的method设置为post时才为POST请求
其余全部为GET请求。
- GET请求和POST请求的区别?
-GET请求在请求行上提交数据,格式:uri?name=value&name=value&name=value....
这种提交方式最终提交的数据会显示在浏览器地址栏上
-POST请求方式在请求体上提交数据,相对安全,提交格式:name=value&name=value&name=value...
这种提交方式最终提交的数据不会在浏览器地址栏上显示
-POST请求在请求体中提交,所以没有长度限制【可以用来提交大数据】
-GET请求在请求行提交数据,所以数据长度有限制。
-GET请求只能提交字符串数据,POST请求可以提交任何类型的数据【视频,声音,图片】
所以文件上传必须使用POST请求
-GET请求的结果最终会被浏览器缓存收纳,而POST请求的结果最终不会被缓存。
-GET请求和POST请求该如何选择?
-有敏感的数据必须使用POST
-传送的数据不是字符串必须使用POST
-传送的数据特别多必须使用POST
-这个请求是为了修改服务器端资源使用POST
-GET请求多数情况下是从服务器读取资源,这个读取的资源短时间内是不会发生变化的,所以GET请求的结果浏览器缓存了
-POST请求是为了修改服务器端的资源,每次修改的结果都不相同,所以结果没有必要被缓存。
-浏览器将资源缓存后,缓存的资源是和某个特定的路径绑定在一起的,只要浏览器在发送这个相同的请求路径,这个时候会
去缓存中获取资源,不再访问浏览器,以这种方式降低服务器的压力,提高用户体验。但有时候我们不希望走缓存,
希望每一次都访问 服务器,可以在请求路径后面添加时间戳,
例如:http://ip:port/oa/system/logout?timestamp=1321355323
JS获取毫秒:new Date().getTime();
1.1 什么是http协议?
是一种超文本传输协议,
浏览器和服务器之间的一种通讯协议
该协议是由W3C制订的,本质上就是数据传输格式都是提前制定好的。浏览器和服务器必须按照这种格式接收和发送
1.2你们使用的http协议版本号是多少?
HTTP1.1
1.3 HTTP协议协议包括几部分?
请求协议:从Browser发送给Server时采用的传输格式
响应协议:从Server发送给Browser时采用的传输格式
1.4 请求协议
请求协议包括四部分:
请求行
消息报头
空白行
请求体
请求行包括:请求方式 URI 版本协议
空白行专门用来分离消息报头与请求体的
1.5 响应协议
状态行
响应报头
空白行
响应体
状态行包括三部分:协议版本号 状态码 状态描述信息
空白行专门用来分离响应报头与响应体的
响应协议中重点掌握状态码:
200:响应成功正常结束
404:资源未找到
500:服务器内部错误
2 GET请求和POST请求
- 什么情况下使用GET请求?什么时候使用POST请求?
只有使用表单form,并且将form的method设置为post时才为POST请求
其余全部为GET请求。
- GET请求和POST请求的区别?
-GET请求在请求行上提交数据,格式:uri?name=value&name=value&name=value....
这种提交方式最终提交的数据会显示在浏览器地址栏上
-POST请求方式在请求体上提交数据,相对安全,提交格式:name=value&name=value&name=value...
这种提交方式最终提交的数据不会在浏览器地址栏上显示
-POST请求在请求体中提交,所以没有长度限制【可以用来提交大数据】
-GET请求在请求行提交数据,所以数据长度有限制。
-GET请求只能提交字符串数据,POST请求可以提交任何类型的数据【视频,声音,图片】
所以文件上传必须使用POST请求
-GET请求的结果最终会被浏览器缓存收纳,而POST请求的结果最终不会被缓存。
-GET请求和POST请求该如何选择?
-有敏感的数据必须使用POST
-传送的数据不是字符串必须使用POST
-传送的数据特别多必须使用POST
-这个请求是为了修改服务器端资源使用POST
-GET请求多数情况下是从服务器读取资源,这个读取的资源短时间内是不会发生变化的,所以GET请求的结果浏览器缓存了
-POST请求是为了修改服务器端的资源,每次修改的结果都不相同,所以结果没有必要被缓存。
-浏览器将资源缓存后,缓存的资源是和某个特定的路径绑定在一起的,只要浏览器在发送这个相同的请求路径,这个时候会
去缓存中获取资源,不再访问浏览器,以这种方式降低服务器的压力,提高用户体验。但有时候我们不希望走缓存,
希望每一次都访问 服务器,可以在请求路径后面添加时间戳,
例如:http://ip:port/oa/system/logout?timestamp=1321355323
JS获取毫秒:new Date().getTime();