-
1. HTTP协议特点
(1.)之支持客户/服务器模式,也就是客户端发起请求,服务端响应请求
(2.)简单快速:
客户端向服务端发起请求时,只需要请求方法和路径
常用的请求方法,GET POST HEAD
等,请求方法决定了客户端与服务器联系方式的不同。由于HTTP协议的的简单,使得HTTP服务器的程序规模小,因而速度很快(3.)灵活
允许传输任意类型的数据类型,
正在传输的类型由Content-Type(HTTP包中用来表示内容类型的标识)加以标记
(4.)无连接
无连接即是限制每次处理一个请求
服务端处理完客户端的请求,并收到应答后断开连接
可以设置超时,也可以keep-alive来保持连接
这样可以节省传输时间,节省资源占用
2.常见的请求方法:
1.GET:请求指定的页面信息,并返回实体主体
2.HEAD: 类似于get请求,只不过在返回的响应体中没有具体的内容,用于获取报头
3.POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改
4.PUT:从客户向想服务器传送的数据指代的文档的内容
5.DELETE:请求服务器删除指定的页面
6.CONNECT:HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器
7.OPTIONS:允许客户端查看服务器的性能
8.TRACE:回显服务器收到的请求,主要用于测试或诊断。
9.PATCH:是对PUT方法的补充,用来对已知资源进行局部更新
请求网站的过程:
(1.)发送域名,DNS解析IP,建立TCP/IP连接(三次握手)
(2.)先由web浏览器向web服务器发送HTTP请求,即
get/post/options/head/put/delete/trace/connect/move/patch
(3.)发送请求头信息,并发送一个空行表示信息发送完毕(若get,请求数据在URL中,若post。请求数据在最后)。
(4.)web服务器应答,版本号和协议状态码
(5.)web服务器发送应答头信息,最后发送一个空行标识信息发送结束
(6.)按照答应头信息和格式得到实际数据
(7.)web断开tcp连接,状态是close,再次打开需要三次握手重新连接;状态是connection,keep-alive不用三次握手
Get与Post区别:
1.url可见性:
Get传参方式是通过地址栏URL传递,是可以直接看到get传递的参数,get把请求的数据在URL后通过,连接,通过$进行参数分割。
Post传参方式参数URL不可见,post将从参数存放在HTTP的包体内。
2.传输数据大小:
Get传递数据是通过URL进行传递,对传递的数据长度是受到URL大小的限制,URL最大长度是2048个字符。
Post没有长度限制。
3.后退页面:
Get不会有影响
Post后退会重新进行提交
4.缓存:
Get请求可以被缓存,请求的记录会留在历史记录中
Post不可以被缓存,请求不会留在历史记录
5.编码方式:
Get请求只url编码
Post支持多种编码方式
6.字符类型:
Get只支持ASCL字符
Post没有字符类型限制
3.Cookie是具有时效性的,一般较长
Session:
Session是另一种记录客户端状态的机制,保存在服务器上,客户端访问服务器的时候服务端把客户端信息以某种方式。记录在服务器上
客户端浏览器再次访问时,只需要从该Session中查找客户端的状态就可以了
session id是在服务端中唯一的
第一次访问,服务端(启用session功能)会检查请求中是否有session没有就创建一个唯一的id,并保存,并返回给客户端保存,保存id的就是cookie
session与cookie的微妙关系
理解cookie和session的作用及原理:
Cookie的根本作用就是在客户端存储用户访问网站的一些信息。典型的应用有:
1、记住密码,下次自动登录。
2、购物车功能。
3、记录用户浏览数据,进行商品(广告)推荐。
Session的根本作用就是在服务端存储用户和服务器会话的一些信息。典型的应用有:
1、判断用户是否登录。
2、购物车功能。
Cookie与Session的区别:
存放位置不同,cookie存储在客户端吧,session存储在服务端
安全性不同
有效期不同,cookie会长于session
对服务器压力不同
4.DNS介绍
通常访问网站是通过ip或者域名来进行,与ip相比,域名更加方便记忆,但是TCP/IP协议使用ip进行访问,那么此时就需要一种功能或机制将域名转换为IP地址,而DNS服务就是用来解决这个问题的,它主要提供了域名到IP的解析服务
DNS使用TCP和UDP端口53
全球有13台DNS根服务器
5.HTTP报文头大体分为四类:
通用报文头
请求报文头
响应报文头
实体报文头
6.文件类型:
文本:text/html,text/plain:txt, text/css:css
图片:image/jpeg:jpg…
视频:video/mpeg…
应用程序使用二进制文件:applicatiotion/octet-stream…
Content-Type
作用:说明报文体中的对象的媒体类型
text/html: HTML格式
text/plain:纯文本格式
text/xml:XML文档格式
image/jpeg:jpg图片格式
image/gif:gif图片格式
image/png:png图片格式
HTTP常用的随笔
最新推荐文章于 2021-06-18 04:36:11 发布