WWW万维网知识小结

时间:2024-04-07 11:40:57

前段时间面试,因为没有参加过社会招聘,对于应用层不是考试重点的我一脸懵,翻出课本,上网查了些资料,总结一下,只有总结了东西才是自己的。

一.什么是万维网:

        万维网是一个大规模的,联机式的信息存储所,英文简称Web。

二.超文本,超媒体:

        所谓超文本是指包括制定其它文档的链接的文本(text)。

        所谓超媒体是指出了包涵文档text之外,还包含其它表示方式的信息,如图形,图像,声音,动画,视频图像等。

三.实现万维网需要的几个必须解决的关键问题

        1.怎样标志分布在整个互联网上的万维网文档?-----》URL

        URL(统一资源定为符)

        资源位置和访问这些资源的方法;资源地址;互联网上的所有资源,都有一个唯一的确定的URL。

        URL的一般形式由一下四个部分组成:

        <协议>://<主机>:<端口>/<路径>

        http://localhost:8080/工程路径

        2.用什么样的协议来实现万维网上的各种链接?-----》HTTP

        HTTP(超文本传输协议)

        1)对客户端和服务器端之间数据传输的格式规范,格式简称为“超文本传输协议”。

        2)HTTP协议本身是无链接:为了保证数据的可靠传输,HTTP使用了面相链接的TCP作为运输层协议。因此不用考虑数据在              传输过程中被丢弃后又怎样被重传。

        3)HTTP协议是无状态的(stateless):服务器不记录用户是否访问过也不记录访问次数。

             简化了服务器的设计,是服务器更容易支持大量并发的HTTP请求。

             无状态协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,那是无法取到的。

             为了解决这个问题:通过Cookie;通过Session会话保存。

        4)HTTP协议请求一次万维网文档所需要的时间:

        WWW万维网知识小结

        3.怎样使不同作者创作的不同风格的万维网文档,都能在互联网上的各种主机上显示出来,同时使用用户清楚的知道在什么地           方存在着链接?-----》HTML

 四.HTTP的报文结构

        1)请求报文--从客户向服务器发送请求报文。

            请求行:包含请求方法;URI;HTTP版本信息

            请求首部字段

            请求内容实体

            例子:

            GET  /dir/index/htm  HTTP/1.1          {请求行使用了相对URL}

            Host:www.baidu.com                      {此行是首部行的开始。这行给出主机的域名}

            Connection:close                           {告诉服务器发送完请求的文档后就可释放链接}

            User-Agent:Mozilla/5.0                  {表明用户代理是实用火狐浏览器Firefox}

            Accept-Language:cn                     {表示拥护希望优先的到中文版本的文档}

        2)响应报文--从服务器到客户的回答。

            状态行:包含HTTP版本;状态码;状态码的原因短语

            响应首部字段

            响应内容实体

            例子:

            HTTP/1.1  301   Moved  Permanently              {永久性地转移了}

            Location:http://www.baidu.com/ee/index.html  {新的URL}

            状态码:都是三位数字,分5大类。

                    1xx:表示信息性代码,标示客户端应该采取的其他动作,请求正在进行。

                    2xx:表示客户请求成功,如接受或知道了。

                    3xx:表示重定向,如要完成请求还必须采取到进一步的行动。

                    4xx:表示由客户端引发的错误,如请求中有错误的语法或不能完成。

                    5xx:表示由服务器端引发的错误,如服务器失效无法完成请求。

                    

200:请求被正常处理

 

204:请求被受理但没有资源可以返回

 

206:客户端只是请求资源的一部分,服务器只对请求的部分资源执行GET方法,相应报文中通过Content-Range指定范围的资源。

 

301:永久性重定向

 

302:临时重定向

 

303:与302状态码有相似功能,只是它希望客户端在请求一个URI的时候,能通过GET方法重定向到另一个URI上

 

304:发送附带条件的请求时,条件不满足时返回,与重定向无关

 

307:临时重定向,与302类似,只是强制要求使用POST方法

 

400:请求报文语法有误,服务器无法识别

 

401:请求需要认证

 

403:请求的对应资源禁止被访问

 

404:服务器无法找到对应资源

 

500:服务器内部错误

 

503:服务器正忙

 

 五.HTTP协议中有哪些请求方式?

 

        GET:用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器。

        POST:用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用POST方式。

        PUT:传输文件,保文主体中包含文件内容,保存到对应URI位置。

        HEAD:获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效。

        DELETE:删除文件,与PUT方法相反,删除对应URI位置的文件。

        OPTIONS:查询响应URI支持的HTTP方法。

        注意:GET方法和POST方法的区别!!!!

            区别一:

                    1)get传输数据通过URL请求,以filed = value 的形式,置于URL后,并用“?”连接,多个请求数据间用“&”连                              接,如:http://127.0.0.1/Test/login.action?name=admin&password=admin,这个过程用户是可见的。

                    2)post传输数据通过Http的post机制,将字段与对应值封装在请求实体中发送给服务器,这个过程对用户是不可见                          的。

            区别二:

                    1)get重点在从服务器上获取资源。

                    2)post重点在向服务器发送数据。

            区别三:

                    1)get传输的数据量小,因为受URL长度限制,但效率较高。

                    2)post传输大量数据,所以上传文件时只能用post方式。

            区别四:

                    1)get是不安全的,因为URL是可见的,可能会泄露私密信息。

                    2)post较get安全性较高。

            区别五:

                    1)get方式只能支持ASCII字符,向服务器传的中文字符可能会乱码。

                    2)post支持标准字符集,可以正确传递中文字符。

 六.HTTP与HTTPS优缺点?

            通信使用明文不加密,内容可能被窃听,也就是被抓包分析。

            不验证通信方身份,可能遭到伪装

            无法验证报文完整性,可能被篡改

            HTTPS就是HTTP加上加密处理(一般是SSL安全通信线路)+认证+完整性保护

 七.HTTP优化

            利用负载均衡优化和加速HTTP应用

            利用HTTP  Cache来优化网站

 八.HTTP协议有哪些特征?

            1)支持客户/服务器模式;

            2)简单快速;

            3)灵活;

            4)无连接;

            5)无状态;

 九.网络传输的过程:

            WWW万维网知识小结