1、HTTP协议的简介
底层协议是tcp协议
- 基本概念:
- 协议:指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则
- Http协议:超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传输到客户端的浏览器
- Uri和Url的区别:
Uri:是uniform responrce identifier,统一资源标识符,用来唯一标识一个资源
file://a:1234/b/c/d.txt
1、URL是 uniform resource locator,统一资源定位器,它是一种具体的Uri,即url可以用来标识一个资源,而且还指明如何locate这个资源
www.baidu.com
2、URL三个组成部分
(url是具体的uri,强调的是路径)
- 协议
- 存有该资源的主机ip地址
- 主机资源的具体地址
2、HTTP协议的特点
- 简单快速
- 无连接(限制每次只处理一个请求)
- 无状态(对处理的事务没有记忆)
3、request/response原理
协议:GET HTTP1.1
主机:Host
操纵系统:UserAgent
接收数据类型:Accept
4、HTTP协议中比较容易混淆的知识点
-
http1.1/http1.0的区别
①http1.0产生的背景
超文本传输协议(HyperText Transfer Protocol)伴随着计算机网络和浏览器的诞生,HTTP1.0也随之而来,处于计算机网络中的应用程序
②http1.0所做的优化
带宽:现阶段已经解决
延迟:①浏览器阻塞:浏览器对于同一个域名,同时只能用4个连接。
延迟:②DNS查询:浏览器需要知道目标服务器的IP才能建立连接
延迟:③建立连接:三次握手③http1.1/http1.0的具体区别
缓存处理
带宽优化及网络连接的作用
Host头处理
长连接(传输多个http连接,避免每次请求创建连接)④http1.1和http1.0存在的问题
A:HTTP1.x在传输数据时,每次需要重新建立连接,无疑增加了大量延时时间B:HTTP1.x在传输数据时,所有的传输内容都是明文,客户端和服务器端都无法验证对方身份(无法保证安全)
C:HTTP1.x在使用时,header里携带的内容过大,在一定程度上增加了传输成本(浪费流量传入过多的header信息)
D:虽然HTTP1.x支持keep-alive,来弥补多次创建连接产生的延迟,但是keep-alive使用多了同样会给服务端带来大量的性能压力
-
get/post方法区别
提交数据(get获取资源post更新资源)
提交数据的大小有限制(url有限制,post提交的是body)
取得变量的值Request.QueryString vs Request.Form
安全问题
-
cookie和session
什么是cookie
Cookie技术是客户端的解决方案,Cookie就是由服务器发给客户端的特殊信息,而这些信息以文本文件的方式存放在客户端,然后客户端每次向服务器发送请求的时候都会带上这些特殊的信息。(请求成功后server向client设置cookie,相当发放独一无二的通行证来辨别用户)-
什么是session
Session是另一种记录客户端状态的机制,不同的Cookie保存在客户端浏览器中,而Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。①创建一个session(服务运行时)
②在创建了Session的同时,服务器会为该Session生成唯一的Session id
③在Session被创建之后,就可以调用Session相关的方法往Session增加内容
④当客户端再次发送请求的时候,会将这个Session id带上,服务器接受到请求之后就会依据Session id找到对应的Seesion -
区别
- 存放位置不同
- 存取方式不同(cookie是字符串 session任何数据)
- 安全性
- 有效期的不同
- 对服务器造成的压力不同