什么是URL?
平时我们俗称的网址就是URL
URL的结构
https://www.so.com/s?ie=utf-8&src=lm&ls=sm2381336&lm_extend=ctype%3A31&q=%E6%90%9C%E7%8B%97
用以上搜狗网址作为例子
1.https:// 是协议方案名。目前比较常见的是http:// https:// telnet:// mailto://
①http: 超文本传输协议方案,默认端口为80
②https: 与http是一对,但加入了ssl,默认端口443
③mailto: 指的是E-mail地址
2.//www.so.com 服务器地址
3.? % %E6%90%9C%E7%8B%97 类似于这些字符,是被url当成了特殊意义理解了,对其进行了转义。这也叫做urlencode
urlencode:将需要转码的字符转为16进制,然后从右向左,取4位(不足4位直接处理),每两位为一组,前面加上%,编译成%XY的形式
与urlencode为一对的还有urldecode,urldecode就是urlencode的逆过程
4.ie=utf-8 查询字符串 ,以?做起始标志,内容以键值对形式存在
Http
1.什么是http?
http就是超文本传输协议方案,由于客户端和服务器是在主机上两个不同的程序,就需要保证客户端发给服务器的消息,服务器能懂,而服务器响应的内容客户端也能读懂,这就产生了协议
2.http协议格式
①http请求
a 首行:【方法】+【url】+【版本】
b. Header:请求的属性,冒号分割的键值对,每组属性之间使用“: ”分割
c. 空行:表示Header的结束
d.body:(对于get 一般没有body,可以有query string .而 post 一般有body
②http响应
a.首行:【版本号】+【状态码】+【状态码注解】
b.header:请求的属性,冒号分割的键值对,每组属性之间使用“: ”分割
c.空行:表示Header的结束
d.body:html文件
2.http的方法
get-----获取资源
post-----传输实体主体
put-----传输文件
head-----获取报文首部
delete-----删除文件
options-----询问支持的方法
trace-----追踪路径
connect-----要求用隧道协议连接代理
link-----建立和资源之间的联系
unlink-----断开连接关系
3.http的状态码
①1XX:接收的请求正在处理
②2XX:请求正常处理完毕
③3XX:重定向状态码
④4XX:服务器无法处理请求
⑤5XX:服务器处理请求出错
4.http的header
①Content-Type:数据类型
②Content-length:body的长度
③Host::获取请求资源的端口号
④User-Agent:声明用户的操作系统和浏览器版本
⑤referer:当前页面是从哪个页面跳转过来的
⑥Location:搭配3XX使用,表示要去哪个页面访问
⑦Cookie:识别身份
Https
跟http是一对,多了一个SSL。