本部份内容整理于互联网html
HTTP定义:web
协议是指计算机通讯网络中两台计算机之间进行通讯所必须共同遵照的规定或规则,超文本传输协议(HTTP)是一种无状态通讯协议,它容许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。浏览器
HTTP无状态机制:
http协议是无状态的,同一个客户端的此次请求和上次请求是没有对应关系,对http服务器来讲,它并不知道这两个请求来自同一个客户端。 为了解决这个问题, Web程序引入了Cookie机制来维护状态.缓存
http工做流程:一次HTTP操做称为一个事务,其工做过程可分为四步安全
1. 当你在浏览器输入URL http://www.baidu.com 的时候,浏览器发送一个Request去获取百度的html. 服务器把Response发送回给浏览器.服务器
2. 浏览器分析Response中的 HTML,发现其中引用了不少其余文件,好比图片,CSS文件,JS文件。网络
3. 浏览器会自动再次发送Request去获取图片,CSS文件,或者JS文件。session
4. 等全部的文件都下载成功后。 网页就被显示出来了。spa
URL详解
URL(Uniform Resource Locator) 地址用于描述一个网络上的资源, 基本格式以下orm
schema://host[:port#]/path/.../[?query-string][#anchor]
scheme 指定低层使用的协议(例如:http, https)
host HTTP服务器的IP地址或者域名
port# HTTP服务器的默认端口是80,这种状况下端口号能够省略。若是使用了别的端口,必须指明.
path 访问资源的路径
query-string 发送给http服务器的数据
anchor- 锚
Get和Post方法的区别
Http协议定义了不少与服务器交互的方法,最基本的有4种,分别是GET,POST,PUT,DELETE. 一个URL地址用于描述一个网络上的资源,而HTTP中的GET, POST, PUT, DELETE就对应着对这个资源的查,改,增,删4个操做。 咱们最多见的就是GET和POST了。GET通常用于获取/查询资源信息,而POST通常用于更新资源信息.
1. GET提交的数据会放在URL以后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.aspx?name=test1&id=123456. POST方法是把提交的数据放在HTTP包的Body中.
2. GET提交的数据大小有限制(由于浏览器对URL的长度有限制),而POST方法提交的数据没有限制.
3. GET方式须要使用Request.QueryString来取得变量的值,而POST方式经过Request.Form来获取变量的值。
4. GET方式提交数据,会带来安全问题,好比一个登陆页面,经过GET方式提交数据时,用户名和密码将出如今URL上,若是页面能够被缓存或者其余人能够访问这台机器,就能够从历史记录得到该用户的帐号和密码.
Session机制Session机制是一种服务器端的机制,服务器使用一种相似于散列表的结构(也可能就是使用散列表)来保存信息。 当程序须要为某个客户端的请求建立一个session的时候,服务器首先检查这个客户端的请求里是否已包含了一个session标识 - 称为 session id,若是已包含一个session id则说明之前已经为此客户端建立过session,服务器就按照session id把这个 session检索出来使用(若是检索不到,可能会新建一个),若是客户端请求不包含session id,则为此客户端建立一个session而且生成一个与此session相关联的session id,session id的值应该是一个既不会重复,又不容易被找到规律以仿造的字符串,这个 session id将被在本次响应中返回给客户端保存。Cookie的流程服务器在响应消息中用Set-Cookie头将Cookie的内容回送给客户端,客户端在新的请求中将相同的内容携带在Cookie头中发送给服务器。从而实现会话的保持