Http中涉及到的知识点总结
1、URL地址
协议->
HTTP:超文本传输协议,除了用来传输文本,还可以传输HTML页面、CSS文件、JS文件、图片、音视频...
HTTPS:SSL,它比HTTP更加安全一些
FTP:文件传输的,我们买了个服务器,我们要把一些文件上传到服务器上,我们就需要使用FTP上传了
域名->
一级域名 www.qq.com
二级域名 sports.qq.com
三级域名 kbs.sports.qq.com
可以把我们每个部门的产品分不同的服务器进行管理,我们作为客户访问不同的域名其实找到的是不同的服务器->减少服务器的压力、有利于服务器的维护、有利于每个产品的SEO和权重...
端口号:0~65535
HTTP协议默认的端口号是80
HTTPS协议默认的端口号是443
->如果你的端口号是默认的值,我们在访问的时候端口号不需要添加
->如果你的端口号不是默认的值,访问的时候必须加
->为啥会出现端口号?因为一台服务器上可能会发多个产品,可能会有多个域名,用户通过域名进来了,但是具体找谁我们需要分清
具体的目录文件和URL后面的参数值
->?后面的都是传递给当前页面的参数值(问号传参),如果需要传递多个参数,中间中&隔开,#是当前页面的锚点定位
->https://www.baidu.com:80/user/index.html?name=aaa&age=17&sex=1#userName (#userName锚点定位,定位到当前页面中ID为userName这个标签的位置)
2、HTTP
->超文本传输协议:它能够把客户端要告诉给服务器端的东西带给服务器端,也可以把服务器给客户端的内容带给客户端,用它就可以实现客户端和服务器端的文件内容的传输
->事物:n+1个事件
->起始行/首部/主体
->起始行:描述这个HTTP的基本请求
->首部:通用首部(请求和响应都有的) 请求首部 响应首部 扩展首部(自定义的) 实体首部(描述响应/请求内容的)
->实体:一般很少见,请求或者响应的内容
[Headers]
General->通用头(Request/Response都有的)
Request URL:http://matchweb.sports.qq.com/kbs/hotMatchList?callback=getHotMatchList&_=1456903174906 请求的服务器详细地址
Request Method:GET 请求的方式,GET是到服务器获取内容,POST是向服务器发送内容...
Status Code:200 HTTP状态码 ok HTTP状态码描述
Remote Address:123.151.148.59:80 服务器的IP地址和端口号
Request Headers->
GET /kbs/hotMatchList?callback=getHotMatchList&_=1456903174906 HTTP/1.1
Host: matchweb.sports.qq.com
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
User-Agent: Mozilla/5.0...
Accept: */*
Referer: http://kbs.sports.qq.com/
Accept-Encoding: gzip, deflate, sdch
Accept-Language: zh-CN,zh;q=0.8
Cookie:
Response Headers->
HTTP/1.1 200 OK
Server: nginx/1.4.4-omg 当前服务器是用什么样的服务发布的(IIS、apache、nginx...)
Date: Wed, 02 Mar 2016 07:20:05 GMT 当前请求回来的服务器的时间,时间格式是英国的格林尼治时间
Content-Type: application/json 当前请求回来的数据的格式
Transfer-Encoding: chunked
Connection: keep-alive
Keep-Alive: timeout=120 当前是用了120ms请求回来的(整个HTTP的请求时间)
Vary: Accept-Encoding
X-Server-Ip: 10.248.116.169
X-Cached: EXPIRED
Content-Encoding: gzip
3、HTTP状态码
->100初始化/正在请求 HTTP2.0已经删除了1xx系列的
->200请求成功
->202接收
->301永久转移(一般是不同的服务器转移--降低了搜索引擎的权重 第一次检测做了永久的转移,第二次就不在进行搜索了)
->302临时转移(一般是相同的服务器临时转移)
注意:上述是Location地址之间的跳转
->303永久重定向 负载均衡
->307临时重定向
注意:上述是服务器之间的跳转
->304走缓存 (接收响应数据的时候走的是服务器缓存数据)
->响应首部:
->last-modified 最后一次改变的时间 GMT(英国格林尼治时间)
->e-tag 实体内容 一串通过校验内容进行sha(1/2)算法的字符串
->请求首部:
->if-modified-since GMT
->if-none-match 一串通过校验内容进行sha(1/2)算法的字符串
->400 参数错误
->403 禁止访问没权限
->404 没有找到
->417 发送资源文件过大
->500 未知服务器错误
->503 服务器并发数过多 (只能连接100个,过来200个,剩下的100个就会被告知503)
4、HTTP请求方式
->get 从服务器获取
->post 向服务器发送->注册页面:用户填完信息,有很多的信息,我们把这些信息都获取到,然后通过Ajax中的POST请求,在请求主体中把这些信息都传递给后台服务器,服务器把这些信息存储到数据库中("表单提交")
->put 增加
->delete 删除
->head、options、trace、connection、track...
->get系的特征(get、delete、head)
1、会把给服务器发送的数据放到url后面 ->http://matchweb.sports.qq.com/kbs/hotMatchList?callback=getHotMatchList&_=1456903174906 "?后面写的内容都是同过get请求传递给服务器的"
2、有大小限制
因为get系把数据都放到url里面,而浏览器会对url的长度有大小限制, 所以造成了get系对传输的数据大小有限制
ie->2K
firefox->7k
chrome->8k
3、会被缓存(服务器和浏览器自带的缓存)
->我们一般不用缓存,因为自带的缓存很多情况导致,第二次请求的内容一直和第一次一样,最新的内容请求不回来
->如果想要快,我们做的所有的缓存都是自己单独用程序设计出来的而不是浏览器自带的缓存机制
4、不安全,因为明文发送 ->在浏览器的控制台中我们可以查看到URL后面的参数值,所以不安全
->post系(post、put)
1、会把给服务器发送的数据放到请求主体里
2、不会有大小限制
因为post系把数据放到请求主体里,而请求主体是没有大小限制的
3、永远不会被缓存
4、相对于get系安全许多,因为不是明文发送
->为什么get系会被缓存而post系不会被缓存?
1、因为get系设计的初衷是用来从服务器拉取数据的。含有两个特点:
数据可能很大,数据可能会重复。正因为有这两个特点,所以造成了get系会被缓存
post系设计的初衷是往服务器发送数据的,所以不需要缓存
->HEAD、DELETE这两个方法比较特殊:他们成功只返回202,不会返回200
$.ajax({
type:'get',
url:'',
data:{name:''}, 向服务器端发送的数据
dataType:"json",
cache:false,是否可以缓存
async:true,同步
username:,用户名
password:,密码
timeout:,超时时间
headers:{},设置请求头
});
Http中涉及到的知识点总结的更多相关文章
- bootstrap实战练习中涉及的知识点(很有用哦!)
看的有关视频做的笔记,对bootstrap中涉及的知识点做了一定的解析,很有用哦!(新手上路,有不合适的地方可以指出哦!) 下面进入正题: Bootstrap是当下最流行的前端框架(界面工具集) 特点 ...
- dbms_job涉及到的知识点
用于安排和管理作业队列,通过使用作业,可以使ORACLE数据库定期执行特定的任务. 一.dbms_job涉及到的知识点1.创建job:variable jobno number;dbms_job.su ...
- iOS开发中关于UIImage的知识点总结
UIImage是iOS中层级比较高的一个用来加载和绘制图像的一个类,更底层的类还有 CGImage,以及iOS5.0以后新增加的CIImage.今天我们主要聊一聊UIImage的三个属性: image ...
- C#中易混淆的知识点
C#中易混淆的知识点 一.引言 今天在论坛中看到一位朋友提出这样的一个问题,问题大致(问题的链接为:http://social.msdn.microsoft.com/Forums/zh-CN/52e6 ...
- c/c++程序设计涉及的一些知识点
c/c++程序设计涉及的一些知识点 c中的printf函数 main(){ int b = 3; int arr[]= {6,7,8,9,10}; int * ptr = arr; *(ptr++) ...
- JAVA项目中常用的异常知识点总结
JAVA项目中常用的异常知识点总结 1. java.lang.nullpointerexception这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用 ...
- Hybrid App 应用开发中 9 个必备知识点复习(WebView / 调试 等)
前言 我们大前端团队内部 ?每周一练 的知识复习计划继续加油,本篇文章是 <Hybrid APP 混合应用专题> 主题的第二期和第三期的合集. 这一期共整理了 10 个问题,和相应的参考答 ...
- PHP开发中涉及到emoji表情的几种处理方法
最近几个月做微信开发比较多,存储微信昵称必不可少 可这万恶的微信支持emoji表情做昵称,这就有点蛋疼了 一般Mysql表设计时,都是用UTF8字符集的.把带有emoji的昵称字段往里面insert一 ...
- 开发过程中 的一些 补充知识点 + 关于mysql中的日期和时间函数?
参考: https://www.jb51.net/article/23966.htm https://yq.aliyun.com/articles/260389 mysql中的 日期格式是: HHHH ...
随机推荐
- HTML控件ID和NAME属性及在CS页面获得.ASPX页面中HTML控件的值
<转载>来自网络 一.ID是在客户端脚本里用!NAME是用于获取提交表单的某表单域信息,在form里面,如果不指定Name的话,就不会发送到服务器端,所以有name属性的控件,必须指定na ...
- boa服务器make错误
参考: http://zhouyang340.blog.163.com/blog/static/3024095920121187544204/ http://blog.csdn.net/hongjiu ...
- 【leetcode】Implement strStr()
Implement strStr() Implement strStr(). Returns the index of the first occurrence of needle in haysta ...
- 【JAVA、C++】LeetCode 010 Regular Expression Matching
Implement regular expression matching with support for '.' and '*'. '.' Matches any single character ...
- codeforces 485A.Factory 解题报告
题目链接:http://codeforces.com/problemset/problem/485/A 题目意思:给出 a 和 m,a 表示第一日的details,要求该日结束时要多生产 a mod ...
- 禁用SettingSyncHost.exe
TASKKILL /F /IM SettingSyncHost.exe /T
- Jam的计数法(codevs 1140)
题目描述 Description Jam是个喜欢标新立异的科学怪人.他不使用阿拉伯数字计数,而是使用小写英文字母计数,他觉得这样做,会使世界更加丰富多彩.在他的计数法中,每个数字的位数都是相同的(使用 ...
- android中src和background区别
background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸.src是图片内容(前景),bg是背景,可以同时使用. 此外:scaleType只对src ...
- JUC回顾之-Semaphore底层实现和原理
1.控制并发线程数的Semaphore Semaphore(信号量)是用来控制同时访问特定资源的线程数量,它通过协调各个线程,保证合理的使用公共资源. 线程可以通过acquire()方法来获取信号量的 ...
- HTML 学习新理论
一直觉得没有时间,现在看到这样的网站: Bootstrap学习http://www.runoob.com/bootstrap/bootstrap-environment-setup.html Less ...