HTTP与HTTPS简介
admin
2023-03-15 05:41:06
0


HTTP协议(HyperText Transfer Protocal):

    即超文本传输协议,是一种发布和接收HTML页面的方法.

HTTPS协议(HyperText Transfer Protocal over Secure Socket Layer):

    可理解为HTTP的安全版,即在HTTP协议的基础上添加了SSL层.


SSL(Secure Sockets Layer安全套接子层):

    主要用于WEB的安全传输,可以在传输层对数据进行加密.由netscape公司提出.


协议端口号:

  • HTTP:80

  • HTTPS:443

爬虫的工作原理:

    网络爬虫的抓取过程可以理解为模拟浏览器操作的过程

    浏览器的主要功能是向服务器发出请求,并在窗口中显示服务器返回的资源.


HTTP的请求与响应:

HTTP通信有两部分组成:客户端请求消息服务器响应消息HTTP与HTTPS简介


浏览器发送HTTP请求的过程:

  1. 当用户在地址栏中输入一个URL并且回车的时候,浏览器会向HTTP服务器发送HTTP请求,HTTP请求最长用的是GETPOST方法

  2. 浏览器发送Request请求去获取服务器端的HTML文件,服务器则返回一个Response对象.

  3. 浏览器会分析Response中的HTML,发现其中会引用其它文件,如p_w_picpaths css js等,此时浏览器会再次请求去获取这些资源.

  4. 当所有的文件全部下载成功后,浏览器会根据HTML的语法结构组成最终的页面.



客户端HTTP请求:

    客户端发送一个HTTP请求到服务器的格式为:

    请求行| 请求头部 |空行 |请求数据

    下图为请求报文的一般格式:

HTTP与HTTPS简介

    一个典型的HTTP请求示例:

GET https://www.douban.com/ HTTP/1.1
Host: www.douban.com
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3253.3 Safari/537.36
Upgrade-Insecure-Requests: 1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,p_w_picpath/webp,p_w_picpath/apng,*/*;q=0.8
#Accept-Encoding: gzip, deflate, br
Accept-Language: zh,en-US;q=0.9,en;q=0.8,zh-TW;q=0.7,zh-CN;q=0.6
Cookie: bid=2MYBpxuz2yQ; __yadk_uid=bxInROHOuKKEb7tkiSiEZygLYuYP2kxO; gr_user_id=14916ea7-aee0-43ad-83ee-7a236df37d47; viewed="20451827_25861795"; _vwo_uuid_v2=C055442D3B3854F97DDE6AC4D757E5BC|34b0bccb8c4f1faab1336ba5e19cea3c; ll="108288"; _ga=GA1.2.310445079.1508424221; ps=y; push_noty_num=0; push_doumail_num=0; __utmv=30149280.14370; ap=1; __utmz=30149280.1509712941.8.4.utmcsr=baidu|utmccn=(organic)|utmcmd=organic; _pk_ref.100001.8cb4=%5B%22%22%2C%22%22%2C1509723845%2C%22https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3DMLpogEZkCppQDqzj-PhnXBPTzkvUx6DiIQSWuIdGr7pLuzgf-AdrA2UCWYNaYEjf%26wd%3D%26eqid%3Dfb0db111000170200000000359fc642a%22%5D; _pk_id.100001.8cb4=280d7bc2f732b51c.1508424213.8.1509723845.1509712941.; _pk_ses.100001.8cb4=*; __utma=30149280.310445079.1508424221.1509712941.1509723846.9; __utmc=30149280; __utmt=1; __utmb=30149280.1.10.1509723846

   一般在抓出数据时,不对数据做压缩处理,即注释掉下面一行:

Accept-Encoding: gzip, deflate, sdch, br

请求方法:

    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响应也由四个部分组成,分别是:状态行 消息报头 空行 响应正文


HTTP与HTTPS简介

    常见的状态码:

  • 100-199:表示服务器成功接收部分请求,要求客户端继续提交其余请求才能完成整个处理过程

  • 200-299:表示服务器成功接收请求并已经完成整个处理过程

  • 300-399:为完成请求,客户需进一步细化请求.列如请求的资源已经移动到一个新地址(302表示所请求的页面已经临时转移至新的URL  307和304表示使用缓存)   

  • 400-499:客户端请求有误(404:服务器找不到相关页面  403服务器拒绝访问,权限不够) 

  • 500-599:服务器端出现错误,常用500(请求未完成 服务器未知情况)


Cookie和Session:

    客户端和服务器之间的交互仅限于请求和响应,结束之后就会断开,下次交互会被认为是新的连接,为了让服务器记录此用户的状态,必须找一个地方来记录用户的信息

Cookie:通过在客户端记录的信息来确认身份

Session:通过在服务器端记录的信息来确认身份



相关内容

热门资讯

中国发布禁令,禁止美国制裁中国... 2026年4月24日美国发布公告,把中国5家石化企业列入制裁名单,理由是参与或协助伊朗的石油交易,引...
电力系统母线安全保护领域取得关... (来源:中国电力新闻网) 转自:中国电力新闻网 近日,山西铝业自主研发的《弧光保护系统安装优化方法、...
第三届“探索雅安·阅见美好”阅... 近日,由雅安市图书馆主办的第三届“探索雅安·阅见美好”阅读打卡活动在市区三雅园及雅安市图书馆开展。 ...
实验型真空冷冻干燥机选型指南:... 导语:实验型真空冷冻干燥机作为科研、高校及企业研发环节的关键设备,其性能稳定性直接影响物料干燥效率与...
丁薛祥调研华为芯片基础技术研究... 5月8日晚,中央电视台《新闻联播》播出了一则重量级画面:中共中央政治局常委、国务院副总理丁薛祥到访华...
王自如公布智能指环项目 售价或... 【CNMO科技消息】5月9日,据CNMO科技了解,王自如近日通过视频展示其研发的智能指环产品,该产品...
“190元榴莲遭仅退款”商家直... 近日,河南濮阳一销售冷冻榴莲果肉商家在网络平台发视频称,自家生意遭遇买家恶意“仅退款”。虽然售卖榴莲...
一名中国公民被印度边防部队拘捕... 近日,一名在尼泊尔的中国公民在尼泊尔、印度边境地区因误入印境内被印边防部队拘捕。驻加尔各答总领馆再次...
凤凰直击东盟峰会:菲方推海事中... 5月8日,第48届东盟峰会落幕。菲律宾提出设立“东盟海事中心”的倡议,成为本届峰会焦点之一。菲律宾总...
快30岁,还不像个大人,我们怎... 2025年,邓鹭下定决心裸辞。此后长达一年的gap时间里,她频繁觉得自己像漂在海上,且不知靠岸何处。...