HTTP与HTTPS简介



HTTP协议(HyperText Transfer Protocal):即超文本传输协议,是一种发布和接收HTML页面的方法.
HTTPS协议(HyperText Transfer Protocal over Secure Socket Layer):可理解为HTTP的安全版,即在HTTP协议的基础上添加了SSL层.
SSL(Secure Sockets Layer安全套接子层):主要用于WEB的安全传输,可以在传输层对数据进行加密.由netscape公司提出.
协议端口号:HTTP:80HTTPS:443爬虫的工作原理:网络爬虫的抓取过程可以理解为模拟浏览器操作的过程浏览器的主要功能是向服务器发出请求,并在窗口中显示服务器返回的资源.

HTTP的请求与响应:HTTP通信有两部分组成:客户端请求消息服务器响应消息
浏览器发送HTTP请求的过程:当用户在地址栏中输入一个URL并且回车的时候,浏览器会向HTTP服务器发送HTTP请求,HTTP请求最长用的是GETPOST方法浏览器发送Request请求去获取服务器端的HTML文件,服务器则返回一个Response对象.浏览器会分析Response中的HTML,发现其中会引用其它文件,如p_w_picpaths css js等,此时浏览器会再次开发云主机域名请求去获取这些资源.当所有的文件全部下载成功后,浏览器会根据HTML的语法结构组成最终的页面.

客户端HTTP请求:客户端发送一个HTTP请求到服务器的格式为:
请求行| 请求头部 |空行 |请求数据下图为请求报文的一般格式:
一个典型的HTTP请求示例: 一般在抓出数据时,不对数据做压缩处理,即注释掉下面一行:请求方法:
HTTP请求有多种方法,但是最为常用的为GET POST两种方法:
GET是从服务器上获取数据,POST是向服务器上传送数据GET请求的参数都显示在浏览器网址上,HTTP服务器根据请求所包含的参数来产生响应内容,即GET请求的参数会成为URL的一部分.POST请求参数存于请求体中(一般在表单中),消息长度没有限制而且以隐式的方式进行传送,通常用来向服务器提交信息量比较大的数据,请求的参数包含在”Content-Type”消息头中,指明该消息的媒体类型和编码.一般不使用GET方式提交表单,因为可能显示的暴露敏感信息

常用的请求报头: 1.HOST(主机号及端口号):对应网址URL中的WEB名称和端口号,用于指定被请求资源的Internet主机号和端口号.2.Connection(链接类型):表示客户端与服务器的连接类型3. Upgrade-Insecure-Requests(升级为HTTPS请求):升级不安全的请求,意思会在加载HTTP资源时自动替换成HTTPS请求,让浏览器不再显示HTTPS页面中的报警4.User-Agent(浏览器名称)5.Accept(文件传输类型):指浏览器或其它客户端可以接受的MIME(多用途互联网邮件扩展)类型,服务器可以根据它判断并返回适当的文件格式.Accept:*/*表示什么都可以接收p_w_picpath/gif表示图片6.Referer(页面跳转处):表明产生请求的网页来自于哪个URL,用户是从该Referer页面访问到当前请求的页面.这个属性可以用来跟踪WEB请求来自哪个页面,来源网站等.
有时会遇到下载某网站图片时,需要使用对应的referer ,否则无法下载图片,这是因为该网站做了防盗链,原理是根据referer判断是否是本网站的地址,如果是则可以下载,不是则拒绝.
7.Accept-Encoding(文件编解码格式):指浏览器可以接受的编码方式.编码方式不同于文件格式,它是为了对文件进行压缩以加快文件的传输速度.浏览器在接收到WEB响应之后先解码,然后再检查文件格式.

8.Accept-Language(语言种类):指出浏览器可以接受的语言种类,如en或en-us或zh-cn等.当服务器能够提供一种以上的语言版本时要用到.

9.Accept-Charset(字符编码):指浏览器可以接受的字符编码,如果在请求消息中没有设置这个域,缺省是任何字符集都可以接受.

10.Cookie:浏览器用这个属性向服务器发送cookie,cookie是在浏览器中寄存的小型数据体,它可以记录和服务器相关的用户信息,也可以用来实现会话功能.
11.Content-Type(post数据类型):POST请求里用来表示的内容类型

服务器端HTTP响应:HTTP响应也由四个部分组成,分别是:状态行消息报头空行响应正文
常见的状态码:
100-199:表示服务器成功接收部分请求,要求客户端继续提交其余请求才能完成整个处理过程200-299:表示服务器成功接收请求并已经完成整个处理过程300-399:为完成请求,客户需进一步细化请求.列如请求的资源已经移动到一个新地址(302表示所请求的页面已经临时转移至新的URL 307和304表示使用缓存) 400-499:客户端请求有误(404:服务器找不到相关页面 403服务器拒绝访问,权限不够) 500-599:服务器端出现错误,常用500(请求未完成服务器未知情况)
Cookie和Session:客户端和服务器之间的交互仅限于请求和响应,结束之后就会断开,下次交互会被认为是新的连接,为了让服务器记录此用户的状态,必须找一个地方来记录用户的信息
Cookie:通过在客户端记录的信息来确认身份
Session:通过在服务器端记录的信息来确认身份

相关推荐: DELL EqualLogic PS6100存储数据恢复方法和结构详解

DELL EqualLogic PS6100采用虚拟ISCSI SAN阵列,为远程或分支办公室、部门和中小企业存储部署带来企业级功能、智能化、自动化和可靠性,支持VMware、Solaris、Linux、Mac、HPux、AIX,支持所有带有业界标准iscsi…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 03/30 09:56
下一篇 03/30 09:57