TCP/IP协议族 应用层 —— HTTP协议认识
HTML:
创建网页语言
Hyper Text Markup Language 超文本标记语言。
CS:
本质是一个选择器。 美化HTML,选择htnl中的的元素,应用一些样式。
JS:
JavaScript 运行在浏览器上的一种语言,代码放在服务端。
js 和其他后端语言有不少的差距。js 需要遵循浏览器的规则。
js 无类型的语言
1、HTTP协议
Hyper Text Transfer Protocol 超文本传输协议,HTTP
HTTP协议,应用层上使用非常广泛的一组协议。
无状态性、请求、响应、现版本1.1,默认端口8080/。
无状态性:每次请求相互独立,互不相干。
1.0/1.1版本HTTP,建立在TCP的基础上。—HTTP协议需要可靠性作为基础
2、HTTP请求&响应格式
2.1 HTTP请求(POST)
请求行: [方法] + [url] + [版本]
Header:请求的属性,冒号分割的键值对;每组属性之间使用\n分隔;遇到空行表示Header部分结束。
空行
Body: 空行后面的内容都是Body。Body允许为空字符串。如果Body存在,则在Header中会有一个Content-Length属性来标识Body的长度。
2.2 HTTP响应
状态行: [版本号] + [状态码] + [状态码解释]
Header: 请求的属性,冒号分割的键值对;每组属性之间使用\n分隔。遇到空行表示Header部分结束。
空行
Body: 空行后面的内容都是Body。Body允许为空字符串。如果Body存在, 则在Header中会有一个Content-Length属性来标识Body的长度; 如果服务器返回了一个html页面, 那么html页面内容就是在body中。
3、HTTP常见Header
Content-Type: 数据类型(text/html等)
Content-Length: Body的长度
Host: 客户端告知服务器, 所请求的资源是在哪个主机的哪个端口上;
User-Agent: 声明用户的操作系统和浏览器版本信息;
referer: 当前页面是从哪个页面跳转过来的;
location: 搭配3xx状态码使用, 告诉客户端接下来要去哪里访问;
Cookie: 用于在客户端存储少量信息. 通常用于实现会话(session)的功能;
4、HTTP请求参数
两种方式:URL(GET)、RequestBody(POST)
参数以键值对形式出现(username=zxy)多个参数用&隔开(username=zxy&password=123)
URL传参 (GET请求)
URL(Unique Resource Location),互联网上唯一标识资源,俗称"网址"。
格式:
协议:// 用户名:密码@ 主机地址 :端口 /文件路径 ?查询字符 #标识符
查询字符串传参数。 ?x=x&y=y
URI和URL区别:
Unique Resource Identifer抽象上的资源唯一标识 范围大
Unique Resource Location具体的实现的资源标识
5、HTTP请求次数
请求一个网页可能产生多次请求。
取决于HTML中有没有使用其他资源。
6、HTTP缓存
网页HTML最好不要缓存
图片等可以缓存
7、HTTP方法
get与post比较常用。
8、发送POST请求
浏览器默认使用get请求
HTMLfrom中可以指定get还是post请求方法。
9、HTTP响应状态码
常见状态码
200 成功
301 永久重定向
302 临时重定向
404 网页不存在
500 服务器挂了
503 稍后再来