打开浏览器,在地址栏输入URL,回车,出现网页内容。整个过程发生了什么?其中的原理是什么?以下进行整理和总结。
目的主机收到数据帧,通过IP-TCP-HTTP,HTTP协议单元会回应HTTP协议格式封装好的HTML形式数据(HTTP响应);[从请求信息中获得客户机想访问的主机名。从请求信息中获取客户机想要访问的web应用(web应用程序指提供浏览器访问的程序,简称web应用)。从请求信息中获取客户机要访问的web资源。(web资源,即各种文件,图片,视频,文本等)读取相应的主机下的web应用,web资源。用读取到的web资源数据,创建一个HTTP响应。]
其中 Method表示请求方法;Request-URI是一个统一资源标识符;HTTP-Version表示请求的HTTP协议版本;CRLF表示回车和换行(除了作为结尾的CRLF外,不允许出现单独的CR或LF字符)。
其中,HTTP-Version表示服务器HTTP协议的版本;Status-Code表示服务器发回的响应状态代码;Reason-Phrase表示状态代码的文本描述。
Accept请求报头域用于指定客户端接受哪些类型的信息。eg:Accept:image/gif,表明客户端希望接受GIF图象格式的资源;Accept:text/html,表明客户端希望接受html文本。
Accept-Charset请求报头域用于指定客户端接受的字符集。eg:Accept-Charset:iso-8859-1,gb2312.如果在请求消息中没有设置这个域,缺省是任何字符集都可以接受。
Accept-Encoding请求报头域类似于Accept,但是它是用于指定可接受的内容编码。eg:Accept-Encoding:gzip.deflate.如果请求消息中没有设置这个域服务器假定客户端对各种内容编码都可以接受。
Accept-Language请求报头域类似于Accept,但是它是用于指定一种自然语言。eg:Accept-Language:zh-cn.如果请求消息中没有设置这个报头域,服务器假定客户端对各种语言都可以接受。
Authorization请求报头域主要用于证明客户端有权查看某个资源。当浏览器访问一个页面时,如果收到服务器的响应代码为401(未授权),可以发送一个包含Authorization请求报头域的请求,要求服务器对其进行验证。
Host请求报头域主要用于指定被请求资源的Internet主机和端口号,它通常从HTTP URL中提取出来的,eg:
User-Agent请求报头域允许客户端将它的操作系统、浏览器和其它属性告诉服务器。这个报头域不是必需的。
Location响应报头域用于重定向接受者到一个新的位置。Location响应报头域常用在更换域名的时候。
Server响应报头域包含了服务器用来处理请求的软件信息。与User-Agent请求报头域是相对应的。下面是
WWW-Authenticate响应报头域必须被包含在401(未授权的)响应消息中,客户端收到401响应消息时候,并发送Authorization报头域请求服务器对其进行验证时,服务端响应报头就包含该报头域。
首先通过域名找到IP,如果缓存里没有就要请求DNS服务器;得到IP后开始与目的主机进行三次握手来建立TCP连接;连接建立后进行HTTP访问,传输并获取网页内容;传输完后与目的主机四次挥手来断开TCP连接。
下一个很强大的http命令行工具这东西现在已经是苹果机上内置的命令行工具之一了,可见其魅力之一斑1) curl 回车之后,的html就稀里哗啦...
制作 网页制作是Web应用的重要组成部分,这里介绍三款Linux桌面环境下的网页制作工具Screem、Bluefish和Quanta Plus,利用它们可以轻松制作网页。 在fedora里面可以只有用yum安装bluefish...
前段时间做一个hadoop+Spark的性能监控页面时,...大概像这个样子的:这样就可以在
什么是绝对路径: 大家都知道,在我们平时使用计算机时要找到需要的文件就必须知道文件的位置,而表示文件的位置的方式就是路径,例如只要看到这个路径:c:/website/img/photo.jpg我们就知道photo.jpg文件是在c...
下文中的xxx是某某某的意思,按自己情况修改。。。 高能预警:以下操作全程需要管理员权限,大家自求多福。。。 本文知识学习自deepin官方论坛 在/lastore/下创建文件夹apps/把我们的配置文件放在这个文件夹下(这...
#!/bin/bash cat ./cidlist while read CID #从文件cidlist读取CID do { echo $CID lynx -dump
系统,在使用Firefox打开Flash是,光有图像没有声音,但播放MP3、视频等均正常,通过网上查找相关方法,一直无效,后来找到下面方法有效,留此作为存档。 打开“系统”-“首选项”-“音效”,...
截图环境准备 Linxu系统 centos 7Python Version Python 2.7.5Git Version 1.8.3.1安装Python-webkit2png[Git地址]git clone
语言,写出一个页面,读取MYSQL实验中的数据表数据。(PHP,JSP,Perl,Python,Ruby,Go,LAMP是指:
分享一下我老师大神的人工智能教程!零基础,通俗易懂!也欢迎大家转载本篇...分享知识,造福人民,实现我们中华民族伟大复兴!...

